模块/库:
Python的强大在于丰富的各种库的存在。
用import方法导入的 分为标准库、第三方库
程序运行时会先从当前目录下寻找import的模块名的文件,如果没有,则去全局环境变量对应的路径里寻找
举例几个简单标准库 sys (sys.path\sys.argv)、os(os.mkdir\os.popen("dir").read())
关于pyc
其实Python和java、C#是一样的,也是一种先编译后解释的语言,类似先javac编译 后java运行,只不过Python帮做了编译过程,生成了一个.pyc的预编译后的字节码文件,再向机器解释执行
程序运行时 内存中有Pycodeobject 就是编译后的内容;当程序运行结束后,解释器会将内容写入硬盘,形成.pyc文件供后续使用
Python数据类型
数字 (int整型、float浮点型、complex复数)
布尔值 (真1、假0)
字符串
字节型 BYPES 其与字符串可以相互转换 encode(编码) 用于字符串转换为字节型 decodes(解码) 用于将字节型转换为字符串 最好在函数参数中指定字符集 ‘utf-8’
举例:print(teststring.encode(encoding='utf-8').decode(encoding='utf-8'))
列表list
举例:names=['1','2','3','4','5']
方法:append、insert、clear、count、extend、pop、remove、reverse、del、index、sort、
copy(只复制了第一层的值,以及第二层的指针,PS:如果不用copy而是直接=,对于列表数据类型只是赋值了指针地址)、
另(深copy完全复制,不要瞎用):import copy
copy.deepcopy
列表循环 for i in names:
print i
列表的切片 names[1:3] names[-3:-1] names[-2:] 字符串也可以切片
按步长切片 print(names[::2])
列表浅copy方法三种:
import copy
name2=copy.copy(names)
names2=names[:]
names2=list(names)
最后综合性练习,做了一个购物车程序,很受益
get一个小技能: 在输出时,高亮显示 print(“\033[31;1m%s\033[0m” % salary) 格式只能死记硬背咯~~~
元祖 (又叫只读列表)
方法:count、index
各种字符串操作函数,自己学习练习,带__的函数属内部函数,不需要研究也用不到
字典
增删改查方法、查找尽量使用info.get("xxx"),不会出错。
判断是否有这个键,“xxx” in info 返回布尔型
setdefault 去查找键,如果找到则返回,如果找不到,则创建该键
update 合并字典,有则更新,没有则创建
.item() 字典转列表
fromkeys()创建初始化字典用,但是和之前列表的copy一样,如果多层,是引用的指针地址,不方便使用的,一定注意哦
循环输出
【推荐】for i in info:
print(i,info[i])
for k,v in info.item():
print(k,v)