1、字符串的认识
1.1 字符和字符串
字符串:使用单引号或者双引号引起来的字符集。
字符:引号单独引起来的字母、数字、符号
1.2 转义字符
n-->换行
\-->''
\t-->制表符
"-->"\
注意:转义字符在计算字符串长度的时候,转义字符代表一个字符
str='\'' #转义字符的应用
print(str)
# '
1.3 Unicode编码
Unicode编码:使用16位对一个字符进行编码。编码让字符可以存储到计算机中
python中字符串中的字符是Unicode编码
Unicode码中包含了ASSCII码,可以表示世界上所有语言符号。
ord(字符): 获取一个字符的unicode编码
print(hex(ord("唐"))) #转换成16进制
# 0x5510
ord1 =ord('A')
print(hex(ord1))
# 0x41
- chr(编码值): 将unicode码转换成字符
print(chr(0x4e08))
# 丈
2、字符串的获取
2.1 获取字符串的单个字符
a 、len是获取序列长度的内置函数
count=len('abc\n123')
print(count) #7
b、通过下标获取字符串中的某一个字符,下标从零开始。
str1='abc'
print(str1[0]) #a
print(str1[1]) #b
str2='dy\nup'
# 取P
print(str2[4])
print(str1[-1]):获取字符串中的最后一个
注:下标的范围:0~字符串长度 -1~-字符串长度
获取字符的时候,索引值不能超出索引范围,否则会报错
str1='abc'
print(str1[3]) IndexError: string index out of range
2.2 获取字符串的部分字符
字符串[开始下标:结束下标]-->获取字符串从开始下标到结束下标前的所有字符(左闭右开)
str3='hello python'
print(str3[6:12])
#python
注:1.开始下标对应的字符,要在结束字符下标对应的前面
2.开始下标和结束下标都要有值
a.开始下标省略:从字符串的最前面取到结束下标前
str3='hello python'
print(str3[:4]) #hell
b.结束下标省略:从字符开始位置取到字符串最后
str3='hello python'
print(str3[4:])
# o python
c.开始下标和结束下标都省略:获取整个字符串的内容
字符串[开始下标:结束下标:步进]-->从开始下标开始每‘步进’个取字符
# f:每两个取一个
str3='hello python'
print(str3[::2])
#lopto
(了解)
当步进是负数的时候,开始下标和结束下标的性质相反
print(str3[3::-1]) # 3 3-1=2 1 0 lleh
字符串倒序
print(str3[::-1]) #字符串倒序
3、字符串的运算
3.1 字符串拼接:+
str1='hello'+'python'
print(str1)
#hello python
注意:+号两边要么都是数字,要么都是字符串。不能是一个数字,一个字符串
3.2 让字符串重复: *
str1='abc'*3
print(str1)
#abcabcacb
3.3 判一个字符在不在另一个字符中:in
字符串1 in 字符串2 :判断字符串1是否在字符串2 中--->在是true,不在是false
result='a' in 'abc'
print(result)
#true
3.5 格式字符串
格式:'占位符1 占位符2'%(值1,值2)
%s--->字符串占位符
%d--->整数占位符(格式符)
%f--->浮点数占位符
%c--->长度是1的字符串占位符(字符占位符)
str3='-%s-%d-%f-%c'%('我是\字符串',123,12.3,'k')
print(str3)
#-我是\字符串-123-12.300000-k
%.nf: 使用n值限制小数点后面的小数位数(默认六位小数)
str4='金额:%.2f' %(100)
print(str4)
# 金额:100.00
%x和%X--> 十六进制数据占位符
number=100
# xxx是十六进制是
str6='%d的十六进制是0X%x'%(number,number)
print(str6)
# 100的十六进制是0X64
3.6 格式化输出
name='唐明珠'
age=18
# xx今年xx岁
print('%s今年%d岁'%(name,age))
# 唐明珠今年18岁
%e:用科学计算法格式化浮点数
number1=1.8
print('我的身高是%e米'%(number1))
# 我的身高是1.800000e+00米
%g:浮点数和科学计算法的简写
number2=1.8
print('我的身高是%g米'%(number2))
# 我的身高是1.8米
3、字符串相关函数
** capitalize()**:将字符串的首字母大写,并创建一个新的字符串
str1 ='abc'
new_str=str1.capitalize()
print(str1,new_str)
# abc Abc
center(width,fillchar) :将原字符串变成指定的长度并居中,剩下的部分用指定内容填充
new_str=str1.center(10,'*')
print(str1,new_str)
# abc ***abc****
rjust(width,fillchar) : 将原字符串变成指定的长度并居右对齐,剩下的部分用指定内容填充
# 产生学号
number=9
num_str=num_str.rjust(3,'0')
new_str='py1805'+num_str
print(new_str)
# py1805009
ljust(width,fillchar) : 将原字符串变成指定的长度并居左对齐,剩下的部分用指定内容填充\
str='i'
new_str=str.ljust(5,'*')
print(new_str)
# i****
str(数据):将其他任何数据转换成字符串
num_str=str(number)
print(num_str,type(num_str))
# 9 <class 'str'>
字符串1.join(字符串2): 在字符串2中的每个字符之间插入字符1
new_str='aa'.join('bbb')
print(new_str)
# baaabaaab
4、if语句
if语句
结构:
if 条件语句:
条件语句结果为True执行的代码块
执行过程:先判断条件语句是否为true,如果为true就执行if语句后:后面对应的一个缩进的所有代码块
为f中的代码块alse,就不执行冒号后面的一个缩进,直接执行后续的其他语句
条件语句:可以是任何有值IDE表达式,但是一般是布尔值
if:关键字
if True:
print('代码1')
print('代码2')
print('代码4')
练习:用一个变量来保存时间(50米短跑),如果时间小于8秒,打印及格
time=7
if time<=8:
print('及格') #只有条件成立时才会执行
print(time) #不管if条件成立与否,这个语句都会执行
# 及格
# 7
if 条件语句:
语句块1
else:
语句块2
执行过程:先判断条件语句是否为true,如果为true执行语句块1
否则执行语句块2
练习:用一个变量来保存成绩,如果时间小于60,打印不及格否则打印及格
if score<60:
print('不及格')
else:
print('及格')
# 及格