python基础
编辑技巧
CTRL D: 未选中时,复制当前行到下一行,选中时复制粘贴选中部分。
有时候pycharm无法安装各种模块,可能是python环境安装的不好,更换python安装包重新安装可能会好
变量:用来存东西,由字母数字下划线组成,区分大小写(而html中不区分大小写)不能以数字开头,不要中文和拼音,下划线分割(推荐)和驼峰式太low 不能用保留字段关键字命名(查看关键字命令:
from keyword import kwlist
for i in kwlist:
print(i)
id(a) 查看a的内存地址
对象:一切皆对象,对象皆可调用方法。调用方法:object.属性()
列表元组
字典
v = {'A':'a','B':'b','C':'c'}
获取‘c’有两种方法
1, v['C']
2, v.get('C',None) 这样能避免字典中没有'C‘而报错
集合set
1去重性2无序3元素必须可哈希harshable(int,str,tuple 是harshable,list dict unsharshable) s = set(1,'andy',)
数字类型(可以强制类型转换):int整型 float浮点数 complex复数
int和bytes类型无法互转,需要借助str中转一下
格式化:%s string字符串
%d digit数字
%f float浮点数
字符串 '' '' '' ''' '''
字符串拼接:join ''.join(['a','b','c'])或者''.join(('a','b','c'))拼出来就是abc了
注意:拼接尽量不要用+,浪费内存
运算符
算数运算符: + - * / %(取余数) //(整除) **(幂运算)
赋值运算符: += -= *= /= %= //= **=
比较运算符: > < >= <= != ==
逻辑运算符: and or not 短路原则-> and 之前有假,整体就是假,and之后不计算;or之前有真,整体为真,or之后不计算
身份运算符: is is not
成员运算符: in not in
注释: # 或者 ''' '''
shebang: #!(存疑,没搞懂还)
Tab和空格:不同的编辑器对Tab的定义不一样,有的是四个空格,有的是三个空格。一个制表符是一个字符。推荐用四个空格
条件:if else elif
循环:
for while break contine 推荐for,然后才是while 多层循环
break 跳出所在循环(如果有两层,跳出本层,外层不受影响)
continue 跳出所在循环的本次循环,继续所在循环的下次循环(如果有两层,跳出本层,外层不受影响)
标志位:设定开始标志位exit_flag = False 运行函数或功能后把标志位更改 exit_flag = Ture if 最后判断标志位if exit_flag,根据判断结果进行下步操作
序列:有序的队列,必须有序。字符串是序列,也有索引。列表。元组。
文件操作:
打开:f = open('文件路径','打开方式',encoding='utf8')
打开方式 r读 w写 a追加 rb二进制读 等 f 是文件句柄,也叫文件描述符 或者 with open()as f
读:查f.read()
read(75)读75个字符,一个字母c和一个'\n'一个中文‘随’都是一个字符
read()读所有字符,如果最末是换行,读到'\n',print的话,会把'\n'打印成一个空行(一个空字符占了一行),如果最末不是换行,遇到‘\n’换行,后面接着打印其它字符,不会有空行,read()读所有,print一次,就跟原文一样
readline()读一行,如果行末有换行的话,会读到'\n',print的话,会把'\n'打印成一个空行(其实是一个空字符占了一行),空行是因为每个print都是单独一行打印
readlines()读所有行并返回一个列表
read()和readlines()都是读所有,大文件不适合,容易卡
readline()读一行或者f = readlines() f.close for i in f:print(i.strip())做成迭代器形式
写:增删改
f.write('str格式') 先写到内存缓冲区,继续执行下面语句文件关闭前,再从内存写入磁盘,这样执行效率高(不可能write一次,就写入硬盘一次,效率低下)
改:打开方式w f.write('str') 把原来内容抹去,重新写入str
增:打开方式a f.write('str') 追加内容
编码和解码
python中有两种数据类型 str(使用unicode编码格式存放)和bytes(使用十六进制格式存放)
unicode是万国码,bytes更接近于计算机底层(二进制),所以文件的存储和传输都使用bytes类型进行。
str转成bytes格式的三种方式
b‘zifuchuan’
bytes('zifuchuan',encoding='utf-8')
'zifuchuan'.encode(utf-8)
二者之间可以通过utf8、gbk、韩、日等其他编码规则转成unicode
utf8一个汉字占三个字符,gbk一个汉字占两个字符
有两种互转方式:encode() decode() 和 str() bytes()强转,后期待完善
windows系统处理是默认是gbk编码方式

浙公网安备 33010602011771号