目录
一.整数(int)
1. int
简单来说就是负无穷到正无穷之间的整数,比如-2、-1、0、1、2等等
print(1)
二.浮点数
1. 浮点数
浮点数可以理解为小数,比如3.14,5.12
print(1.2)
三.字符串(str)
1. str
Python中凡是用
引号(' , ")
引起来的数据可以称为
字符串类型
,组成字符串的
每个元素
称之为
字符
,将这些字符一个一个连接起来,然后在用引号起来就是字符串。
print('1'=="1") #结果为True
2. 字符串的【索引、切片和步长】
2.1索引:
索引:s[ ] 通过索引获取到的内容 【
还是一个字符串
】
起始下标(从左到右)是
0
, (从右到左)是
-1
s = "adsfagfgdhy"
print(s[-2]) #h
2.2切片:
切片: s[起始位置: 结束位置] 切片可以对字符串进行截取 特点:
顾头不顾腚
s1 = "adsfagfgdhy"
print(s1[3:7]) #fagf
#其它用法
s2 = "adsfagfgdhy" #默认切到结尾
print(s2[5:]) #gfgdhy
s3 = "adsfagfgdhy" #从头开始切
print(s3[:9]) #adsfagfgd
s4 = "adsfagfgdhy" #从头到尾切出来
print(s4[:]) #adsfagfgdhy
s5 = "adsfagfgdhy" #从-2切到结尾,默认是从【左】往右切
print(s5[-2:]) #hy
s6 = "adsfagfgdhy" #从开始切到-2
print(s6[:-2]) #adsfagfgd
2.2步长:
语法:s[起始位置: 结束位置: 步长]
步长:步长>0,从左往右取.步长<0.则从右往左取.
默认是1
s1 = "adsfagfgdhy" #从2开始,到5结束 每3个取一个
print(s1[2:5:3]) #s
#步长>0字符串正向取,步长<0字符串反向取
s2 = "adsfagfgdhy" #【- 表示反着取】.每1个取1个
print(s2[6:2:-1]) #fgaf
s3 = "adsfagfgdhy" #反向从y开始, 到g结束(遵循顾头不顾腚), 每2个取1个
print(s3[-1:-5:-2]) #yd
#尾省略时,步长>0字符串正向取,步长<0字符串反向取
s4 = "adsfagfgdhy" #从3开始到结束【-反向取】, 每2个取1个
print(s4[3::-2]) #fd
#当步长大于索引范围时,取到的字符串只有以首开头的单个字符
s5 = "adsfagfgdhy"
print(s5[-2::3]) #7
s6 = "adsfagfgdhy"
print(s6[2:6:4]) #s
3.字符串的常用操作
字符串是不可变的对象,任何操作对
原
字符串是不会有任何影响的
#首字母大写
s1 = "nidayeshiQddp"
print(s.capitalize()) #Nidayeshiqddp
#全部转换成大、小写
s2 = "nidayeshiQddp"
print(s2.upper()) #全大写NIDAYESHIQDDP
print(s2.lower()) #全小写nidayeshiqddp
print(s2.casefold()) #转换成小写 和lower的区别casefold对所有字母有效
#大小写相互装换
s3 = "nidAyeshiQddp"
print(s3.swapcase()) #NIDaYESHIqDDP
#每个被特殊字符或数字隔开的字母首字母大写
s4 = "nie 大i ld4dp" #【中文也算特殊字符】
print(s4.title()) #Nie 大I Ld4Dp
#居中
s6 = "niddp"
print(s6.center(15,"*")) #*****niddp***** 拉⻓长成15,把原字符串放中间,其余位置补*
#去空格
s7 = " niddp "
print(s7.lstrip()) #niddp 去掉左边空格
print(s7.rstrip()) # niddp去掉右边空格
print(s7.strip()) #niddp去掉全部空格
#去掉指定元素【strip去掉的是左右两端的内容,中间的不管】
s8 = "nisggddpn"
print(s8.strip("n")) #isggddp
#把字符串中的'\t'转为空格,'\t'默认的空格数是 8
s9 = 'alex\tsir'
print(s9..expandtabs()) #alex sir
#字符串替换
s10 = "nisggddpn"
print(s10.replace("n","d")) #disggddpd
#字符串切割 默认以空格符作为分隔符 被切割掉的不会打印出来最终以【列表】的形式返回
s10 = "nispgddpn"
print(s10.split("p")) #['nis', 'gdd', 'n']
#【如果切割符在左右两端.那么一定会出现空字符串.深坑请留意】
s10 = "nispgddpn"
print(s10.split("n")) #['', 'ispgddp', '']
#格式化输出
s11 = "我叫%s,今年%d岁了,我喜欢%s" %('sylar',18,'xiaoyuan')
print(s11)
name = "aliax"
age = 18
like = "xiaozhou"
print( f"我叫{name},今年{age}岁了,我喜欢{like}")
s12 = "我叫{},今年{}岁了,我喜欢{}" .format('sylar',18,'xiaoyuan')
print(s12)
s13 = "我叫{0},今年{2}岁了,我喜欢{1}" .format('sylar','xiaoyuan',18)
print(s13)
s14 = "我叫{name},今年{age}岁了,我喜欢{like}" .format(name='sylar',like='xiaoyuan',age=18)
print(s14)
#判断以XXX开头、以XXX结尾
s15 = "我叫sylar,我喜欢python,java,c等编程语言。"
print(s15.startswith("syLar")) #false
print(s15.startswith("我叫sylar")) #true
print(s15.endswith("语言")) #false
print(s15.endswith("语言。")) #true
#查找出现的次数
s16 = "nisgnddpn".count("n")
print(s16) #8
#查照出现的位置【以最先找到的为准】
s17 = "nisgnsdpn".find("s")
print(s17) #2
#索引位置【拿到最先索引到的字符串】
s18 = "nisgnsdpn"
print(s18.index("n")) #2如果找不到索引,程序会报错
print(s18.index("g",2,5)) #3切片找s18字符串(2,5)的位置上g在哪
#计算字符串长度
s19 = 'alexWUsir'
print(len(s19)) #9
# is
s20 = "dj2Ri35p"
print(s20.isalnum()) #True判断是否由字母和数字组成
print(s20.isalpha()) #False判断是否由字母组成
print(s20.isdigit()) #False判断是否由数字组成,不包括小数
# in的两种用法 在for中,
# for循环获取字符串的每一个字符
#语法:for 变量 in 可迭代对象:
# 循环体
s21 = "nbinfiahhi"
for c in s21: #把s中的每一个字符交给前面的c。
print(c, end="") #nbinfiahhi
#不在for中,判断xxx是否出现在str中.
s22 = 'nds大inf'
if '大' in s22:
print('Yes')
四.布尔(bool)
1.bool
布尔类型有两个值,分别是True和False
布尔类型用于判断,当判断
成立
时,得到
True
的值,反之
返回False
值。例如
==
表示判断相等
#int —> bool 只要是0 —>就是False 非0就是 —> Ture
i = -1
b = bool(i)
print(b) #True
#str —> int
s = '123'
i = int(s)
print(i) #123
s1 = '123e'
i1 = int(s1)
print(s1) #报错,只有整数才能被转换为int
#str —> bool 只要是非空str就是Ture 空str就是False
s = bool('')
s1 = bool('0')
print(s,s1) #False True
#bool —> int
b = False
i = int(b)
print(i) #0
五.运算符
1 算术运算符,包括+、-、、/、%(取余数)
2.比较运算符,包括==,!=,,<=,>=,比较运算符的结果就是布尔值True或者False
3.赋值运算符,包括=,+=,-=,=,/=
4.逻辑运算符,包括and,or,not。需要十分注意的是,
三种逻辑运算符都是对布尔值进行运算才有合理结果
a=1
b=0
print(a and b)#0
a=True
b=False
print(a and b)#Flase
print((1==1)or(1==2))#True
没有()的情况下not优先级高于and,and优先级高于or,即优先级关系为()>not>and>or,同一优先级从左往右计算。
() and or not同时存在. 先算括号, 然后算not, 然后算and , 最后算or