数字类型:int(数字),bool(0和1),str(字符串),bytes(字符串,中文打印出来为16进制),list(列表),dict(字典),tuple(元组)等
格式化输出: %s :百分号为占位符,s表示为字符串,d表示为数字

name = input('请输入姓名:') sex = input('请输入性别:') age = int(input('请输入年龄:')) height = int(input('请输入身高:')) job = input('请输入工作:') like = input('请输入爱好:') msg = '''-----%s的自我介绍---- name : %s sex : %s age : %d height : %d job : %s like : %s ------谢谢大家--------''' %(name,name,sex,age,height,job,like) print(msg)
Format:按顺序添加

s = '我叫{},来自{},今年{}岁,身高{},再说一遍我叫{}'.format('艾志农','江西吉安','25','183','艾志农') print(s) name = input('请输入你的姓名:').strip() form = input('来自哪里:').strip() age = input('请输入你的年龄:').strip() height = input('请输入你的身高:').strip() s1 = '我叫{0},来自{1},今年{2}岁,身高{3},再说一遍我叫{0},高{3}'.format(name,form,age,height) print(s1) name = input('请输入姓名:') s2 = '我叫{name},来自{form},今年{age}岁,身高{heigh},再说一遍我叫{name}'.format(form='江西吉安',name=name,age=18,heigh=183) print(s2)
While else :当循环被break打断时,else结果不会被执行

count = 0 while count < 10 : count += 1 if count > 5 : break print(count) else: print('程序结束')
编码有ascii,Unicode,utf-8,gbk等:
Ascii:8位等于1个字节,表示1个字符
Unicode:32位等于4个字节,表示1个字符
Utf-8:8位等于一个英文;
欧洲 16位 2个字节,表示1个字符
亚洲 24位 3个字节,表示1个字符
Gbk:1个英文 8位,1个字节
亚洲 16位,2个字节
逻辑运算:not > and > or

print(3>4 or 4<3 and 1==1) print(1 < 2 and 3 < 4 or 1>2 ) print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1) print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8) print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6) print(not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)
Int 转换成bool 非零转换成Ture,零为false
Str 转换成bool 空为false 非空为Ture
Str转换成int 只能数字之间转换
索引和切片:字符串可以被切片:s[头:尾:步长] 顾头不顾尾

#索引和切片 [头:尾:步长] ,从头至尾下标0开始,0 1 2 3... # 从尾到头下标-1开始,-1 -2 -3 -4 ... s = 'aizhinog' s1 = s[0] print(s1) s2 = s[0:] print(s2) s3 = s[4::-2] print(s3) s4 = s[1:7:2] print(s4)
Str(字符串)的用法:
Replace:替换

str = '111222444' print(str.replace('1','3'))
Split:转换成列表,默认是空格,可以设置成其它字符串

s = 'aizhinong*aike*iping' s1 = s.split('*') print(s1)
Capitalize:首字母大写

s = 'aizhinong' s1 = s.capitalize() print(s1)
Upper:全大写
Lower:全小写

s = 'aizhinong' s1 = s.upper() s2 = s.lower() print(s1,s2)
Swapcase:大小写翻转

s = 'aizhinong' s1 = s.swapcase() print(s1)
Title:每个用特殊字符或者数字的首字母大写

s = 'ai1zhi1nong' s2 = s.title() print(s2)
center:居中,默认用空白填充,可以为其它字符串

s = 'aizhinong' s1 = s.center(30,'1') s2 = s.center(50) print(s1) print(s2)
Expandtabs:返回使用空格扩展所有制表符的副本。如果未指定tab size,则假定tabsize为每8个字符。:

s = 'ai zhi nong' s1 = s.expandtabs() s2 = s.expandtabs(10) print(s1) print(s2)
Startswith:以什么为开头

s = 'aizhinong' s1 = s.startswith('z',2,8) s2 = s.startswith('aizhi') print(s1,s2)
Endswith:以什么结尾
find:通过元素找索引,找到返回下标,找不到返回-1
Index:通过元素找索引,找不到则报错

s = 'aizhinong' s1 = s.find('z') s2 = s.index('n') print(s1,type(s1)) print(s2,type(s2))
Strip:默认删除前后空格,左边为lstrip,右边为rstrip

s = ' +++---aizhi*no+ng ' s1 = s.strip(' +-') print(s1)
Count:返回字符串中某个字符的数量

