input And if
多行 输出
逻辑
空值
运算符
判断语句
循环语句
for in
while
一些说明
直接运行py文件
特殊提示
类型转换
常用函数随后会单独提出来动态添加
字符串和编码
一字符串
1常用函数
2格式化
二编码篇
转换为字节
编码
解码
input And if
name = input('Please input your name:') if name != 'qpz': print('fuck you',name) else: print('welcome',name)
多行 输出
print('''line1 line2 line3''')
逻辑:
and or not (与或非)
空值:
None
运算符:
+ - * / // %
判断语句
只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False
if <条件判断1>: <执行1> elif <条件判断2>: <执行2> elif <条件判断3>: <执行3> else: <执行4>
循环语句
for in
names = ['Michael', 'Bob', 'Tracy'] for name in names: print(name)
sum = 0 for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: sum = sum + x print(sum)
while
sum = 0 n = 99 while n > 0: sum = sum + n n = n - 2 print(sum)
一些说明
直接运行py文件
特殊提示:
无限大 inf
类型转换
int() 字符串=》整数
>>> int('123') 123 >>> int(12.34) 12 >>> float('12.34') 12.34 >>> str(1.23) '1.23' >>> str(100) '100' >>> bool(1) True >>> bool('') False
常用函数(随后会单独提出来动态添加)
range(x) 生成一个小于x的序列
>>> list(range(5)) [0, 1, 2, 3, 4]
max(2,3,-1,4) 多个参数,返回最大值
字符串和编码
一、字符串
1.1、常用函数
测试长度 len() 类似于C的sizeof
1.2、格式化
>>> 'Hello, %s' % 'world' 'Hello, world' >>> 'Hi, %s, you have $%d.' % ('Michael', 1000000) 'Hi, Michael, you have $1000000.'
二、编码篇
常用字符处理函数:
ord 获取字符的整数表示 chr 根据编码转换为对应字符
如果知道字符的整数编码,还可以用十六进制这么写str:
>>> '\u4e2d\u6587' '中文'
转换为字节
由于Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes。
Python对bytes类型的数据用带b前缀的单引号或双引号表示:
x = b'ABC'
编码
以Unicode表示的str通过encode()方法可以编码为指定的bytes,例如:
>>> 'ABC'.encode('ascii') b'ABC' >>> '中文'.encode('utf-8') b'\xe4\xb8\xad\xe6\x96\x87'
解码
反过来,如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法:
>>> b'ABC'.decode('ascii') 'ABC' >>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8') '中文'
由于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编码: