模块导入:

  import+空格+模块文件名

  通用模块一般放在所用文件目录里的venv\lib目录下,自定义模块存在venv\lib\site-package目录下

编码与解码:

  编码:变量名.encode(encoding=编码方法,例如'utf-8')

  解码:变量名.decode(encoding=解码方法,例如'utf-8')

列表(数组)操作:

  数组定义:

names=['zhaoyun','nvbu','luna','diaochan','zhaoyun']#定义数组,列表
print(names)
View Code

  列表切片: 

names=['zhaoyun','nvbu','luna','diaochan','zhaoyun']#数组,列表
print(names)
#切片
print(names[0],names[2])#切片,选择切哪几个
print(names[0:2])#切片,区间左闭右开
print(names[-1])#切片,要最后一个
print(names[-3:-1])#切片,区间左闭右开
print(names[-2:])#切片,切到最后一位
print(names[:3])#切片,从第0位开始取,可以省略0
print('---',names[0::2])#步长切片,从第0个到最后,每隔一个切一个数据
View Code

  列表追加、插入:

names=['zhaoyun','nvbu','luna','diaochan','zhaoyun']#数组,列表
print(names)
names.append('daji')#数组追加
print(names)
names.insert(3,'sunwukong')##数组插入元素,前面为插入元素的位置
View Code

  列表修改、删除:

names=['zhaoyun','nvbu','luna','diaochan','zhaoyun']#数组,列表
print(names)
names[4]='daqiao'#修改数组变量
print(names)
#names.remove('nvbu')#删除数组变量
del names[1]#删除数组变量=names.pop(1)
names.pop()#括号内不输下标默认删除最后一个
print(names)
View Code

  列表查找index,统计元素出现次数,清空数组:

names=['zhaoyun','nvbu','luna','diaochan','zhaoyun']#数组,列表
print(names)
print(names.index('daqiao'))#查找变量在数组中的位置
print(names[names.index('daqiao')])#打印daqiao
print(names.count('zhaoyun'),names.count('luna'))#统计变量在数组中出现的次数,并打印
#names.clear()#清空数组
#print(names)
View Code

  列表index翻转,排序(按元素首字母ASCLL排序):

names=['zhaoyun','nvbu','luna','diaochan','zhaoyun']#数组,列表
print(names)
names.reverse()#翻转,数组中变量排列顺序翻转
print(names)
names.sort()#排序,默认按首字母顺序排(从前到后,数字>符号>大写字母>小写字母),ASCLL码排序规则
print(names)
View Code

  列表合并和删除:

names=['zhaoyun','nvbu','luna','diaochan','zhaoyun']#数组,列表
print(names)
names2=['kai','xiaoqiao','miyue','yuji']
names.extend(names2)#合并数组
#del names#删除数组
print(names,names2)
View Code

  列表复制copy:

names=['Russia','America','Japen','Carada','England','Germany']
names2=names.copy()#此时已复制完最外一层,后续再修改母本,复制版本不变.和以下方式相等,names2=copy.copy(names),names2=names[:],names2=list(names)
country=['Russia','America','Japen','Carada','England','Germany',['Italy','Spain','Portugal']]
country2=country.copy()#当copy母版里有数组时,copy的是数组地址,当内部数组里面改变时,复制版也发生变化
View Code

  列表deepcopy:

 import copy
 names=['Russia','America','Japen','Carada','England','Germany']
 names2=copy.deepcopy(names)#此时已复制完,后续再修改母本,复制版本不变
View Code

  列表赋值特性:

    列表赋值特性与变量不同。

newarray=[1,2,3,4]#数组变量赋值与字符串和数字不同
newarray2=newarray
newarray[1]=2233#此时newarrary2=[1,2233,3,4]=newarrary
print(newarray,newarray2)
View Code

  列表循环:

newarray=[1,24,5,3]
for i in newarray:
  print(i)#可以打印数组newarray中的每一个元素
View Code

元组:

  元组与数组的区别在于,元组无法修改和增减。

  表现形式为numberlist=(1,2,3,4)。

字符操作:

