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%'