模块初识
一、sys模块 初识
#!/usr/bin/env python3 # -*- coding:utf-8 -*- # xxxxxx import sys print(sys.path) print(sys.argv) print(sys.argv[2])
备注:
sys中的path方法打印的是该文件的相对路径;
sys中的argv方法是接收脚本执行时后面跟随的变量;
sys.argv[2] 表示获取脚本执行时跟随的第二个参数。
二、os模块 初识
import os cmd_ip = os.system("ipconfig") #执行命令,不保存结果 print("-->",cmd_ip)
备注:
os.system方法是执行系统命令,但是该方法是直接执行并将结果显示到屏幕,不会保留到cmd_ip中;只会将命令执行后的返回状态值赋值给cmd_ip;
import os cmd_ip = os.popen("ipconfig").read() #赋值,并读取 print("-->",cmd_ip)
备注:
os.popen 是将执行结果放到内存中,os.popen("ipconfig").read() 是通过read方法将内存的数据读出来;
import os cmd_ip = os.mkdir("ipconfig") print("-->",cmd_ip)
备注:
os.mkdir 创建文件夹,默认是相对路径,也可绝对路径;
三、第三方模块调用
login.py import getpass username = input("请输入用户名:") password = getpass.getpass("请输入密码:")
sys_os.py
import login
备注:
引用第三方模块,该模块要么在该py脚本的同级目录下;要么在python安装路径的Libsite-packages目录下;或者就要修改默认的环境变量将第三方模块所在的路径加入环境变量
四、数据类型初识
1、数字
2 是一个整数的例子。
长整数 不过是大一些的整数。
3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。
(-5+4j)和(2.3-4.6j)是复数的例子,其中-5,4为实数,j为虚数,数学中表示复数是什么?。
int(整型)
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
float(浮点型)
浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
complex(复数)
复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
"hello world"
name = "alex" print "i am %s " % name #输出: i am alex
PS: 字符串是 %s;整数 %d;浮点数%f
- 移除空白
- 分割
- 长度
- 索引
- 切片
name_list = ['alex', 'seven', 'eric'] 或 name_list = list(['alex', 'seven', 'eric'])
基本操作:
- 索引
- 切片
- 追加
- 删除
- 长度
- 切片
- 循环
- 包含
ages = (11, 22, 33, 44, 55)
或
ages = tuple((11, 22, 33, 44, 55))
6、字典(无序)
person = {"name": "mr.wu", 'age': 18} 或 person = dict({"name": "mr.wu", 'age': 18})
常用操作:
- 索引
- 新增
- 删除
- 键、值、键值对
- 循环
- 长度
十二、数据运算
算数运算:
比较运算:
赋值运算:
逻辑运算:
身份运算:
位运算:
#!/usr/bin/python a = 60 # 60 = 0011 1100 b = 13 # 13 = 0000 1101 c = 0 c = a & b; # 12 = 0000 1100 print "Line 1 - Value of c is ", c c = a | b; # 61 = 0011 1101 print "Line 2 - Value of c is ", c c = a ^ b; # 49 = 0011 0001 #相同为0,不同为1 print "Line 3 - Value of c is ", c c = ~a; # -61 = 1100 0011 print "Line 4 - Value of c is ", c c = a << 2; # 240 = 1111 0000 print "Line 5 - Value of c is ", c c = a >> 2; # 15 = 0000 1111 print "Line 6 - Value of c is ", c
*按位取反运算规则(按位取反再加1) 详解http://blog.csdn.net/wenxinwukui234/article/details/42119265
运算符优先级:
更多内容:猛击这里
入门知识拾遗
一、bytes类型
二、三元运算
result = 值1 if 条件 else 值2
如果条件为真:result = 值1
如果条件为假:result = 值2
三、进制
- 二进制,01
- 八进制,01234567
- 十进制,0123456789
- 十六进制,0123456789ABCDEF 二进制到16进制转换http://jingyan.baidu.com/album/47a29f24292608c0142399cb.html?picindex=1
计算机内存地址和为什么用16进制? 为什么用16进制 1、计算机硬件是0101二进制的,16进制刚好是2的倍数,更容易表达一个命令或者数据。十六进制更简短,因为换算的时候一位16进制数可以顶4位2进制数,也就是一个字节(8位进制可以用两个16进制表示) 2、最早规定ASCII字符集采用的就是8bit(后期扩展了,但是基础单位还是8bit),8bit用2个16进制直接就能表达出来,不管阅读还是存储都比其他进制要方便 3、计算机中CPU运算也是遵照ASCII字符集,以16、32、64的这样的方式在发展,因此数据交换的时候16进制也显得更好 4、为了统一规范,CPU、内存、硬盘我们看到都是采用的16进制计算 16进制用在哪里 1、网络编程,数据交换的时候需要对字节进行解析都是一个byte一个byte的处理,1个byte可以用0xFF两个16进制来表达。通过网络抓包,可以看到数据是通过16进制传输的。 2、数据存储,存储到硬件中是0101的方式,存储到系统中的表达方式都是byte方式 3、一些常用值的定义,比如:我们经常用到的html中color表达,就是用的16进制方式,4个16进制位可以表达好几百万的颜色信息。
备注:
此篇文章为总结附加摘抄所得,有问题请直接访问 银角大王 博客。