补充:1)utf8是用最少位数来表示所有的文字
2)utf16是用最少2个字节表示
3)占位符只有在字符串格式化时有意义,并且如果想表示字符串中的%,则要写%%
4)想同类的对象有相同的功能,功能保存在类中,且只有一份
一、对于数字、布尔,字符串类的对象的功能整理(所有举例均以v表示)
1、数字int:v . bit_length() 当前十进制数用二进制表示时的最少位数
2、布尔bool:没有
3、字符串str:本身不变,不能修改
1)v . upper() 全部大写
2)v . lower() 全部小写
3)v . capitalize() 首字母大写,其余小写
4)v . strip() 去除首尾空白
5)v . lstrip() 去除左边空格
6)v . rstrip() 去除右边空格
7)v . replace('aaa','bbb') bbb替换aaa
7) v . replace('aaa’,'bbb',2) 前2个aaa都被替换为bbb
8)v . split('aaa') 以aaa为分界线将字符串分割成n个部分,有几个aaa全部分割
8) v . split('aaa',2) 以前2个aaa为分界线分割,第三个aaa及以后的不分割 注意输入的是列表
9)v . isdecimal() 判断字符串里的内容是否都是数字,注意输出的是布尔类型
示例:
# count = 0 # v = "abc123fsdfa3f" # for item in v: # if item.isdecimal(): # count += 1 # print(count) 输出 4
二、字符串的公共功能
1、len(v) 计算字符串长度,即字符个数
2、根据索引或下标取值:索引和下标都是从0开始的
1)v[0] v的第一个字符
2) v[-1] 从后往前数第一个字符(最后一个)
3)v[1:5] 指从第1个索引到第4个索引,范围是>=1并且<5
4)v[4:] 指从第4个索引到最后1个索引的内容
5)v[1:13:2] 1代表第1个索引(起始位置),13代表第13个索引(终止位置),2代表步长
步长的意思是从开始的元素索引0起走到第几个索引,2就代表走到第2个索引,然后再从走到的元素索引0开始再走到 第2个索引
举例:v='asdfghjkl' v=[1:7:2] 输出的是sfh
3、for循环: 可以将对象中的每个元素表示出来
for i in v:
print(i) 这样就可以把v中的每个字符都表示出来
三、数字、布尔、字符串的相互转化
1、字符串到数字: int(v) v就变成了数字类型,注意只能是数字内容的字符串
2、布尔值到数字: int(v) v就变成了数字类型,只能输出1或0,True为1,False为0
3、数字、布尔值到字符串: str(v)、
4、数字到布尔: bool(v) v就变成了布尔类型,0为False,其余为True
5、字符串到布尔: bool(v) v就变成了布尔类型,空字符串为0,由内容的为1
补充: type(v) 判断v的类型
四、and和or运算的特殊性(总结的规律如下)
1、and:1)一个真一个假时,当假为字符串或者数字时,输出0或空字符串,否则就为False
2)都为假时,输出前者的字符串或者数字,否则就为False
3)都为真时,输出后者的字符串或者数字,否则就为True
2、or: 1)一个真一个假时,当真为字符串或者数字,输出真的字符串或者数字,否则就为True
2)都为假时,输出后者的字符串或者数字,否则就为False
3)都为真时,输出前者的字符串或者数字,否则就为True
五、列表list
1、表示:v = ['whl','wyh','wy','ygz'] 一般列表什么都能放,列表里只有一个元素时在后面加逗号v=['w',]
2、类对象的功能:修改本身值,与字符串最大不同
1)v.append('aaa') 在列表尾部追加一个元素aaa
2)v.insert(2,'aaa') 在索引2的位置插入aaa
3) v.reverse() 表示将列表中的元素反过来,最后一个变第一个
3、公共功能
1)len(v) 计算列表长度,也就是元素个数
2)支持for循环,for w in v: 输出列表里的每个元素,可以自动停止,不需要计数器。
print(w)
3)修改:v[1]='aa' 索引1的元素修改成aa
举例:v=[2:4]='aaa',‘sss’ 这样是不行,会把aaa打散,应该写成['aaa','sss']列表形式
注意此处的2:4只是为了确定位置还有将原来的索引2和3的元素删掉,并不是只提供了2个位置
4)删除:del v[1] 删除索引1的元素
5)取值:与字符串用法一样
示例:
# li = [11,22,[6,"88991",7],33,True,"蒋毅",55] # val = li[2][1][-1] # print(val) 输出 1
六、元组tuple
1、表示: v = ('whl','wyh','wy','ygz') 一般元组什么都能放,而且元素(‘儿子’)是不可变的,但是元素里的元素(‘孙子’) 是可能变化的
2、类对象的功能:没有
3、公共功能
1)len(v) 计算元组长度,也就是元素个数
2)支持for循环
3)索引取值:与字符串一样
切记元组元素不能修改删除
七、字典dict
1、表示: v = {'name1':'whl','name2':'wyh'} 其中name称为键(key),whl称(value),'name':'whl'称 为键值对,一个键值对称为一个元素
2、类对象的功能:
1)v.get('name1') 根据键找值(value) 若没有name1,不会报错,输出None
2)v.keys() 输出dict_keys(['name1', 'name2']),获取所有的键key
3)v.values() 输出dict_values(['whl', 'wyh']),获取所有的value值
4) v.items() 输出dict_items([('name1', 'whl'), ('name2', 'wyh')]),获取所有
3、公共功能
1)len(v) 计算字典长度,也就是键值对的个数
2)索引取值:v['name1']= whl 若没有name1,会报错
3)索引设置值:v['name1']= 'wy' 若没有name1,就会创建一个键值对;若有name1,则会替换原有值
4)索引删除: del v['name1']
5)for循环:默认拿出的是键,且无序
for k,a in v.items(): 输出v字典的所有元素
print(k,a)
输出所有元素示例:
# for i in v.keys(): # print(i,v[i])
补充:字典可以嵌套,字典的元素可以是数字、字符串、布尔值,列表,元组,字典,但是要注意在修改删除元素的过程中一定要看清是什么,字符串是不能修改删除的,只能利用replace替换,元组里的元素整个不能被改变。
# 示例: # user_list = [ # {'name':'老头','age': 18}, # {'name':'流量','age': 66}, # {'name':'wifi','age': 99}, # ] # # n = input("请输入姓名:") # a = input("请输入年龄:") # temp = {'name': n, 'age': int(a)} # user_list.append(temp) # for item in user_list: # print(item['name'],item['age'])