模块
模块分两种
1、标准模块(库)
直接导入就可以使用
2、第三方模块(库)
必须下载安装才可以使用
模块又可以叫做库
初始两个标准模块:
1、sys模块
例子:
import sys #导入sys模块 print (sys.path) 结果: ['C://Users//kk//Documents//python', 'C://python35.zip', 'C://DLLs', 'C://lib', 'C://Users//kk//Documents//python']
注:自己定义模块不能跟导入库名相同
2、os模块
例子:
import os os.system("dir")#执行命令,不保存结果 cmd_r = os.popen("dir").read() print("-->",cmd_r) 创建一个目录 os.mkdir("new_dir")
3、自己定义模块
#导入自己创建的Login模块
当前路径创建Login模块;注:也可以把该Login.py放在python路径下的site-packages目录下,就可以直接在别的文件下导入该模块
#判断登录 Login.py import getpass #引用getpass这个模块 _username = "kk" _password = "123456" username = input("username:") password = getpass.getpass("password") #getpass功能是让密码不直接显示成明文 if _username == username and _password == password: # print("Welcome user {name} login...".format(name = username)) print("Welcome user %s login..." % username) else: print("error") print(username,password)
当前路径创建learn01.py
#导入自己创建的Login模块 import Login
运行
C:/Users/kk/Documents/python>python learn01.py username:kk password Welcome user kk login... kk 123456
4、pyc是个什么东西?
编译器语言,典型例子C语言
解释器语言,现行例子Ruby、python
java是先编译后解释的语言
其实python和java、C#一样,也时一门基于虚拟机的语言,
当我们在命令行输入python hello.py时,其实是激活了Python的“解释器”,
告诉“解释器”,你要开始工作了。
python是一门先编译后解释的语言。
当python程序运行时,编译的结果则是保存在位于内存中的PyCodeObject中,
当Python程序运行结束时,Python编译器则将PyCodeObject写会到pyc文件中。
当python程序第二次运行时,先去硬盘找Pyc文件,如果找到直接载入,否则重复上面的过程。
所以我们应该这样来定位PyCodeObject和pyc文件,我们说pyc文件其实是PyCodeObject的一种持久化保存方式。
5、Python数据类型
a、数字
int(整型)
long(长整型)
float(浮点型)
complex(复数)
注:type()查看数据类型
b、布尔值
真或假
1或0
c、字符串
“Hello,World”
6、数据运算
运算符
比较运算
赋值运算
逻辑运算
成员运算
身份运算
位运算
计算机中能表示的最小单位,是一个二进制位
计算机中能存储的最小单位,是一个二进制位(bit)
8bit = byte(字节)
跟Alex学Python之Python开发基础-1
7、bytes数据类型
三元运算
8、列表的使用
a列表、元组操作
例子:
names = ["zhangyang","guyun","xiangpeng","xuliangchen"] print(names[0]) print(names[1:3])#切片 python learn01.py zhangyang ['guyun', 'xiangpeng'] names.pop("guyun")#如没有输入参数值,就默认删除列表最后一个值 names.append("kk")#列表最后加入一个值 names.insert(1,"kkk")#列表中间插入 names[2] = "kkkk"#修改列表中值 names.remove("kkkk")#删除对应 del names[1]#另外一个删除方法 names.count("kk")#可添加重复值 names2 = names.copy()#复制
例子2:
import copy #浅拷贝 a = [11,22,["kk","qq"],33] b = copy.copy(a)#拷贝一层 print(a) print(b) a[1] = 100 a[2][0] = "kaixin" print(a) print(b) #深拷贝-不可轻易使用 a = [11,22,["kk","qq"],33] b = copy.deepcopy(a)#完全克隆 print(a) print(b) a[1] = 100 a[2][0] = "kaixin" print(a) print(b) 结果: [11, 22, ['kk', 'qq'], 33] [11, 22, ['kk', 'qq'], 33] [11, 100, ['kaixin', 'qq'], 33] [11, 22, ['kaixin', 'qq'], 33] [11, 22, ['kk', 'qq'], 33] [11, 22, ['kk', 'qq'], 33] [11, 100, ['kaixin', 'qq'], 33] [11, 22, ['kk', 'qq'], 33] a = [11,22,["kk","qq"],33,44,55] print(a[0:-1:2]) for i in a: print(i) #浅拷贝第二种 #c = a[:] #浅拷贝第三种 #d = list(a) #注:浅拷贝就是相当于引用 #浅拷贝的用处 person = ["name",["saving",100]] #表示姓名+存款 p1 = person[:] p2 = list(person) p1[0] = "kk" #p1表示为kk这个人的列表,他们俩为夫妻关系 p2[0] = "qq" #p2表示为qq这个人的列表,他们俩为夫妻关系 #p1和p2夫妻有共有财产100 #如果p1花了50块钱,那p2那里同样会减少50 p1[1][1] = 50 print(p1) print(p2) #元组 #names = ("a","b",11) #print(names[0])
9、购物车程序
#程序:购物车程序 project_list = [ #定义商品列表 ('Iphone',5800), ('Mac Pro',9800), ('Bike',800), ('Watch',10600), ('Coffee',31), ('Alex Python',120), ] shopping_list = [] #定义购物车已购商品空列表 salary = input("请输入您的工资金额:") #输入总金额 if salary.isdigit():#判断输入的金额是不是数字 salary = int(salary)#是数字的话转换成整数型 while True: # for item in project_list:遍历商品列表 # print(project_list.index(item),item) for index,item in enumerate(project_list):#遍历商品列表 print(index,item)#打印编号和对应商品 user_choice = input("选择要购买的商品编号>>>:")#输入商品编号 if user_choice.isdigit():#判断输入的编号是不是数字 user_choice = int(user_choice)#如果是数字转换为整数型 if user_choice < len(project_list) and user_choice >= 0:#判断编号是不是小于商品标号总数并且大于0 p_item = project_list[user_choice]#获取商品价格 if p_item[1] <= salary: #买得起 shopping_list.append(p_item)#把商品添加到购物车列表 #salary -= p_item[1]#计算剩余工资 salary = salary - p_item[1]#计算剩余工资 print("购买 %s 该商品后剩余金额为[%s元]。" % (p_item,salary))#购买商品后剩余金额 else: print("您的余额只剩[%s]了,无法购买了!" %salary ) #金额不足给提示 else: print("您输入的商品标号[%s]不存在。" % user_choice) #输入的商品编号不存在给提示 elif user_choice == 'q': #输入q后退出循环 print('--------exit--------') for p in shopping_list:#退出后打印购物车商品列表 print(p) print("您的余额还剩[%s元]。" % salary)#显示剩余金额 exit()#退出方法 else: print("Invalid Option") #衍生出一下内容: #加颜色 #/033[31; 1m %s /033[0m #%s就是要变色的内容,31指的是红色 #注:index()方法如果包含子字符串返回开始的索引值,否则抛出异常。 ''' a = ["a","b","c"] for i in a: print(a.index(i),i) >>> 0 a 1 b 2 c ''' #注释:enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。 #seasons = ['Spring', 'Summer', 'Fall', 'Winter'] #print(list(enumerate(seasons))) #>>>[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')] #注:Python isdigit() 方法检测字符串是否只由数字组成。 #如果字符串只包含数字则返回 True 否则返回 False。 #例如: #str = "123456"; # Only digit in this string #print str.isdigit(); #>>>True
原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/191582.html