11.30
一、模块
sys 模块
sys.path是python的搜索模块的路径集,是一个list
sys.argb是打印相对路径
os模块
os.system(“dir”)
a = os.system("dir") # 调用是直接输出到屏幕上,并不会保存下来
print('-->', a) # 输出0,代表执行成功
os.mkdir("new_dir") # 在当前目录创建目录
创建模块
二、数据类型
1、数字
① int(整型)
python2.x中有长整型,python3.x中全部是整型int
在32位机器上,整数的位数为32位
取值范围为-2**31~2**31-1,
即-2147483648~2147483647
在64位系统上,整数的位数为64位,
取值范围为-2**63~2**63
即-9223372036854775808~9223372036854775807
② long(长整型)
跟C语言不同,Python的长整数没有指定位宽,即
Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
③ float(浮点型)
浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
浮点的表示形式是小数,但是浮点不仅仅是小数。
④ complex(复数)
复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
注:Python中存在小数字池:-5 ~ 257
2、布尔值
真(Ture)或假(False) 1或0
3、字符串
例:”hello world”
字符串拼接
python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间。
字符串格式化输出
PS: 字符串是 %s;整数 %d;浮点数%f
移除空白、分割、长度、索引、切片
4、列表
创建列表:
name_list = [‘hobby’,’it’,’eric’]或者
name_list = list([‘hobby’,’it’,’eric’])
基本操作:
索引、切片、追加、删除、长度、循环、包含
5、元组(不可变列表)
创建元祖:
ages = (11,12,13,33,44,55)或
ages = tuple((11,22,33,44,55)
6、字典(无序)
创建字典:
person = {“name”:”hobby”,”age”:18}或者
person = dict ({“name”:”hobby”,”age”:18})
常用操作:
索引、新增、删除、(键、值、键值对)、循环、长度
三、数据运算
算数运算
运算符 | 描述 | 实例 |
+ | 加:两个对象相加 | a + b 输出结果300 |
- | 减:得到负数或是一个数减去另一个数 | a–b 输出结果-100 |
* | 乘:两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 200 |
/ | 除:x除以y | b /a 输出结果 2 |
% | 取模:返回除法的余数 | b % a 输出结果 0 |
** | 幂:返回x的y次幂 | a**b 输出结果10000 |
// | 取整除:返回商的整数部分 | 9//2 输出结果4 9.0//2.0 输出结果4.0 |
比较运算
运算符 | 描述 | 实例 |
== | 等于:比较对象是否相等 | (a == b) 返回Fals |
!= | 不等于:比较两个对象是否不相等 | (a != b) 返回True |
<> | 不等于:比较两个对象是否不相等 | (a<>b) 返回True |
> | 大于:判断x是否大于y | (a > b) 返回Fals |
< | 小于:判断x是否小于y | (a < b) 返回True |
>= | 大于等于:判断x是否大于等于y | (a >= b) 返回True |
<= | 小于等于:判断x是否小于等于y | (a <= b) 返回False |
赋值运算
运算符 | 描述 | 实例 |
= | 赋值运算符 | 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 |
逻辑运算
运算符 | 描述 | 实例 |
and | 布尔“与”:如果a为False, a and b返回False,否则返回b的计算值 | (a and b) 返回 true |
or | 布尔“或”:如果a为Ture, a and b返回Ture,否则返回b的计算值 | (a or b) 返回 true |
not | 布尔“非”:如果a为Ture,返回False,如果a为“False”,则返回True | not(a and b) 返回false |
成员运算
运算符 | 描述 | 实例 |
in | 如果在指定的序列中找到值,返回True,否则返回False | x 在 y 序列中,如果x 在y 序列中返回true |
not in | 如果在指定的序列中没有找到值,返回True,否则返回False | x 不在 y 序列中,如果x 不在y序列中返回Ture |
身份运算
运算符 | 描述 | 实例 |
is | 判断两个标识符是不是引用自一个对象 | x is y 如果id(x)等于id(y),is 返回结果1 |
is not | 判断两个标识符是不是引用自不同对象 | x is not y 如果id(x)不等于id(y),is not返回结果1 |
位运算
运算符 | 描述 | 实例 |
& | 按位进行与运算 | (a & b)输出结果12 二进制解释00001100 |
| | 按位进行或运算 | (a | b)输出结果62, 二进制解释:00111101 |
^ | 按位进行异或运算 | (a ^ b)输出结果49, 二进制解释:00110001 |
~ | 按位进行取反运算 | (~a)输出结果-61,二进制解释:11000011,在一个有符号二进制数的补码形式 |
<< | 左移动运算 | a << 2 输出结果240,二进制解释11110000 |
>> | 右移动运算 | a >> 2 输出结果15 二进制解释00001111 |
补码,按位取反再加一,详解见:http://blog.csdn.net/wenxinwukui234/article/details/42119265
运算符优先级
** | 指数(最高优先级) |
~ + - | 按位翻转,一元加号和减号(最后两个的方法名为 +@ 和-@) |
* / % // | 乘,除,取模和取整数 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位’AND’ |
^ | | 位运算符 |
<= < > > = | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |
三元表达式
result = a if a <b else c
等价于
if a <b:
a = a
else:
a = c
如果a <b 返回a 否则返回c
四、bytes数据类型
python3 中文本总是Unicode,由str类型表示,二进制用bytes类型表示
python3 中文本总是Unicode,由str类型表示,二进制用bytes类型表示
bytes转成二进制再转回来
msg = “今天天气特别好”
(msg.encode(encoding=“utf-8”).decode(encoding=”utf-8”))