今天开始学习python进阶的知识点了,更加烧脑了,哈哈
一、数据类型内置方法
总结模板:
作用
定义方式
内置方法
存一个值还是多个值
有序or无序(有序:也就是有索引,无序:无索引)
可变or不可变(重点)
可变:变量值变id不变
不可变:变量值变id也变
id不变值可变,即在原值的基础上修改,则为可变数据类型;值变id也变,即重新申请一个空间放入新值,则为不可变数据类型。
1.1 数字类型内置方法
1.1.1 整型
作用:表示年龄、号码、等级等
定义方式:可以使用int()方法将纯数字的字符串转为十进制的整型
x = 10 x = int('10') x = int(10.1) print(x) # 10 x = int('10.1') # 报错,int()里10.1本来就是字符串了,不需要加引号 print(x)
内置方法:没有内置方法,只有算术运算+-*/和比较运算> < >= <=
存一个值还是多个值:存一个值
有序or无序:整型只有一个值,没有这个说法
可变or不可变:不可变
x=10 print(id(x)) # id为1925279488 x=11 print(id(x)) # id为1925279520
值变id也变,所以整型为不可变
1.1.2浮点型
作用:用来表示薪资、身高、体重等
定义方式:可以使用float()方法将纯数字的字符串转为浮点型数字
x = float('111') print(x) # 输出为111.0 print(type(x)) # <class 'float'>
内置方法:没有内置方法,只有算术运算+-*/和比较运算> < >= <=
存一个值还是多个值:一个值
有序or无序:没有这一说法
可变or不可变(重点):不可变
数字类型都不可变
1.2 字符串类型内置方法
作用:描述性质的东西,如人的名字、单个爱好、地址、国家等
定义方式:使用''、""、''''''、""""""包裹的的一串字符
s = 'sdfklsdjfk' s = b'sdkfljl' # 打印出来的bytes类型,二进制类型,010101010100110100 # 有这种二进制的定义方式,其实一点用都没有 print(s) # \n 换行 s = 'a\na' # 碰到斜杠了,计算机就清楚下一个字符和\拼接在一起会有特殊的意义 print(s) # \t 缩进4个空格 s = 'a\t\ta' print(s) # 输出结果为a a # \r 回退上一个打印结果,覆盖上一个打印结果 print(r'\ra',end='') # 让\r变得无意义 print('\\ra',end='') # 加一个\让后面的\变得无意义 # s = 'a\\na' # print(s) # s = r'\ra\t\na' # raw # print(s)
内置方法:
s='nick handsome' # 一、优先掌握: # 1、按索引取值(只可取,不可改变) print(s[1]) # 输出为i # 2、切片(顾头不顾尾,步长) # 索引切片 msg = 'hello nick' # 0123456789 # 索引序号 print(f'切片3-最后: {msg[3:]}') # 从索引3的位置切片到最后一位,输出为lo nick print(f'切片3-8: {msg[3:8]}') # 输出为lo ni print(f'切片3-8,步长为2: {msg[3:8:2]}') # 输出为l i print(f'切片3-最后,步长为2: {msg[3::2]}') # 输出为l ik # 了解,步长为正从左到右;步长为负从右到左 print('\n**了解知识点**') # **了解知识点** print(f'切片所有: {msg[:]}') # 切片所有: hello nick print(f'反转所有: {msg[::-1]}') # 反转所有: kcin olleh print(f'切片-5--2: {msg[-5:-2:1]}') # 切片-5--2: ni print(f'切片-2--5: {msg[-2:-5:-1]}') # 切片-2--5: cin # 3、for循环 s = 'nick handsome' for i in s: print(i) # 逐行打印s中的每个字符 # 4、strip() 移除空白 s1 = ' nick handsome ' print(s1.strip()) # 去两端的空白 s2 = '***!!!!!nick handsome----***' print(s2.strip('-*!')) # 指定多个字符一起去掉,只要strip里面有的字符就全部干掉 print(s2.strip('nick')) # 指定多个字符一起去掉,只要strip里面有的字符就全部干掉 # s2.strip('*-!') # 首先判断字符串s的两端字符,为*,再去strip里找有没有*,有就去掉,再去判断字符串s的两端字符,!-,再从strip里面找,有去掉,没有停止去掉 # 5、split() 切割 s2 = '***!!!!!nick handsome----***' print(s2.split()) # 默认以空格切割字符串 print(s2.split('!')) # 以!切割 print(s2.split('!', 2)) # 以!切割,最大切割次数为2,也就是从找到第一个!开始切割,找到第二个!切割后就结束切割 # 6、in 或 not in 返回结果就是True或False s2 = '***!!!!!nick handsome----***' print('*' in s2) # True print('$' not in s2) # True # 7. 长度len s2 = 'nick handsome' print(len(s2)) # 求字符串的长度 # 二、需要掌握: # 1. lstrip() 和 rstrip() 左移除和右移除 s2 = '***!!!!!nick handsome----***' print(s2.lstrip('*')) # !!!!!nick handsome----*** print(s2.rstrip('*')) # ***!!!!!nick handsome---- # 2. rsplit() 从右开始切割 info = 'nick:male:19' print(f"info.rsplit(':', 1): {info.rsplit(':', 1)}") # 从右开始切割,1表示只切割一次,输出为info.rsplit(':', 1): ['nick:male', '19'] # lower&upper 把大写变小写和把小写变大写 s3 = 'aaabbJ' print(s3.lower()) # 把字符串中所有大写变成小写,aaabbj print(s3.upper()) # 把字符串中所有小写变成大写,AAABBJ # startswith&endswith 以什么开头和以什么结尾,返回结果为True或False s3 = 'aaabbJ' print(s3.startswith('b')) # False print(s3.endswith('J')) # True # join(用的比较多)一般和split联用 s3 = ' ' print(s3.join(['234', '234', '234'])) # 以s3也就是以空格为间隔符,拼接列表里的每一个元素,输出为234 234 234 s = '辣条/薯片/汽水/泡面/火腿肠/枸杞/当归/鹿茸' s1 = s.split('/') # 先把s以/切分 print(s1) # ['辣条', '薯片', '汽水', '泡面', '火腿肠', '枸杞', '当归', '鹿茸'] print('*'.join(s1)) # 再把切分后的每一个元素间用*连接 # 输出结果为:辣条*薯片*汽水*泡面*火腿肠*枸杞*当归*鹿茸 # replace 替换 s2 = 'yongjiu handsome' print(s2.replace('yongjiu', 'gebilaowang')) # 用gebilaowang替换掉yongjiu ## isdigit(纯数字)/isalpha(纯字母) 返回结果为True或False s2 = '12312' print(s2.isdigit()) # True s3 = 'aaac1c' print(s3.isalpha()) # False # 3、做了解即可 # find|rfind|index|rindex|count 一般常用find s2 = '**23423***ni234234ck $$ hand223423some******' print(s2.find('$')) # 从左找,找到第一个停止,找不到返回-1 print(s2.rfind('$')) # 从右找,找到就停止,找不到返回-1 print(s2.index('$')) # 找不到报错 print(s2.rindex('$')) # 找不到报错 # 2、center()居中、ljust()左对齐、rjust()右对齐、zfill() # 3、expandtabs()扩充标签 # 4、captalize()段落首字母大写、swapcase()大小写互换、title()每个首字母大写 # 5、is系列(真正的只需要了解)
- 存一个值还是多个值:一个值
- 有序or无序:有序,只要是有索引的,都是有序的,因此字符串是有序的
- 可变or不可变(重点):不可变
字符串的内置方法得多记多用,多打代码练习,才能熟练使用
来源:https://www.cnblogs.com/zhuangyl23/p/11291584.html