python2

and or not

变量

命名规则

字母,数字和_, 并且不能用数字开头

空值

None

类型

变量不必定义类型,直接定义。

a=2
a='ssss'
a=True and False  #同一个变量可以被反复赋值,没有类型转换要求

常量

全部大写的变量名表示常量

PI=3.1415

但是python没有机制保证PI不会被改变,只是习惯用法,改了也可以

除法

/ 浮点除

10 / 3
3.3333333333333335
9 / 3
3.0
#//
 10 // 3
3

//地板除(向下取整)

Attention

python整数大小没有限制,浮点数也没有限制,超出一定范围,就表示为无限大

字符串和编码

unicode(all L) utf-8(可变长)

python unicode

单个字符编码 ord(),chr()

ord()获取字符整数表示

chr()整数转换成字符

ord('A')
65
>>> ord('中')
20013
>>> chr(66)
'B'
>>> chr(25991)
'文'

python字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。若要在网络上传输,或者保存到磁盘上,就要把str变为以字节为单位的bytes

bytes 类型的数据用带b前缀的单引号表示

 x=b'ABC'  #每个字符都只占用一个字节

编码解码

str.encode(‘ascii’) # Unicode转bytes,纯英文可以ascii

‘中文’.encode(‘utf-8’) #含有中文的str可以用UTF-8编码为bytes

如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法:

b'ABC'.decode('ascii')
b'\xe4\xb8\xad\xff'.decode('utf-8')
# errors='ignore'忽略错误的字节
b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore')
image-20220610142747546

len()计算str包含多少个字符,计算bytes包含多少个字节

1个中文字符经过UTF-8编码后通常会占用3个字节,而1个英文字符只占用1个字节。

为了避免乱码问题,应当始终坚持使用UTF-8编码对strbytes进行转换。


由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;

第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。

申明了UTF-8编码并不意味着你的.py文件就是UTF-8编码的,必须并且要确保文本编辑器正在使用UTF-8 without BOM编码:

格式化字符串

如果你不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串:

print('Age: %s. Gender:%s'%(25,'women'))  #Age: 25. Gender:women
print('price:%% %s'% 7) #price:% 7

f-string

a=26
aa='wo,m'
print(f'替换{a:.2f}变量的字符串{aa}') #替换26.00变量的字符串wo,m
#.2f保留两位小数点
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值