1. 输入与输出

输出:

print('hello,world')

输入:

name = input()

例程: hello.py

name = input('please enter your name: ')
print('hello', name)

2. 数据类型:

2.1 可直接处理类型

整数: 

1,100, 0xff00

Python中整数没有大小限制

浮点数:

1.23,1.23e9 (1.23*10^9), 1.2e-5 (0.000012)

Python中浮点数也没有大小限制,超出一定范围直接表示为 inf (无限大)

字符串:

'I\'m \"OK\"!'

'''  ''' 可以表示多行内容

print('''Line1,
Line2,
Line3''')

r' ' 表示 ' ' 内部字符串默认不转义

>>> print(r'\\\t\\')
\\\t\\

布尔值:

True, False

布尔运算符

and, or, not

空值:

None

2.2 不可直接处理类型

列表,字典, 自定义数据类型

3. 变量与常量

3.1 变量

变量名必须是大小写英文,数字和下划线 _ 的组合,不能用数字开头

a = 1
t_007 = 'T007'
Answer = True

3.2 常量

用全部大写的变量名表示常量,这只是一个习惯上的用法。Python根本没有任何机制保证表示常量的变量名(PI)的值不会被改变。如果非要改变表示常量的变量名(PI)的值也是可以的。

PI = 3.1415926

/ 除法计算结果是浮点数,即使两个整数恰好整除,结果也是浮点数。

>>> 9 / 3
3.0

// 地板除, 两个整数的除法仍然是整数。

>>> 10 // 3
3

% 取余数

>>> 10 % 3
1

4. 字符串和编码

print('包含中文的str')

ord()函数获取字符的整数表示(对于中文字符,为其Unicode编码值)

chr()函数把编码(对于中文字符,为其Unicode编码值)转换为对应的字符

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

知道字符的整数编码(对于中文字符,为其Unicode编码值),还可以用十六进制这么写str:

>>> '\u4e2d\u6587'
'中文'

字符串的encode()方法与bytes类型字符串的decode()方法

>>> 'ABC'.encode('ascii')
b'ABC'
>>> '中文'.encode('utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'
>>> b'ABC'.decode('ascii')
'ABC'
>>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
'中文'
>>> b'\xe4\xb8\xad\xff'.decode('utf-8', errors = 'ignore')
'中'

计算 str 中包含多少个字符:

>>> len('ABC')
3
>>> len('中文')
2

len() 函数参数为bytes类型字符时,计算字节数:

>>> len(b'\xe4\xb8\xad\xe6\x96\x87')
6
>>> len('中文'.encode('utf-8'))
6

.py 文件开头两行加注释:

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

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

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

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

5. 格式化输出

占位符

替换内容

%d

整数

%f

浮点数

%s

字符串

%x

十六进制整数

>>> 'hello, %s' % 'world'
'hello, world'
>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'
>>> 'growth rate: %d %%' % 7
'growth rate: 7 %'
>>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明',17.125)
'Hello, 小明, 成绩提升了 17.1%'