# Author: wulihui
# -*- coding:utf-8 -*-
#字符串操作
name='wu lihui'
#name='wu \tlihui'
print(name.capitalize())#首字母大写
print(name.count('li'))#寻找变量中‘li'的个数
print(name.center(100,'-'))#打印100个字符,name放中间,不够用‘-’补上
print(name.endswith('hui'))#判断是否以‘hui’结尾
print(name.expandtabs(100))#将字符串中的每个\t扩大成100个空格长度
print(name.find('i'))#查找字符串中从左往右第一个‘i'中的位置,空格也占一个位置,从左往右从0开始数
print(name.rfind('i'))#查找字符串中从右往左第一个‘i'中的位置,空格也占一个位置,从左往右从0开始数
print(name[-3:])#字符串切片
age='I am {ages} years old'
print(age.format(ages=23))#字符串拼接
print(age.format_map({'ages':23}))#字典用法
print(name.index('li'))#序号
print('WUlihui123'.isalnum())#判断是否是阿拉伯数字和英文字母,不能有小数点
print('WUlihui'.isalpha())#判断是否是英文字母,不能有小数点
print('12'.isdecimal())#判断是否是十进制数字,不能有小数点,不能带符号,不能是负数
print('123'.isdigit())#判断是否是十进制数字,不能有小数点,不能是负数
print('if'.isidentifier())#判断是否为合法标识符,即合法变量名和if等特殊字符#毁三观中文也可以当变量名
print('abw'.islower())#判断是否有大写字母存在,没有为True
print('2'.isnumeric())#判断是否为数字,不能有小数点,不能是负数
print('    '.isspace())#判断是否为空格
print("我 Am A Teacher".istitle())#判断是否为标题,判断是否每个单词首字母大写,可以有中文
print("我 Am A Teacher".isprintable())#判断是否可以打印,tty file,drive file 可能用得到
print('ABS1233.5我'.isupper())#判断是否有小写字母存在,没有为True
print(','.join(['1','2','3','4']))#将列表转换成字符串
print(age.ljust(100,'*'))#保证变量长度为100,不够用‘*’在后面补齐,L表示left,文本留在左边
print(age.rjust(100,'*'))#保证变量长度为100,不够用‘*’在前面补齐,r表示right,文本留在右边
print('WU LIHUI'.lower())#把大写字母变小写
print(age.upper())#把小写字母变大写
print('\n    at will'.lstrip())#删除字符最左边的空格和换行
print('at will    \n'.rstrip())#删除字符最右边的空格和换行
print('\n    at will    \n'.strip())#删除字符两边的空格和换行
cryptogram=str.maketrans('abcdefghi','123456789')#制作密码,创建映射转换表
print('wu lihui'.translate(cryptogram))#使用密码翻译,使用映射转换
print('wu lihui'.replace('i','0',1))#替换,括号内的3个参数分别为原先存在的字符串、替换后的字符串、从左往右最大替换次数
print('1-2-3-45-6'.split('-'))#将字符串转换成列表,括号内填写分隔标识,且字符串中分隔标识会消失
print('acbcjckiuce'.split('c'))#将字符串转换成列表,括号内填写分隔标识,且字符串中分隔标识会消失
print('acbc\njck\niuce'.splitlines())#等同于print('acbc\njck\niue'.split('\n'))
print('acbc\njck\niuce'.split('\n'))#同上
print(name.startswith('w'))#判断是否是以’w‘开头
print('Wu Lihui'.swapcase())#将大写字母转换为对应的小写字母,将小写字母转化为对应的大写字母
print('wu lihui'.title())#将文本转化为title,每个单词首字母大写
print('123'.zfill(50))#在左边用0将字符串填充到“50”的长度
print('--------')
View Code

字典操作:字典为key-value格式,字典是无序的,没有下标。

  字典操作:

honour={'shooter':"luban",
       'support':"zhangfei",
       'jungle':"marco polo ",}#最后有无逗号,没区别
print(honour)#每操作一次,打印出来的顺序可能不同
print(honour['jungle'])#查找某个变量
honour['shooter']='houyi'#修改value值
honour['mid']='diaocan'#字典中添加一组key-value,存在则修改,不存在添加
print(honour)
#del
del honour['support']#通用删除法
honour.pop('mid')#删除
print(honour)
print('------------------------------------------------------------------------------------')
honour2={'shooter':"luban",
       'support':"zhangfei",
       'jungle':"marco polo ",}#最后有无逗号,没区别
#print(honour2['mid'])查找不存在的会报错
print(honour2.get('support'))#查找不存在的不会报错
print('shooter' in honour2)#判断key’shooter’在不在honour2里
print(honour2.values())#打印dict_values,生成列表
print(honour2.keys())#打印dict_keys,生成列表
honour2.setdefault('mid',"daqiao")#查找是否存在key‘mid',存在则不进行操作,不存在新增’mid':“daqiao”
print(honour2)
honour2.update(honour)#将字典’honour‘复制到’honour2‘里,key相同的覆盖掉
print(honour2)
print(honour)
print(honour.items())#将字典转成列表
new_dict=dict.fromkeys(['6','7','8'],['random'])#生成新的字典
print(new_dict)
print('-----------------------------------')
View Code

  字典循环:

#字典循环打印
for i in honour2:
   # print(i)#循环输出key
   # print(honour2[i])#循环输出value
   print(i,honour2[i])
for k,v in honour2.items():
    print(k,v)#不建议使用这种方法,需要先将字典转成列表
#判断变量是否为字典中的key
fenlu='mid'#判断变量是否为字典中的key
if fenlu in honour2:#判断变量是否为字典中的key
    print('Ture')#判断变量是否为字典中的key
View Code

  字典嵌套:

#字典嵌套
China={'jiangxi':{"ji'an":['jishui','yongfeng','xiajiang'],
                    'nanchang':['anyi','xinjianqu','xihuqu','donghuqu','nanchangxian']},
       'zhejiang':{'hangzhou':['xihuqu','shangchengqu','xiachengqu','bingjiangqu','xiaoshangqu'],
                    'jiaxing':['xiuzhouqu','tongxiangshi','jiashanxian']},
       'fujian':{'xiamenshi':['simingqu','huliqu','haichangqu','jimeiqu'],
                 'fuzhoushi':['gulouqu','maweiqu','jin"anqu','cangshanqu']}
       }
print(China)
print(China.get('jiangxi'))#只能查找一级目录
print(China['jiangxi']["ji'an"][1])#查找内部目录
China['jiangxi']["ji'an"][1]='dayongfeng'#更改value
print(China)
China['jiangxi']={"ji'an":['jishui','yongfeng','xiajiang']
                    }#可以这么修改
print(China)
View Code