1. 了解Python
Python是一种解释型(这意味着开发过程中没有了编译这个环节)、面向对象(支持面向对象的风格或代码封装在对象的编程技术)、动态数据类型的交互式(可在命令行中通过Python提示符及直接代码执行程序)高级程序设计语言。
2. Python标识符
标识符由字母、数字、下划线组成,但不能以数字开头,且区分大小写。
以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxximport * 而导入;
以双下划线开头的 __foo 代表类的私有成员;以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如__init__() 代表类的构造函数。
Python 可以同一行显示多条语句,方法是用分号 ; 分开。
3. Python中的保留字符
这些保留字不能用作常数或变数,或任何其他标识符名称。所有 Python的关键字只包含小写字母。
and |
exec |
not |
assert |
finally |
or |
break |
for |
pass |
class |
from |
|
continue |
global |
raise |
def |
if |
return |
del |
import |
try |
elif |
in |
while |
else |
is |
with |
except |
lambda |
yield |
4. Python的缩进与多行语句写法
4.1 Python中的缩进要求非常严格,必须严格对齐。因为Python的代码块不由{}控制,而是由缩进就可以控制。
4.2 使用斜杠( \)将一行的语句分为多行显示,如下所示:当然,使用各类括号括起语句之后不需要斜杠换行。
total = item_one + \
item_two + \
item_three
英文三个双引号用在等式中也可以写多行文本,直接使用和三个单引号作用一样,可以做多行注释。
5. Python中的不换行与换行输出
# 换行输出
print(x)
# 不换行输出
print(x,end='')
Python变量类型
创建变量就意味着会在内存中开辟空间,同时变量必须赋值才会被创建。
1. Python中的变量赋值
单变量赋值:
counter = 100#赋值整型变量
miles = 1000.0#浮点型
name = "John"#字符串
多变量赋值:
a = b = c= 1 #三个变量的值都为1
a, b, c =1, 2, "john" #分别为三个变量赋值
2. Python中的数据类型
Python有五个标准的数据类型:
1. Numbers(数字)
1)不可改变的数据类型:
当其类型被改变时,将会赋值给一个新的对象。当对变量赋予了数值后,这个对象就会被创建,可通过del语句删除对这些对象的引用。
2)Python支持的数字类型:
int(有符号整型,如0x69,10);long(长整型[也可以代表八进制和十六进制],如-4721885298529L,Python用数字后面的L表示长整型);float(浮点型,如70.2E-12);complex(复数,如4.53e-7j)。
3)Python数据类型转换:
int(x [,base ]) 将x转换为一个整数
long(x [,base ]) 将x转换为一个长整数
float(x ) 将x转换到一个浮点数
complex(real [,imag ]) 创建一个复数
str(x ) 将对象 x 转换为字符串
repr(x ) 将对象 x 转换为表达式字符串
eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s ) 将序列 s 转换为一个元组
list(s ) 将序列 s 转换为一个列表
chr(x ) 将一个整数转换为一个字符
unichr(x ) 将一个整数转换为Unicode字符
ord(x ) 将一个字符转换为它的整数值
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将一个整数转换为一个八进制字符串
4)Python数学函数
函数 |
返回值 ( 描述 ) |
返回数字的绝对值,如abs(-10) 返回 10 |
|
返回数字的向上取整值,如math.ceil(4.1) 返回 5 |
|
比较函数,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1 |
|
返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045 |
|
返回数字的绝对值,如math.fabs(-10) 返回10.0 |
|
返回向下取整值,如math.floor(4.9)返回 4 |
|
如math.log(math.e)返回1.0,math.log(100,10)返回2.0 |
|
返回以10为基数的x的对数,如math.log10(100)返回 2.0 |
|
返回给定参数的最大值,参数可以为序列。 |
|
返回给定参数的最小值,参数可以为序列。 |
|
返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。 |
|
x**y 运算后的值。 |
|
返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。 |
|
返回数字x的平方根 |
5)Python随机数函数
常用于游戏、数学、安全等领域。
函数 |
描述 |
从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。 |
|
从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1 |
|
随机生成下一个实数,它在[0,1)范围内。 |
|
改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。 |
|
将序列的所有元素随机排序 |
|
随机生成下一个实数,它在[x,y]范围内。 |
6) Python三角函数
函数 |
描述 |
返回x的反余弦弧度值。 |
|
返回x的反正弦弧度值。 |
|
返回x的反正切弧度值。 |
|
返回给定的 X 及 Y 坐标值的反正切值。 |
|
返回x的弧度的余弦值。 |
|
返回欧几里德范数 sqrt(x*x + y*y)。 |
|
返回的x弧度的正弦值。 |
|
返回x弧度的正切值。 |
|
将弧度转换为角度,如degrees(math.pi/2) , 返回90.0 |
|
将角度转换为弧度 |
7) Python数学常量
常量 |
描述 |
pi |
数学常量 pi(圆周率,一般以π来表示) |
e |
数学常量 e,e即自然常数(自然常数)。 |
2. String(字符串)
由数字、字母、下划线组成。
1) 字符串截取
Python字符串从左至右截取:索引范围(0,长度-1),从右至左截取(-1,字符串开头)。
2) Python中不存在单字符
Python中即使有单字符,也会被当作字符串处理。
3) Python转义字符
转义字符 |
描述 |
\ |
出现在行尾时表现为续行符,出现在行中时,用于“翻译”特殊字符表示特殊含义,如下面选项所示 |
\\ |
反斜杠符号 |
\' |
单引号 |
\" |
双引号 |
\a |
响铃 |
\b |
退格(Backspace) |
\e |
转义 |
\000 |
空 |
\n |
换行 |
\v |
纵向制表符 |
\t |
横向制表符 |
\r |
回车 |
\f |
换页 |
\oyy |
八进制数,yy代表的字符,例如:\o12代表换行 |
\xyy |
十六进制数,yy代表的字符,例如:\x0a代表换行 |
\other |
其它的字符以普通格式输出 |
4) Python字符串运算
下表实例变量 a 值为字符串 "Hello",b 变量值为 "Python":
操作符 |
描述 |
|
+ |
字符串连接。 |
|
* |
重复输出字符串。 |
|
[] |
通过索引获取字符串中字符 |
|
[ : ] |
截取字符串中的一部分 |
|
in |
成员运算符 - 如果字符串中包含给定的字符返回 True |
|
not in |
成员运算符 - 如果字符串中不包含给定的字符返回 True |
|
r/R |
原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 |
|
|
|
-
a='hello'
-
b='world'
-
print(a+b) #helloworld,+号连接字符串
-
print(a*2) #hellohello,*号重复字符串
-
print(a[1]) #e,[]索引字符
-
print(a[1:4]) #ell,[:]截取字符串
-
print("h" in a) #True,in是否包含
-
print("M" not in a) #True,not in是否不包含
-
print(r'\n') #\n,r原始字符串(不解析转义字符)
5) Python字符串格式化(方便print时定义类型,如C语言中printf字符串时在引号内写%s一样)
print("My name is %s and weight is %d kg!" % ('Zara', 21) )
输出:
My name is Zara and weight is 21 kg!
符 号 |
描述 |
%c |
格式化字符及其ASCII码 |
%s |
格式化字符串 |
%d |
格式化整数 |
%u |
格式化无符号整型 |
%o |
格式化无符号八进制数 |
%x |
格式化无符号十六进制数 |
%X |
格式化无符号十六进制数(大写) |
%f |
格式化浮点数字,可指定小数点后的精度 |
%e |
用科学计数法格式化浮点数 |
%E |
作用同%e,用科学计数法格式化浮点数 |
%g |
%f和%e的简写 |
%G |
%f 和 %E的简写 |
%p |
用十六进制数格式化变量的地址 |
6)使用三引号输出一大串带特殊字符的字符串
当使用三引号将字符串框起来时,就不需要再通过转义字符打很多换行符等符号了,可以直接打换行。对比如下:
>>> hi = '''hi
there'''
>>> hi = 'hi\nthere'
这两种输出的结果都是换行的字符串,但是使用单引号时,当转义字符很多时,会很痛苦。
9) String可使用的内建函数
方法 |
描述 |
把字符串的第一个字符大写 |
|
返回一个原字符串居中,并使用空格填充至长度 width 的新字符串 |
|
返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数 |
|
以 encoding 指定的编码格式解码 string,如果出错默认报一个 ValueError 的 异 常 , 除 非 errors 指 定 的 是 'ignore' 或 者'replace' |
|
以 encoding 指定的编码格式编码 string,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace' |
|
检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False. |
|
把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8。 |
|
检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1 |
|
格式化字符串 |
|
跟find()方法一样,只不过如果str不在 string中会报一个异常. |
|
如果 string 至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False |
|
如果 string 至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False |
|
如果 string 只包含十进制数字则返回 True 否则返回 False. |
|
如果 string 只包含数字则返回 True 否则返回 False. |
|
如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False |
|
如果 string 中只包含数字字符,则返回 True,否则返回 False |
|
如果 string 中只包含空格,则返回 True,否则返回 False. |
|
如果 string 是标题化的(见 title())则返回 True,否则返回 False |
|
如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False |
|
以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串 |
|
返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串 |
|
转换 string 中所有大写字符为小写. |
|
截掉 string 左边的空格 |
|
maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。 |
|
返回字符串 str 中最大的字母。 |
|
返回字符串 str 中最小的字母。 |
|
有点像 find()和 split()的结合体,从 str 出现的第一个位置起,把 字 符 串 string 分 成 一 个 3 元 素 的 元 组 (string_pre_str,str,string_post_str),如果 string 中不包含str 则 string_pre_str == string. |
|