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:
>>> 'u4e2du6587'
'中文'
转换为字节
由于Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes。
Python对bytes类型的数据用带b前缀的单引号或双引号表示:
x = b'ABC'
编码
- 以Unicode表示的str通过encode()方法可以编码为指定的bytes,例如:
>>> 'ABC'.encode('ascii')
b'ABC'
>>> '中文'.encode('utf-8')
b'xe4xb8xadxe6x96x87'
解码
反过来,如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法:
>>> b'ABC'.decode('ascii')
'ABC'
>>> b'xe4xb8xadxe6x96x87'.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编码: