模塊
模塊分兩種
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 免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。