一、初识模块2
标准库:
1 import sys
2
3 print(sys.path) #新建文件名不能与导入的模块名相同
4 print(sys.argv)
1 import os
2
3 cmd_res = os.system("dir")#执行命令,不保存结果
4 cmd_res = os.popen("dir").read()
5 print("-->",cmd_res)
6
7 os.mkdir("new_dir")#新建目录
第三方库:
例如自行写一个login.py的模块用以将来使用时调用
1 import getpass
2
3 _username = 'Irlo'
4 _password = 'abc123'
5 username = input("username:")
6 password = getpass.getpass("password:") #pycharm中getpass不可用
7
8 if _username == username and _password == password:
9 print("Welcome user {name} login...".format(name=username))
10 else:
11 print("Invalid username or password!")
以后想要使用这个模块时直接调用“import login”即可。调用这个模块时要确保login.py与应用文件在同一目录下,或者将login.py存放在site-packages文件夹中。
在调用login.py的模块时会自动生成一个login.pyc文件,python在第一次执行代码的时候先预编译一次存为.pyc,下一次运行的时候查找与运行文件同名的.pyc文件,比较两个文件的修改时间,如果.py文件比较新,则重新创建一个.pyc,反之则直接执行。
二、数据类型
数字:
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1;
在64位机器上,整数的位数为64位,取值范围为-2**63~2**63-1.
在python3里没有长整形,python3会帮你自动转换
3.14和314.1592E-4是浮点数的例子,E标记表示10的幂
复数由实数部分和虚数部分组成,一般形式为x+yj。基本用不上,物理工程类能用上
布尔值:
真或假
1或0------>True or False
字符串:
用"内容"表示。万恶的字符串拼接不要用
字符串格式化输出:
name = "Irlo"
print("My name is %s" % name)
#输出"My name is Irlo
字符串操作:
1 name = "My name is Irlo"
2
3 print(name.capitalize())
4 print(name.count("m"))
5 print(name.center(50,"-"))
6 print(name.endswith("lo"))
7 print(name.find("s"))
8 print(name.format(name="Irlo",year=26))
9 print(name.isalnum())
10 print("234".isdecimal())#判断是否为十进制
11 print("1A".isdigit())#判断是否为数字
12 print("1A".isidentifier())#判断是否为一个合法的标识符
13 print("33.2".isnumeric())#判断是否只有数字
14 print("My Name Is ".istitle())#判断是否是标题,如果首字母都是大写就算是
15 print("+".join(["1","2","3"]))#把列表按照适当的方式变成字符串
16 print(name.ljust(50,"*"))
17 print("Irlo/n".lstrip())#strip会去除两边的空格和回车,lstrip会去除左边的空格和回车
18 print(name.maketrans())
str operation
列表:
1 name = ["Irlo","Xiaoxiao","Dali"]
2
3 name_list = list(["Irlo","Xiaoxiao","Dali"])
列表操作:索引、增加、删除、修改、切片、循环、包含
1 names = ["ChenXiaojie","JiYuchi","YuTao","XiaoXiao","LiYuhan"]
2 names2 = ["1","2","3","4","5","6"]
3 #print(names[2])#切片
4 #print(names[-1])#切片
5 #print(names[:3])#切片
6 #print(names[-3:])#切片
7 names.append("KangKai")#添加
8 names.insert(1,"DengKai")#插入
9 names.insert(3,"XiaoXiao")#插入
10 names.remove("YuTao")#移除
11 del names [0]#删除数据
12 #print(names.count("XiaoXiao"))#计数
13 #print(names.index("JiYuchi"))#获取下标
14 names.reverse()#倒转顺序
15 #del names2 #删除变量
16 names.extend(names2)#扩展
17 names.sort()#排序
18 print(names)
列表的操作中copy比较特殊
1 import copy#完全复制需要导入模块copy
2 names = ["JiYuchi","YuTao",["XiaoXiao"