s = 'aizhinong' s1 = s.count('n',1,8) print(s1)
公用方法:
Len() 长度
Count() 次数
index() 位置
Sort() 排序,默认为正序
Sort(reverse=ture) 倒序
Reverse 翻转
List(列表)的增删改查:
Append(对象) 增加,在最后增加
Insert(索引,对象) 插入,指定位置
Extend(对象) 插入可迭代对象,只接受一个参数,分解后再逐个加入,再最后增加,int类型无法迭代,所以会报错
Pop(索引) 删除,默认删除最后一个,只能单个删除
Remove(元素) 删除,按元素删除,只能单个删除
Clear() 清空列表
Del 列表名 删除列表
列表名[索引] 通过列表索引直接赋值修改,可切片修改,可迭代对象,单个值分解成元素再加入,无限制加入
For in 查 逐个打印

list = ['艾克','男','23岁','183','70kg'] list.append('喜欢跑步') print(list) list.insert(3,'柚柚柚') print(list) list.extend([123]) print(list) list.pop(4) print(list) list.remove('183') print(list) del list[0:4:2] print(list) list[0:2] = 'aike','nv','ddd' print(list) list.reverse() print(list)
Tuple(元组):元组称为只读列表,可循环,可切片;‘儿子’不能修改,‘孙子‘可能可以改

tu = (1,2,3,'alex',[2,3,4,'taibai'],'egon') tu[4][3] = tu[4][3].upper() print(tu) tu[4].append('sb') print(tu)
Dict(字典)的增删改查:分为可变数据类型和不可变数据类型;
不可变数据类型称为可哈希:元组,bool,str,int
可变数据类型称为不可哈希:list,dict,set等
字典中的键值(key)必须是不可变数据类型,可哈希
Value可以为任意数据类型
字典的优点:二分查找查询,存储大量的关系数据
特点:无序的
增:没有该对象则添加,有则覆盖

dic1 = {'name':'aike','age':18,'sex':'men',} dic1['hight'] = 183 dic1['age'] = 25 print(dic1)
增加:setdefault 没有该对象则添加,有则不改变

dic1 = {'name':'aike','age':18,'sex':'men',} dic1.setdefault('hight',183) dic1.setdefault('age',25) print(dic1) s
Pop: 删除,有返回值,返回值为value;可设置返回值;若删除的键不存在,返回设置的返回值,没有设置返回值则报错
Popitem: 随机删除,返回值为元组,不接受指定删除
Del: 无返回值,删除的键不存在则报错 可直接删除该字典
Clear: 清空字典

print(dic1.pop('name')) dic1.pop('name') print(dic1) print(dic1.pop('hight','输入有误')) dic1.popitem) print(dic1) print(dic1.popitem())
Update: 修改

dic2 = {'name':'艾志农','height':183} dic1.update(dic2) #把dic2 更新到 dic1 print(dic1)
For in: 查询

dic1 = {'name':'aike','age':18,'sex':'men',} print(dic1.keys(),type(dic1.keys())) print(dic1.values()) print(dic1.items()) for i in dic1: print(i) for i in dic1.keys(): print(i) for i in dic1.values(): print(i) a,b = 1,2 print(a,b) a = 1 b = 2 a,b = b,a print(a,b) a,b = [1,2],[2,3] a,b = (1,2) print(a,b) for k,v in dic1.items(): print(k,v) v1 = dic1['name'] print(v1) v2 = dic1['name1'] # 报错 print(v2)
字典[键]: 查询,没有则报错
Get: 可设置返回值

dic1 = {'name':'aike','age':18,'sex':'men',} print(dic1.get('name1','没有这个键'))
join的用法:列表转换成字符串;对象必须为可迭代,可以为字符串,列表(不能嵌套),元组(不能嵌套)等,不能为数字
spilt:字符串转换成列表。

s = ['aike','18','柚柚柚','0822'] s1 = '-'.join(s) print(s1) s = ('aike','18','柚柚柚','8888') s1 = '+'.join(s) print(s1) s = 211111 s1 = '+'.join(s) print(s1) #报错
range: range(头,尾,步长) 相当于列表,但里面都是数字, 开头为0可以不写头

for i in range(0,100): print(i) for i in range(0,100,2): print(i) for i in range(100,0,-2): print(i) for i in range(100,-1,-2): print(i)