数字类型,字符类型及内置方法和列表类型级内置方法。
可变类型:值改变的情况下,id不变
不可变类型:值改变的情况下,id也跟着改变
数字类型int的基本用与记录年纪、等级、和号码等。
定义方式:
age=18 #age=int(18)
print(type(age))
int('abadf') #报错
int('10.1') #报错
int('101') #int只能将字符串中包含纯数字转成整型
int转换进制:
print(int('1100',2)) #int可以传第一个参数,表示的是第一个参数到底是什么进制 然后转成十进制
print(int('14',8))print(int('c',16))
10进制转其他进制 bin转换二进制,oct转换八进制,hex转换16进制。
print(int("1100",2)) # 转换成10进制
print(int("16",8)) # 转换成10进制
print(int("64",16)) # 转换成10进制
print(bin(55)) # 把55转换成二进制
print(oct(68)) # 把68转换成八进制
print(hex(88)) # 把88转换成十六进制
字符串类型:
字符串类型存的是一个值,有序的不可改变的类型。
定义方式:' ','' '',""" """,
s = "hi" # 内部转换为:s = str("hi")
按索引取值:只能取。
s =(qwerty)print(s[1]) # 正向取值
print(s[-1]) # 反向取值
切片(顾头不顾尾,步长):从一个大的字符串中截取一段新的小字符串
左边的固定就是头,右边固定就是位 没有说按数字来分头尾
s =(qwertyuiasdfghjkl)print(s[1:5]) #切片取到第五个print(s[1:5:2]) #切片取到第五个,步数为1print(s[-1-10-3]) #默认取值是从左往右,现在从右往左取值
长度len:统计的是字符串中字符的个数
s =(qwertyuiasdfghjkl)print(len(s)) # 看字符串里有多少个数
成员运算in和not in:判断一个字符串是否在一个大字符串中
print("f" in "qwertyuiopasdfghjkl") #f是否在字符串qwqsadfg里
print("f" not in "qwertyuiopafsdghjkl") #f是否不在字符串qwerasdfgh里
去掉字符串两边的字符,不管中间的>>>.strip()默认去除字符串首尾的空格
name = ("$$$$$fan$$$$$")print(name) #正常输出name
print(name.strip("$")) #去掉name两边的符号
print(name.rstrip('$')) #rightrip从右边去除符号
循环: 能输出字符串中的所有值,把值取出完结束。
msg='hello'
for item inmsg:print(item)
lower,upper
s = 'JaS1oN'res= s.lower() #输出全小写
print(res)print(s)print(s.upper()) #输出全大写
print(s)
startswith,endswith
s1 = 'edfgyjn'
print(s1.startswith('e')) #判断字符串是否以什么什么开头
print(s1.endswith('n')) #判断字符串是否以什么什么结尾
format的三种玩法 跟%s一样 谁先来谁先占
str1 = 'my name is {} my age is {}'.format('范',23)print(str1)
str2= 'my name is {} my age is {}'.format(23,'范',)print(str2)
第二种 按索引占位
str1 = 'my {1} name is {0} my {0} age is {0}'.format('fan',23)print(str1)
my23 name is fan my fan age is fan
第三种 指名道姓占位(关键字传参)
str1 = 'my {name} name is {age} my {name} age is {name}'.format(name='范',age=23)print(str1)
my 范 nameis 23 my 范 age is 范
replace代替
str = 'cat is 猫 and dog is 狗'res= str.replace('cat','kitty')print(res)
kittyis 猫 and dog is 狗
join 在字符串中的每个元素里加入你要替换的值
str = '11111'str= 'one'.join(str)print(str)
1one1one1one1one1
isdigit 判断字符串中包含的是否为纯数字
whileTrue:
age= input('请输入>>>:')ifage.isdigit():
age=int(age)if age > 18:print('beautiful')else:print('请输入纯数字')
请输入>>>:19beautiful
请输入>>>:1.2请输入纯数字
请输入>>>:
需要了解的内置方法:
find,rfind,index,rindex,count
s = 'ab cd ef gh'
print(s.find('d')) #返回的是d字符所在的索引值
print(s.find('xxx')) #找不到的时候不报错返回的是-1
print(s.find('i',0,3)) #还可以通过索引来限制查找范围
print(s.index('o')) #返回所传字符所在的索引值
print(s.index('i',0,3)) #返回所传字符所在的索引值
print(s.count('n')) #统计字符出现的次数
captalize,swapcase,title
s1 = 'hElLo WoRLD sH10'
print(s1.capitalize()) #Hello world 首字母大写
print(s1.swapcase()) #大小写互换
print(s1.title()) #每个单词的首字母大小
is数字系列
isnumeric() #中文数字,罗马数字 只要是表示数字都识别
isdecimal() #只识别普通的阿拉伯数字
isdigit() #识别bytes和阿拉伯数字;平时用不到通常情况下使用isdigit就已经满足需求了
列表类型:[]内可以有多个任意类型的值,逗号分隔
优先掌握的操作:
按索引存取值(正向存取+反向存取):即可存也可以取
s = [1,2,3,4]print(s[0:4:1])print(s[0::])print(s[5::-1])print(id(s))
s[0]= 69
print(id(s))print(s)
添加容器类型数据
#1.尾部添加一个55
l.append(55) #注意append值能将被添加的数据当作列表的一个元素
print(l)#2.任意位置添加元素
l.insert(2,96) #通过索引在任意位置添加元素
print(l) #注意insert值能将被添加的数据当作列表的一个元素
#3.添加容器类型数据
l.append(l1)
l.insert(-1,l1)
l.extend(l1)#内部原理for循环l1一个个追加到列表的尾部
l.extend([1,])print(l)#4、长度
print(len(l))
删除
l = (2.5,8,9,6,3)print(l)del l[2] #del适用于所有的删除操作
print(l)
pop:尾部弹出
s = (1,2,3,4,5,6,7,8,9)print(s) #输出变量中所有元素。
s1 = s.pop(5)print(s1) #弹出你要的索引值