Python 基础语法
1. Python 标识符
- 标识符由 字母(区分大小写)、数字、下划线组成,但是不能以数字开头
- 以单下划线开头_foo 的代表不能直接访问的类属性, 需通过类提供的接口进行访问, 不能用 from xxx import *而导入
- 以双下划线开头的 __foo 代表类的私有成员; 以双下划线开头和结尾的 **__foo__ **代表 Python 里特殊方法专用的标识, 如 _init_()代表类的构造函数
- Python可以同一行显示多条语句,方法是用分号 ; 分开,示例代码如下:
>>>print 'hello';print 'world'
hello
world
2. Python 保留字符
and |
assert |
exec |
not |
finally |
or |
break |
for |
pass |
class |
from |
print |
continue |
global |
raise |
def |
if |
return |
del |
import |
try |
elif |
in |
while |
else |
is |
with |
except |
lambda |
yield |
3. Python 引号与注释
- Python 可以使用引号( ' )、 双引号( " )、 三引号( ''' 或 """ ) 来表示字符串, 引号的开始与结束必须的相同类型的
- 其中三引号可以由多行组成, 编写多行文本的快捷语法, 还可以当做注释
python 中多行注释使用三个单引号(''')或三个双引号(""")
-
表示单行注释, 单行注释可以单独一行也可以在语句或表达式行末
4. Python 输入
- Python 2 : raw_input("提示用户的内容")
- Python 3 : input("提示用户的内容")
5. Python 输出
- print()为输出函数,默认输出是换行的,如果要实现不换行需要在变量末尾加上逗号
6. 变量赋值
- Python 中的变量赋值不需要类型声明
- 每个变量在使用前都必须赋值, 变量赋值以后该变量才会被创建
- 等号( =) 用来给变量赋值
- 等号( =) 运算符左边是一个变量名,等号( =) 运算符右边是存储在变量中的值
7. pass语句
- Python pass 是空语句, 是为了保持程序结构的完整性,pass 不做任何事情, 一般用做占位语句
# coding=utf-8
# 输出 Python 的每个字母
for letter in 'Python':
if letter == 'h':
pass
print '当前字母 :', letter
print "Good bye!"
8. Python 数据类型
- Numbers(数字)
- int( 有符号整型)
- long( 长整型[也可以代表八进制和十六进制])
- float( 浮点型)
- complex( 复数)
Python 还支持复数, 复数由实数部分和虚数部分构成, 可以用 a +bj,或者 complex(a,b)表示, 复数的实部 a 和虚部b 都是浮点型
- String(字符串)
- List(列表)
- Tuple(元组)
- Dictionary(字典)
8.1.1 Python数学函数
import math
math.方法
函数 |
返回值(描述) |
abs(x) |
返回数字的绝对值, 如 abs(-10) 返回 10 |
fabs(x) |
返回数字浮点形式的绝对值, 如 math.fabs(-10) 返回 10.0 |
floor(x) |
返回数字的下舍整数, 如 math.floor(4.9)返回 4 |
ceil(x) |
返回数字的上入整数, 如 math.ceil(4.1) 返回 5 |
cmp(x, y) |
如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1 |
exp(x) |
返回 e 的 x 次幂(ex),如 math.exp(1) 返回 2.718281828459045 |
log(x) |
如 math.log(math.e)返回 1.0,math.log(100,10)返回 2.0 |
log10(x) |
返回以 10 为基数的 x 的对数, 如 math.log10(100)返回 2.0 |
max(x1, x2,...) |
返回给定参数的最大值, 参数可以为序列 |
min(x1, x2,...) |
返回给定参数的最小值, 参数可以为序列 |
modf(x) |
返回 x 的整数部分与小数部分, 两部分的数值符号与 x 相同, 整数部分以浮点型表示 |
pow(x, y) |
x**y 运算后的值 |
round(x [,n]) |
返回浮点数 x 的四舍五入值, 如给出 n 值, 则代表舍入到小数点后的位数 |
sqrt(x) |
返回数字 x 的平方根, 数字可以为负数, 返回类型为实数, 如 math.sqrt(4)返回 2+0j |
8.1.2 Python 随机数函数
import random
random.方法
函数 |
描述 |
choice(seq) |
从 序 列 的 元 素 中 随 机 挑 选 一 个 元 素 , 比 如random.choice(range(10)), 从 0 到 9 中随机挑选一个整数 |
randrange ([start,] stop [,step]) |
从指定范围内, 按指定基数递增的集合中获取一个随机数, 基数缺省值为 1 start -- 指定范围内的开始值, 包含在范围内stop -- 指定范围内的结束值, 不包含在范围内step -- 指定递增基数 |
random() |
随机生成下一个实数, 它在[0,1)范围内 |
seed([x]) |
改变随机数生成器的种子 seed,如果你不了解其原理, 你不必特别去设定 seed,Python 会帮你选择 seed |
shuffle(lst) |
将序列的所有元素随机排序 |
uniform(x, y) |
随机生成下一个实数,它在[x,y]范围内 |
8.1.3 Python 三角函数
import math
math.方法
函数 |
描述 |
acos(x) |
返回 x 的反余弦弧度值x -- -1 到 1 之间的数值 如果 x 是大于 1, 会产生一个错误 |
asin(x) |
返回 x 的反正弦弧度值<br />x -- -1 到 1 之间的数值 如果 x 是大于 1, 会产生一个错误 |
atan(x) |
返回 x 的反正切弧度值 |
atan2(y, x) |
返回给定的 X 及 Y 坐标值的反正切值 |
cos(x) |
返回 x 的弧度的余弦值 |
hypot(x, y) |
返回欧几里德范数 sqrt(xx + yy) |
sin(x) |
返回的 x 弧度的正弦值 |
tan(x) |
返回 x 弧度的正切值 |
degrees(x) |
将弧度转换为角度,如 degrees(math.pi/2) , 返回 90.0 |
radians(x) |
将角度转换为弧度 |
pi |
π值 |
e |
e值 |
8.2.1 str字符串
- 一般字符串表示为 : str="a1a2· · · an"(n>=0)
- str 表示一个长度为 n 的字符串
- python 字符串的下标是从 0 开始的, 一直到 n-1 结束
- "a1a2· · · an"每个字符对应的角标为"0,1,...,n-1"
- 使用 str[头下标:尾下标], 就可以截取相应的字符串(不包括尾角标的字符, 即含头不含尾)
8.2.2 转义字符
转义字符 |
描述 |
\(在行尾时) |
续行符 |
\\ |
反斜杠符号 |
\' |
单引号 |
\" |
双引号 |
\a |
响铃 |
\b |
退格(Backspace) |
\e |
转义 |
\000 |
空 |
\n |
换行符 |
\v |
纵向制表符 |
\t |
横向制表符 |
\r |
回车 |
\f |
换页 |
\oyy |
八进制数,yy代表的字符,例如:\012 代表换行 |
\xyy |
十六进制数,yy代表的字符,例如:\x0a |
\other |
其他的字符以普通格式输出 |
8.2.3 字符串运算符
a = "Hello" , b = "Python"
操作符 |
描述 |
实例 |
+ |
字符串连接 |
>>>a + b |
* |
重复输出字符串 |
>>>a * 2 |
[] |
通过索引获取字符串中的字符 |
>>>a[1] |
[:] |
截取字符串中的一部分 |
>>>a[1:4] |
in |
成员运算符 - 如果字符串中包含给定的字符返回 True |
>>>"H" in a |
not in |
成员运算符 - 如果字符串中不包含给定的字符返回 True |
>>>"M" not in a |
%s |
格式化字符串的输出.在Python中,字符串格式化使用与C中sprintf函数有一样的语法 |
|
%c |
格式化字符及其ACSII码 |
|
%d |
格式化整数 |
|
%u |
格式化无符号整数 |
|
%x |
格式化无符号十六进制数 |
|
%X |
格式化无符号十六进制数(大写) |
|
%f |
格式化浮点数字,可指定小数点后的精度 |
|
%e |
用科学计数法格式化浮点数 |
|
%E |
作用同%e |
|
%g |
%f和%e的简写 |
|
%G |
%f和%E的简写 |
|
%p |
用十六进制格式化变量的地址 |
|
%o |
格式化无符号八进制数 |
|
* |
定义宽度或者小数点精度 |
|
- |
用做左对齐 |
|
+ |
在整数前面显示加号(+) |
|
<sp> |
在正数前面显示空格 |
|
# |
在八进制数前面显示零('0'), 在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X') |
|
0 |
显示的数字前面填充'0'而不是默认的空格 |
|
% |
'%%'输出一个单一的'%' |
|
(var) |
映射变量(字典参数) |
|
m.n. |
m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话) |
|
8.2.4 str.format()
# coding=utf-8
print "{} {}".format("hello", "world") # 不设置指定位置, 按默认顺序
print "{0} {1}".format("hello", "world") # 设置指定位置
print "{1} {0} {1}".format("hello", "world") # 设置指定位置
#设置参数
print("网站名: {name}, 地址 {url}".format(name="百度", url="www.baidu.com"))
# 通过字典设置参数
site = {"name": "百度", "url": "www.baidu.com"}
print("网站名: {name}, 地址 {url}".format(**site))
# 通过列表索引设置参数
my_list = ['百度', 'www.baidu.com']
print("网站名: {0[0]}, 地址 {0[1]}".format(my_list)) # "0" 是可选的
结果:
hello world
hello world
world hello world
网站名: 百度, 地址 www.baidu.com
网站名: 百度, 地址 www.baidu.com
网站名: 百度, 地址 www.baidu.com
8.2.5 Unicode 字符串