数据类型
1为什么要有数据类型
对于不同类型的变量需要用不同的数据类型去描述
常用:数字类型、字符串、列表、字典、布尔值
1.1数据类型的内置方法
1.1.1 整型
-
作用:年龄/身份证号码/身高/体重……
-
定义方式:
y = 10 id_num = 5201314 x = int(10) z = int('10')
-
方法:
print(y+x) print(y-x) print(y*x) print(y/x) print(y%x) print(y//x)
-
存储一个值or多个值:一个值
-
有序or无序:没有有序无序这一说
有序:有索引
无序:无索引
-
可变or不可变:不可变
可变:值变id不变
不可变:值变id也变
1.1.2浮点型
-
作用:钱/商品价格/导弹轨迹计算……
-
定义方式:
x=1.1 y = 2.2 salary = float(3) print(salary)
-
方法:
print(y+x) print(y-x) print(y*x) print(y/x) print(y%x) print(y//x)
-
存储一个值or多个值:一个值
-
有序or无序
-
可变or不可变:不可变
1.1.3字符串类型
-
作用:姓名/性别/……
-
定义方式
-
s = 'sdfklsdjfk' s = b'sdkfljl' # 打印出来的bytes类型,二进制类型,010101010100110100 # 有这种二进制的定义方式,其实一点用都没有print(s)
-
\n 换行 s = 'a\na' # 碰到斜杠了,计算机就清楚下一个字符和\拼接在一起会有特殊的意义 print(s) \t 缩进4个空格 s = 'a\t\ta' print(s) \r 回退上一个打印结果,覆盖上一个打印结果 print('\\ra',end='') # 加一个\让后面的\变得无意义 print('\\ra',end='') s = 'a\\na' print(s) s = r'\ra\t\na' # raw print(s) path = r'D:' print(path) import os path = os.path.join(path,'test.txt') with open(path,'w',encoding='utf8') as fw: fw.write('nick最帅') print(path)
-
-
字符串内置方法(只有字符串类型才能使用)
s = 'nick handsome'
优先掌握
-
索引取值
print(s[1]) 输出:i
-
切片
整数表示从左往右,复数表示从右往左,数值表示步长
print(s[0:4:2]) #索引值0-4 步长为2 输出:nc print(s[-4::-1]) # 不推荐掌握 输出:sdnah kcin print(s[4:0:-1]) #输出: kci
-
for循环
for i in s: print(i) #输出:依次打印i到s之间的数值
-
strip()
s1 = ' nick handsome ' print(s1.strip()) # 去两端的空白 输出:nick handsome s2 = '***!!!!!nick handsome----***' print(s2.strip('-*!')) # 指定多个字符一起去掉,只要strip里面有的字符就全部干掉 #可以清除 print(s2.strip('nick')) # 指定多个字符一起去掉,只要strip里面有的字符就全部干掉 #清除不了 s2.strip('*-!') # 首先判断字符串s的两端字符,为*,再去strip里找有没有*,有就去掉,再去判断字符串s的两端字符,!-,再从strip里面找,有去掉,没有停止去掉
-
split() 切割
s2 = '***!!!!!nick handsome----***' print(s2.split()) # 默认以空格切割字符串 print(s2.split('!')) # 以!切割 print(s2.split('!', 2)) #参数sep:切割符 maxsplit:最大切割数
-
in 或 not in
s2 = '***!!!!!nick handsome----***' print('*' in s2) # True print('$' not in s2) # True
-
长度len
s2 = 'nick handsome' print(len(s2)) # 求字符串的长度 #输出:13
需要掌握
- lstrip() 和 rstrip()
s2 = '***!!!!!nick handsome----***' print(s2.lstrip('*')) #清除左边的 print(s2.rstrip('*')) #清除右边的
-
rsplit()
print(s2.split('*', 1)) #从左边开始分割 print(s2.rsplit('*', 1)) #从右边开始分割
-
lower&upper
s3 = 'aaabbJ' print(s3.lower()) #全部变成小写 print(s3.upper()) #全部变成大写
-
startswith&endswith
s3 = 'aaabbJ' print(s3.startswith('b')) #以b开头 False print(s3.endswith('J')) #以J结尾 True
-
join(用的比较多)一般与split联用
s3 = ' ' print(s3.join(['234', '234', '234'])) # 以s3为间隔符,拼接列表里的每一个元素 s = '辣条/薯片/汽水/泡面/火腿肠/枸杞/当归/鹿茸' s1 = s.split('/') print(''.join(s1))
-
replace 替换
s2 = 'yongjiu handsome' print(s2.replace('yongjiu', 'gebilaowang')) #输出:gebilaowang handsome
-
isdigit(纯数字)/isalpha(纯字母)
s2 = '12312' print(s2.isdigit()) #输出:Ture s3 = 'aaacc' print(s3.isalpha()) #输出:True
了解
- find|rfind|index|rindex|count
s2 = '**23423***ni234234ck $$ hand223423some******' # 01234567891011 print(s2.find('$')) # 从左找,找到第一个停止,找不到返回-1 print(s2.rfind('$')) # 从右找,找到就停止,找不到返回-1 print(s2.index('$')) # 找不到报错 print(s2.rindex('$')) # 找不到报错
-
center|ljust|rjust|zfill
s2 = 'nick handsome' print(s2.center(50, '*')) # 居中 print(s2.ljust(50, '*')) # 居左 print(s2.rjust(50, '*')) # 居右 print(s2.zfill(50)) # 填充0居右
- expandtabs
s2 = 'a\ta' print(s2) print(s2.expandtabs(8)) # 针对\t而言 只有有\t的时候才生效
-
captalize|swapcase|title 只针对英文
s2 = 'harry Potter' print(s2.capitalize()) # 首字母(一句话的开头)大写,其他全小写,用在段落开始 print(s2.swapcase()) # 大小写互换 print(s2.title()) # 所有单词首字母大写
-
4.存储一个值还是多个值:一个值
5.有序or无序:(有索引)有序
6.可变or不可变(重点):不可变
可变:值变id不变
不可变:值边id也变
s2 = 'abc'
print(id(s2))
s2 += 'abc'
print(id(s2))
标签:内置,数字,nick,s3,s2,print,strip,字符串,handsome
From: https://www.cnblogs.com/JunLeewarehouse/p/17777335.html