数字类型,字符类型及内置方法和列表类型级内置方法。
可变类型:值改变的情况下,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]) # 切片取到第五个,步数为1
print(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 in msg: 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) my 23 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 范 name is 23 my 范 age is 范
replace代替
str = 'cat is 猫 and dog is 狗 ' res = str.replace('cat','kitty') print(res) kitty is 猫 and dog is 狗
join 在字符串中的每个元素里加入你要替换的值
str = '11111' str = 'one'.join(str) print(str) 1one1one1one1one1
isdigit 判断字符串中包含的是否为纯数字
while True: age = input('请输入>>>:') if age.isdigit(): age = int(age) if age > 18: print('beautiful') else: print('请输入纯数字') 请输入>>>:19 beautiful 请输入>>>: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) # 弹出你要的索引值