一、Python数据类型
int整型和long长整型
整数分为整型和长整型(比较长的整数),在python3里就不区分int和long了,全部是int
float浮点型
一个整数乘以2的n次幂的到的一个近似实数的数
通常我们认为是带小数点的数。
字符串
除了数字外的都是字符串,数字也可以转换成字符串。
1.sys
print(sys.path)打印当前路径下的所有文件名
2.os,os.system,os.popen,os.mkdir
import os
cmd = os.system("df -lh")#os.system并不能将结果返回给cmd变量,他只能输出在屏幕
上
cmd2 = os.popen("df -lh").read()#不加read()的话,只是返回一个对象的内存地址,不是想要的结果
os.mkdir("目录名")#创建新目录
print (cmd)
prin(cmd2)
结果
0 # cmd的打印结果
以下是cmd2的打印结果
C:\Python33\python学习\第二天\课程 的目录
2016-07-30 10:38 <DIR> .
2016-07-30 10:38 <DIR> ..
2016-07-30 10:38 365 os.py
2016-07-30 10:37 <DIR> 目录名
1 个文件 365 字节
3 个目录 14,422,011,904 可用字节
4.&按位与运算 60 & 13 = 12
0 0 1 1 1 1 0 0 =60
0 0 0 0 1 1 0 1 = 13 上下与运算得:
--------------------------
0 0 0 0 1 1 0 0 = 12
5.|按位或运算 60 | 13 = 61
0 0 1 1 1 1 0 0 =60
0 0 0 0 1 1 0 1 = 13 上下或运算得:
--------------------------
0 0 1 1 1 1 0 1 = 61
6. ^ 按位 异或 运算(上下相同为0,不同为1) 60 ^ 13 = 49
0 0 1 1 1 1 0 0 =60
0 0 0 0 1 1 0 1 = 13 上下 异或 运算得:
--------------------------
0 0 1 1 0 0 0 1 = 49
7. >> 按位 右移 表示除,右移一位,就表示除2
13 >> 2 表示13的二进制右移2位,表示13除4
0 0 0 0 1 1 0 1 = 13 整体右移2位,就会将最后的0 1挤掉,变成:
------------------------------
0 0 0 0 0 0 1 1 = 3
8. << 按位 左移 表示乘
13 << 2 表示13的二进制左移2位
0 0 0 0 1 1 0 1 = 13 整体左移2位,就会在最后添加0 0,变成:
------------------------------
0 0 0 0 1 1 0 1 0 0 = 52
9.三元运算
r = v1 if 条件 else v2 #如果条件为真,则r = v1;条件为假,则r = v2
10.16进制
每4个2进制表示一个16进制
如:1111表示16进制的F
11.字符串转成二进制用encode,二进制转成字符串用decode
1 msg = "王腾"2 b_msg = msg.encode(encoding="utf-8")3 print(b_msg)4 s_msg = b_msg.decode(encoding="utf-8")5 print(s_msg)
输出:b'\xe7\x8e\x8b\xe8\x85\xbe' 王腾
12.列表
name = [1,2,3,4,5,6]
切片:name[2:5]:取列表name的第2到第4个元素,并形成一个新列表
输出:[2,3,4]
name[-1]:取最后一个元素
输出:6
name[-3:]:负号表示从右往左数,取从倒数第3个到最后一个元素,形成列表
输出:[4,5,6] 等同于name[3:]
name[:3]:输出:[1,2,3]
name[2:]:输出:[3,4,5,6]
插入:
name.insert(1,"0") #1表示列表的第一个位置,“0”表示插入的元素,一次只能插入一个
替换:
name[2] = "8"#表示将列表的第二个元素替换成8
删除:
name.remove("8")#将8删除
或:del name[2]#也可将8删除
name.pop()将列表的最后一个元素删除
查看索引号:
name.index("8")#得出8的索引号
查看列表中有几个相同元素:
name.count("8")查看列表中有几个8
顺序翻转:
name.reverse()将列表中的元素顺序翻转,返回name列表
元素排序:
name.sort()给列表中的元素排序,返回原列表
列表合并
name.extend(另一个列表):将两个列表合并,返回name列表
浅拷贝(只拷贝第一层)
a = name.copy()#将name的值拷贝给a,修改name的值,a的值不会变,如果name里
还有一个列表b,则只拷贝b的内存地址,所以改name中b列表的值,a中b列表的值也会
改变。
深拷贝
import copy
a = copy.deepcopy(name)将name的值及包含的列表全部拷贝一份,形成新列表a
步长:
range(1:9:2) 开始:结束:步长
输出:1,3,5,7
13.元组
元组操作方法跟列表一样,但是其元素不可更改
14.字符串操作
以下全是str.
capitalize()首字母大写
count('n')统计n的个数
name.center(50,"-")把name放中间,总共50字符,不够的用-补齐
输出:-------------wangteng--------------
'A'.isidentifier()#判断A是不是合法的变量名
'+'.join(['ss','ss','ss']) 用+连接三个字符串
字符串替换
str.replace("old","new")
15.字典
dic.get(key,default_value)若key存在,则返回对应的value,若key不存在,则返
回default
dic.fromkeys()
遍历字典,这种方法最好
for key in info: print(key,info[key])
16.切片
1 l = [1,2,3,4,5] 2 print(l) 3 print(l[:-1]) 4 print(l[-1]) 5 6 7 输出: 8 [1, 2, 3, 4, 5] 9 [1, 2, 3, 4]10 5
17.判断文件大小,视频等都可以判断
1 #第一种方法2 import os3 le = os.path.getsize('xx.txt')4 print(le)5 6 #第二种方法7 with open('xx.txt','rb') as f:8 data = f.read()9 print(len(data))