01-运算符
02-运算符优先级
03-字符串
04-print函数的使用
05-字符串的内置函数
01-运算符
运算符:算术运算符、比较运算符、赋值运算符、逻辑运算符
1.2比较运算符
比较运算符:>、<、>=、<=、==、!=
比较运算符的结果是bool值(True or False)
print(10>=5)
print(10>=10)
print('abc'>='aba')
输出:
True
True
False
tips:字符串比较是从第一字符开始依次比较,直到得出结果
1.3赋值运算符
赋值运算符:=、+=、-=、=、/=、%=、//=、*=
a+=10 即是a=a+10
1.4逻辑运算符
逻辑运算符:and、or、not
逻辑运算符中表达式的值都是bool值
grade = 9.0
score = 70
# 奖学金要求:绩点大于8.5 或者操评大于90
result = grade > 8.5 or score > 90
print(result)
02-运算符优先级
赋值运算符<逻辑运算符<比较运算符<加减<乘、除、取余、取整、幂运算<+(正号)、-(负号)
03-字符串
字符串:由单引号或者双引号括起来的文本
3.1python的字符串都是Unicode字符串
Unicode编码:就是一种对字符的编码方式,将字符编码成对应的数字,方便计算机存储。
Unicode编码又叫万国码,支持目前几乎所有的语言文字编码
Unicode包含ASCII码(美国出的编码方式,仅支持英语)
数据存储到计算机中是以2进制的形式存的(二进制是数字)将Unicode码转换成字符
char=chr(0x4e01)
print(char)
将字符转换成Unicode码(结果是10进制的形式)
code=ord('聂')
print(hex(code)) #王=0x738b,虎=0x864e,聂=0x8042
for x in range(0x4e00,0x9FA5):
print(chr(x),end='')
字符串比较大小的时候,实质就是比较字符的Unicode码的大小
3.2字符串的长度
长度:就是指字符串中字符的个数
'abc' #长度为3
' yu' #长度为3 ,空格也算一个
len(字符串):获取字符串的长度
str1 = '你好 //// '
length = len(str1)
print(length)
3.3获取字符/子串(字符串中的一部分)
str1 = 'Hello,Python'
a.获取某一个字符
格式:字符串变量[下标]
下标:从0开始的数字,代表的是某一个字符在字符串重大偏移量(位置)(范围:0-(字符串长度-1))
下标也可以是负数
print(str1[9]) #value=h,偏移量为9,从0开始数的第10个字符
print(str1[-2]) #获取倒数第二个字符
print(str1[20]) #IndexError: string index out of range 索引错误:字符索引超出范围
print(str1[len(str1)-1]) #获取最后一个字符
b.获取字符串中某一部分的字母(获取子串)
格式:字符串变量[开始下标:结束下标] --->获取从开始下标到结束下标前的所有字符
str1 = 'Hello,Python!' # 注意:开始下标对应的字符可以取到,结束下标对应的字符是取不到的
print(str1[1:4]) # ell = 获取从下标是1对应的字符开始,到下标是(4-1)的所有字符
print(str1[6:10])
开始下标不写,默认是0
print(str1[:5]) #获取从开始到下标是4为止的所有字符
print(str1[::3]) #隔两个字符取一次!!!!!!
结束下标不写,就会取到最后一个字符
print(str1[-4:]) # value = hon!
开始下标对应的字符在结束下标字符的后面,就取不到(不能倒着取)
print(str1[5:1])
print(str1[:]) #value = Hello,Python!
3.4字符串的运算符:+,*,in,not in,
+:字符串中的+操作,就是字符串连接
str2 = 'aaa' + 'bbb'
print(str2) #value = aaabbb
str1 = 'Hello'
str2 = 'World'
str3 = str1 + '\t' +str2
print(str3)
str2 +='!' #str2 = str2 + '!'
print(str2)
*:字符串中的*操作,就是字符串重复多少次
str1 = 'abc' * 3 # abc重复3次
print(str1)
字符串 in 字符串2:判断字符串2中是否包含字符串1
str1 = 'Hello'
print('He' in str1) #判断'He'是否在str1里面
字符串1 not in 字符串2:判断字符串1是否不在字符串2中
print('ae' not in str1) # value = True
04-print()函数的使用
print()函数可以打印括号中的任何内容
调用print函数打印完后会换行
print(10)
print('aaa')
同时打印多个内容(多个内容间用逗号隔开);打印的时候,多个内容之间是用一个空格隔开
print('aaa',100,'ccc') #value = aaa 100 ccc
4.1格式化输出
print('%s %d %c'%(var1,var2,var3)):输出字符串的时候,使用字符串格式符表示变示;然后在%后面的括号里面,依次使用表达式给前面的字符串格式符赋值
%s:字符串 ;%d:整数 ;%f:浮点数; %c:字符
我是XXX,今年XX岁
name = '张山'
age = 28
print('我是%s,今年%d岁'%(name,age))
%f; %.3f : 保留小数点的后三位
print('余额:%f万元'%(10.25)) #value=余额:10.250000万元
print('余额:%.3f万元'%(10.25)) #value=余额:10.25万元
python中的字符,就是指长度是1的字符串,也可疑以是Unicode码
print('%c'%('a')) #打印的是a
print('%c'%(97)) #value = a
print('%c'%(0x738b)) #value = 王
%o:输出八进制
print('%o'%(10)) #value = 12
%X/%x:输出十六进制
print('%x,%X'%(59,59)) #value = 3b,3B
我是xxx,今年xx岁
name = '张三'
age = 28
print('我是',name,',今年',age,'岁') #value = 我是 张三 ,今年 28 岁 但是,内容之间有空格
print('我是'+name+',今年'+age+'岁')
注意:加号两边只能都是数字或者都是字符串,不能一个数字一个字符
###4.2设置print函数的sep参数,可以改变print函数在同时打印多个内容时的分隔符(默认是空格)
print('我是',name,',今年',age,'岁',sep='') #value = 我是张三,今年28岁 没有间隙
print('aa',100,'bbb',sep = '--') #value = aa--100--bbb 以'--'隔开
###4.3设置print函数的结束字符串,默认是'\n',可用end来设置
print('Hello',end=' morning ')
print('World') #value = Hello morning World
注意:设置sep和end参数,只是当次有效;实际就是调用一次函数
#05-字符串的常用内置函数
###5.1capitalize() 将字符串的第一个字符转换为大写(不是改变原来的字符串,而是返回一个新的字符串)
str1 = 'python student'
newstr = str1.capitalize()
print(str1,newstr) #value = python student Python student
单词的区分,和英语区分单词的方式是一样的(以空格或者标点符号分开的字符串)
###5.2title() 将字符串中每个单词的首字母变成大写(不是改变原来的字符串,而是返回一个新的字符串)
newstr = str1.title()
print(str1,newstr) # value = python student Python Student
###5.3center(width,fillchar):将字符串变成指定的长度,并且原字符串内容居中,剩余的位置使用指定的字符fillchar填充
str1 = 'abc'
newstr = str1.center(12,'*')
print(newstr) # value = ****abc*****
```import re
name = '\tJon \nSnow\t'
print(name)
# output:
# Jon
# Snow
regex = re.compile(r'\s', re.DOTALL) #正则表达式,后面会学到
name = regex.sub('*', name) #以*号代替空格便于查看
print(name)
# output:
# *Jon**Snow*
5.4 lstrip('*') #截掉字符串左边的空格或指定字符,()不写默认截掉空格
name1 = name.lstrip('*') #
print(name1)
# output
# #Jon
#Jon**Snow*
5.5 rstrip('*') #截掉字符串右边的空格或指定字符
name2 = name.rstrip('*')
print(name2)
# output
# *Jon**Snow
5.6strip('*') #对字符串执行lstrip()和rstrip()
name3 = name.strip('*')
print(name3)
# output
# Jon**Snow
5.7replace(str1,str2) #用str2代替str1
name4 = name.replace('*','')
print(name4)
# output
# JonSnow
5.8split('',4) 以''为分割符截取字符串,且子字符串数量最多是4个
name5 = name.split('*',4)
print(name5)
# output
#['', 'Jon', '', 'Snow', '']
5.9zfill(15) #返回长度为15的字符串,原字符串右对齐,左边以0填充
name6 = name.zfill(15)
print(name6)
# output
# 0000*Jon**Snow*
网友评论