千锋的第三天
一、字符串
(1)认识字符串
a.用单引号或者双引号括起来的字符集就是字符串
b.引号中单独的符号、数字、字母等叫字符
c.转义字符:可以用来表示一些有特殊功能或者是特殊意义的字符(通过在固定的字符前加)
'--->' 、\--->\ 、\n---->换行 、\t----->制表符 、"----->"
在计算字符串长度的时候,转义字符代表一个字符
str='可叹停机德,\'堪怜咏絮才'
print(str)
ab=ord('王')
print(ab)
print(chr(200000))
abc='\''
print(abc)
str1='jhsjchj'
str2="hjchdjhsd"
print(str1)
print(str2)
str3='\''
print(str3)
str4='\\'
print(str4)
str5='\n'
print(str5)
str6='\t'
print(str6)
str7='\"' #str7='\"'
print(str7)
str8=r'\''
print(str8)
运行结果:可叹停机德,'堪怜咏絮才
29579
𰵀
'
jhsjchj
hjchdjhsd
'
\
"
\'
(2)阻止转义
Python中可以通过在字符串前面加r或者R来阻止转义字符转义
str1=r'\\'
print(str1)
运行结果:\\
(3)Python中字符串中的字符是Unicode编码
- Unicode码是十六位的对一个字符,一般是八位对一个字符
- Unicode码包含了ASSCII码,可以表示所有的语言
- 用ord()函数获取一个字符的Unicode码
ord1=ord('a') #先提取出字符a的unicode码,再赋值给变量ord1
print(ord1,bin(ord1),oct(ord1),hex(ord1))
运行结果:97 0b1100001 0o141 0x61
- 用chr()函数将Unicode码转换成字符
**注意:chr()函数括号中必须是十进制、八进制、二进制、十六进制的数字,不能是其他东西,否则会报错。
print(chr(0x45))
运行结果:E
二、获取字符串的字符
1、字符串的长度
字符是一个有序的字符序列,可以同过len()函数来获取字符串的长度(字符串的长度实质是字符串的个数)
str1='adhdj\nkds'
print(len(str1))
运行结果:9
2、通过下标获取字符串中的某一个字符
格式:字符[下标]
a.顺序获取
str1='abcd'
print(str1[2]) #获取第三个字符c,因为python从0开始计数
运行结果:c
**注意:Python从0开始计数
b.逆序获取
str1='abcd'
print(str1[-1]) #获取最后一个字符,逆序从-1开始
运行结果:d
c、获取片段(切片)
格式:字符串[开始下标:结束下标]----->包含开始下标,不包含结束下标
- a.要求:开始下标对应的字符一定要在结束下标对应的字符前面(步进是正数)
str1='wang gang'
print(str1[1:6])
结果:ang g
- b.开始下标省略:从字符串的最前面取到结束下标前
str1='wang gang'
print(str1[:6])
结果:wang g
- c.结束下标省略:从开始的位置取到字符串结束
str1='wang gang'
print(str1[1:])
结果:ang gang
- d.两个都省略:获取字符串的整个内容
str1='wang gang'
print(str1[:])
结果:wang gang
- e.步进的长度代表每几个取一个字符,默认为1
str1='wang gang'
print(str1[::2])
结果:wn ag
- f.步进是复数的时候,开始下标和结束下标的性质相反,步进为复数是倒着取回来
str1='wang gang'
print(str1[5:1:-1])
结果:g gn
三、字符串的运算
1.+ :字符串拼接
格式:字符串1+字符串2
str1='wang gang'+'zhang min'
print(str1)
结果:wang gangzhang min
*注意:+ 两边要么都是数字,要么都是字符串,不能是一个数字一个字符串
2.* :让字符串重复
格式:字符串*正数
str1='wang gang'*5
print(str1)
结果:wang gangwang gangwang gangwang gangwang gang
3.in
格式:字符串1 in 字符串2
功能是判断字符串1是否在字符串2中---->在就是True,不在就是False
result='wang' in 'wang gang'
print(result)
结果:True
4.not in
格式:字符串1 not in 字符串2
功能是判断字符串1是否不在字符串2中---->不在就是True,在就是False
result='zhang' not in 'wang gang'
print(result)
结果:True
5.格式字符串
%s--->字符串占位符(格式符)
str1='abcf%ssjfh' %('wang')
print(str1)
结果:abcfwangsjfh
%d--->整数占位符(格式符)
str1='马云爸爸的财产:%d亿元' %(1000)
print(str1)
结果:马云爸爸的财产:1000亿元
%f--->浮点数占位符(格式符)
str1='π的值是%f' %(3.141592)
print(str1)
结果:π的值是3.141592
%c--->长度是1的字符串占位符(字符占位符)
str1='我爱我%c' %('家')
print(str1)
结果:我爱我家
补充:%.nf :使用n值限制小数点后面的小数的位数(默认六位小数)
str1='π的数值是%.1f' %(3.1415926)
print(str1)
结果:π的数值是3.1
6.格式化输出
name1='李雷'
name2='韩梅梅'
time=10000
print('%s love %s %d年' %(name1,name2,time))
结果:李雷 love 韩梅梅 10000年
四、if语句
1.
if条件语句:
条件语句结果为True执行的代码块
执行过程:先判断条件语句是否为True,如果为True就执行if语句后:后面对应的一个缩进的所有的代码块;如果为False,就不执行冒号后面一个缩进中的代码块,直接执行后续的其他语句
score=99
if score>98:
print('100分才是你的归宿')
print(score)
结果:100分才是你的归宿
99
2.
if条件语句:
语句块1
else:
语句块2
执行过程:先判断条件语句是否为True,如果是True就执行语句块1,否则执行语句块2
score=59
if score>=60:
print('一颗棒棒糖')
else:
print('请家长')
print(score)
结果:请家长
59
作业:
2-3 个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消息应非常简单,如“Hello Eric, would you like to learn some Python today?”。
name='Eric'
print('Hello'+' '+name+','+' '+'would you like to learn some Python today?')
结果:Hello Eric, would you like to learn some Python today?
2-4 调整名字的大小写: 将一个人名存储到一个变量中,再以小写、大写和首字母大写的方式显示这个人名。
name='victory'
name1=name.lower()
print(name1)
name2=name.swapcase()
print(name2)
name3=name.capitalize()
print(name3)
结果:victory
VICTORY
Victory
2-5 名言: 找一句你钦佩的名人说的名言,将这个名人的姓名和他的名言打印出来。输出应类似于下面这样(包括引号):
Albert Einstein once said, “A person who never made a mistake never tried anything new.”
name='R.M.Nixon'
aphorism='\"Our destiny offers not the cup of despair, but the chalice of opportunity. So let us seize it, not in fear, but in gladness.\"'
print('%s once said,%s' %(name,aphorism))
结果:R.M.Nixon once said,"Our destiny offers not the cup of despair, but the chalice of opportunity. So let us seize it, not in fear, but in gladness."
2-6 名言2: 重复练习2-5,但将名人的姓名存储在变量famous_person 中,再创建要显示的消息,并将其存储在变量message 中,然后打印这条消息。
famous_person='R.M.Nixon'
message='%s once said,\"Our destiny offers not the cup of despair, but the chalice of opportunity. So let us seize it, not in fear, but in gladness.\"' %(famous_person)
print(message)
结果:R.M.Nixon once said,"Our destiny offers not the cup of despair, but the chalice of opportunity. So let us seize it, not in fear, but in gladness."
2-7 剔除人名中的空白: 存储一个人名,并在其开头和末尾都包含一些空白字符。务必至少使用字符组合"\t" 和"\n" 各一次。 打印这个人名,以显示其开头和末尾的空白。然后,分别使用剔除函数lstrip() 、rstrip() 和strip() 对人名进行处理,并将结果打印出来。
name='\tAlbert Einstein\n'
print(name)
name1=name.lstrip()
print(name1)
name2=name.rstrip()
print(name2)
name3=name.strip()
print(name3)
结果:Albert Einstein
Albert Einstein
Albert Einstein
Albert Einstein