一、 Python安装
根据需求选择自己需要的版本下载安装,Windows版本Python2.x需手动配置环境变量(度娘上搜一下,都是),Python3.x安装时直接选择环境变量选项,系统会自动设置。
二、 字符编码
字符编码(英语:Character encoding)也称字集码,是把字符集中的字符编码为指定集合中某一对象(例如:比特模式、自然数序列、8位组或者电脉冲),以便文本在计算机中存储和通过通信网络的传递。(取自百度百科)
常用的字符编码:ASIIC码(美国)、Unicode编码、UTF-8编码(万国码)
**Python3的源码默认编码方式为UTF-8,在Python 3,所有的字符串都是使用Unicode编码的字符序列。
三、 数据类型
(一)标准数据类型:
1.数字(Number)
整形(int) | 浮点型(float) | 布尔值(bool) | 复数(complex) |
0 | 0.0 | True | 2.17j |
10 | 11.2 | False | 2.1e-2j |
1.1)整形的4中表现形式:
2进制:以‘0b’开头。例如:‘0b1010’ 表示10进制的10 ---à运算:1x23+0x22+1x21+0x20=10
8进制:以‘0o’开头。例如:‘0o21’表示10进制的17----à算法与2进制相同
10进制:正常显示
16进制:以‘0x’开头。
4种进制的转换:
通过Python的内置函数:
转换为二进制:bin()
转换为八进制:oct()
转换为十进制:int()
转换为十六进制:hex()
2.字符串(String)
注:字符串是不可修改的,若想修改则转换成列表,修改完后再转成字符串。
具体修改方法:w = ‘helloworld’
M = list(w)
M[0] = ‘H’
w = ‘’.join(M)
Python中字符串用单引号(’)或双引号(”)括起来。同时也支持(’’’)三引号,三引号用来输入多行文本。
2.1字符串连接操作
1)使用+号可以将多个字符串拼接在一起
2)使用*号可以将一个字符串重复多次 例如:print(xi*2) 输出结果为xixi
2.2字符串切片
变量[头下标:尾下标]
1)第一个字符的索引是0,最后一个字符的索引是-1
2)字符串包含头下标,不包含尾下标
3)切片的使用语法是:
3.1)字符串变量名[x:y],表示下标从x到y的一段字符串(不包括y)。
3.2)当x不写,像[:y],表示从头开始,相当于[0:y]。当y不写时,表示一直到尾。
3.3)当x和y两个都不写时[:],就表示整个字符串。
2.3转义字符
Python中用反斜杠(\)表示转义字符
注:如果不想让\当转义字符,则在字符串前加r。例:r’ha\xi’ --à ha\xi
转义字符 | 含义 |
\(在行尾时) | 续行符 |
\e | 转义 |
\n | 换行 |
\000 | 空 |
\r | 回车 |
2.4字符串格式化
符 号 | 描述 |
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%u | 格式化无符号整型 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同%e,用科学计数法格式化浮点数 |
%g | %f和%e的简写 |
%G | %f 和 %E 的简写 |
%p | 用十六进制数格式化变量的地址 |
2.5字符串操作方法
例:s = "what are you doing?"
1)len(s) 返回字符串长度
2)子串查找,找到则返回最左端的索引,找不到则返回-1
s = ss.find("you")
print(s)
返回值:9
3)转换列表:s.splitlines(),将多行字符串分割成多个字符的单行列表。
4)分隔:s.split()默认情况下将所有的换行和空格作为分隔符分隔
s.split(‘o’)以o作为分隔符将s分割成一个字符串列表
5)字符串大小写
小写:s.lower() -->使s全转换成小写
大写:s.upper() -->使s全转换成大写
6)‘连接符’.join(seq) 用法与split相反
7)代替s.replace(x,y) 将字符串中的x替换成y
8)s.strip( ),默认情况下,去除首尾的空格,如加了参数则去除所加参数后返回值。(一般去除空格或特殊符号时使用!!!)
注:what后需加空格,才可以去除!
3.列表(List):符号[ ]
列表的数据类型:
1) list.append(),将一个元素添加到列表的结尾,只能添加一个元素。
2) list.extend(list1),将一个列表中的所有元素添加到另一个列表中
把M列表中的所有元素添加到列表L中
3) list.insert(i,x),i表示插入索引值,插入到i前。x表示要插入内容
4) list.remove(x),删除表中第一个为x的元素,如果该元素不存在,则返回错误。
5) del list[ 索引值] 删除索引值对应的元素
6) list.pop(i),从列表中删除指定位置的元素,并将其值返回。i表示索引值,若没有指定索引,则返回最后一个元素,并删除。
7) list.clear(),从列表中删除所有元素。
8) list.index(x),返回列表中第一个值为x的元素的索引。如果没有则返回错误值。
9) list.count(x),返回x在列表中出现的次数。
10)list.sort(),对列表中的元素进行排序。
11)list.reverse(),倒序列表中的所有元素。
12)list.copy(),浅拷贝
注:对于python中的赋值、浅拷贝、深拷贝概念参考(http://www.jb51.net/article/61902.htm)
4.元组(Tuple):符号(),元祖写在小括号中,元素间用逗号“,”分割。
基本用法与列表类似,但是元组是不可变的,所以元组不能增加,删除,修改,只支持基本序列操作。
注:一个元素的列表格式较特殊,M = (2,)需在括号中添加逗号。
5.字典(Dictionary):符号{},它是一个无序的键(key):值(value)对集合,每个键值对间用逗号(,)分隔。
**字典中通常通过键来查找或修改相对应的值。
**字典中键必须可以是多种类型,但是必须唯一,但是值可以不唯一。
字典的操作方法:
1) len(L),表示字典L里面键值对的个数。
2) 修改字典:
[“wang”]= 21,修改字典中键对应的值,若键存在,则修改对应的值,若不在,则创建此键值对。
L.setdefault(x[,y])返回字典L中的键x对应的值,若键不存在,则返回y,并将x:y作为键值对添加到字典L中,y的值默认为None。
3) 删除字典:
- a. 删除字典中单一的元素或者整个字典用del
a.1删除整个字典
a.2 删除字典中单一的元素
b.清空整个字典用clear
c.删除指定的键值对用pop,并返回值
d.随机删除并返回值用popitem()
4) 浅复制 L.copy(),返回一个和L有相同元素的新字典
5) 获取值L.get(x[,y])返回字典中键x对应的值,当键x不存在时返回y的值,y值默认为None。
6) L.items()以列表返回可遍历的(键,值)元组数组,返回可遍历的(键,值)元组数组。
7) L.key()打印出字典中所有的键。
8) L.values()以dict_values的形式打印字典中所有的值。
9) L.update(d),L和d均为字典,此方法为将字典d所有的键值对添加到字典L中,若有相同的则用字典d覆盖。
四、 数据类型
(一)Python算术运算符
以下假设变量a为10,变量b为21:
运算符 | 描述 | 实例 |
+ | 加 - 两个对象相加 | a + b 输出结果 31 |
- | 减 - 得到负数或是一个数减去另一个数 | a - b 输出结果 -11 |
* | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 210 |
/ | 除 - x 除以 y | b / a 输出结果 2.1 |
% | 取模 - 返回除法的余数 | b % a 输出结果 1 |
** | 幂 - 返回x的y次幂 | a**b 为10的21次方 |
// | 取整除 - 返回商的整数部分 | 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0 |
(二)Python比较运算符
以下假设变量a为10,变量b为20:
运算符 | 描述 | 实例 |
== | 等于 - 比较对象是否相等 | (a == b) 返回 False。 |
!= | 不等于 - 比较两个对象是否不相等 | (a != b) 返回 true. |
> | 大于 - 返回x是否大于y | (a > b) 返回 False。 |
< | 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 | (a < b) 返回 true。 |
>= | 大于等于 - 返回x是否大于等于y。 | (a >= b) 返回 False。 |
<= | 小于等于 - 返回x是否小于等于y。 | (a <= b) 返回 true。 |
(三)Python赋值运算符
以下假设变量a为10,变量b为20:
运算符 | 描述 | 实例 |
= | 简单的赋值运算符 | c = a + b 将 a + b 的运算结果赋值为 c |
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
%= | 取模赋值运算符 | c %= a 等效于 c = c % a |
**= | 幂赋值运算符 | c **= a 等效于 c = c ** a |
//= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
(四)Python位运算符
按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:
下表中变量 a 为 60,b 为 13二进制格式如下:
a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
运算符 | 描述 | 实例 |
& | 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 | (a & b) 输出结果 12 ,二进制解释: 0000 1100 |
| | 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 | (a | b) 输出结果 61 ,二进制解释: 0011 1101 |
^ | 按位异或运算符:当两对应的二进位相异时,结果为1 | (a ^ b) 输出结果 49 ,二进制解释: 0011 0001 |
~ | 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 | (~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。 |
<< | 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 | a << 2 输出结果 240 ,二进制解释: 1111 0000 |
>> | 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数 | a >> 2 输出结果 15 ,二进制解释: 0000 1111 |
(五)Python逻辑运算符
Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:
运算符 | 逻辑表达式 | 描述 | 实例 |
and | x and y | 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 | (a and b) 返回 20。 |
or | x or y | 布尔"或" - 如果 x 是 True,它返回 True,否则它返回 y 的计算值。 | (a or b) 返回 10。 |
not | not x | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not(a and b) 返回 False |
(六)Python成员运算符
运算符 | 描述 | 实例 |
in | 如果在指定的序列中找到值返回 True,否则返回 False。 | x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
not in | 如果在指定的序列中没有找到值返回 True,否则返回 False。 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |
(七)Python身份运算符
身份运算符用于比较两个对象的存储单元
运算符 | 描述 | 实例 |
is | is是判断两个标识符是不是引用自一个对象 | x is y, 如果 id(x) 等于 id(y) , is 返回结果 1 |
is not | is not是判断两个标识符是不是引用自不同对象 | x is not y, 如果 id(x) 不等于 id(y). is not 返回结果 1 |
(八)Python运算符优先级
以下表格列出了从最高到最低优先级的所有运算符:
运算符 | 描述 |
** | 指数 (最高优先级) |
~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
* / % // | 乘,除,取模和取整除 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位 'AND' |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |