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
运算符优先级
** |
指数(最高优先级) |
~ + - |
按位翻转,一元加号和减号(最后两个的方法名为 [email protected] 和[email protected]) |
* / % // |
乘,除,取模和取整数 |
+ - |
加法减法 |
>> << |
右移,左移运算符 |
& |
位’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”))