一、模塊的認識。 模塊:指的是把預先寫好的內容封裝成一個模塊,可用時直接調用,模塊又稱為庫 模塊又稱為標準庫和第三方庫。 標準庫,預設安裝好官方所公佈的庫 C:\Python35\Lib 第三方庫,是從網上下載下來需要安裝上去。C:\Python35\Lib\site-packages getpas ...
一、模塊的認識。
模塊:指的是把預先寫好的內容封裝成一個模塊,可用時直接調用,模塊又稱為庫
模塊又稱為標準庫和第三方庫。
標準庫,預設安裝好官方所公佈的庫 C:\Python35\Lib
第三方庫,是從網上下載下來需要安裝上去。C:\Python35\Lib\site-packages
getpass模塊 用戶輸入密碼為加密。
sys.path 列印當前變數
sys.argv 列印絕對路徑。CMD下模擬運行 後面加1 2 3
print(sys.argv[2]) 調用上面輸出的第2 電腦計算都是從0開始。輸出的時候可單獨取上面一數字。
os.system 調用系統
os.popen 輸出結果
import sys
print(sys.path) #列印變數。
print(sys.argv) #列印當前絕對路徑 print(sys.argv) 1 2 3。
os
import os
cmd_os = os.system("dir") #顯示結果,但不保存結果。
cmd_os = os.popen("dir").read() #顯示結果只是先寄存到記憶體器里,用.read可讀出來。
print("--->",cmd_os) #"--->"標記的意思。
os .mkdir("new_dir")
二、pyc是什麼?
pyc存放在第三方庫文件下
1、 Python是一門解釋型語言。
2、電腦不能夠識別高級語言。C++ JAVA編譯型語言。
編譯型在執行前,通過編譯器對程式執行一個編譯過程,轉變成機器語言。運行時就不需要翻譯,直接執行,速度快效率高。
解釋型語言沒有編譯過程,而在運行的時候,通過解釋器對程式逐行作出解釋,然後直接運行,典型的是Ruby,Python.
java先編譯後解釋,會預編譯。
3、Python到底是什麼?
Python先解釋後編譯的語言。
4、python的運行過程
三、數據類型初識
1、int(整型)
在32位機器上,整數的位數為32位,取值範圍為-2**31~2**31-1,即-2147483648~2147483647
在64位系統上,整數的位數為64位,取值範圍為-2**63~2**63-1,即-9223372036854775808~9223372036854775807
long(長整型)
跟C語言不同,Python的長整數沒有指定位寬,即:Python沒有限制長整數數值的大小,但實際上由於機器記憶體有限,我們使用的長整數數值不可能無限大。
註意,自從Python2.2起,如果整數發生溢出,Python會自動將整數數據轉換為長整數,所以如今在長整數數據後面不加字母L也不會導致嚴重後果了。
2、布爾值
真或假
True false
1 或 0
3、編碼轉換
msg = "你好!!!"
print(msg.encode("utf-8").decode()) 先轉換UTF-8後再轉回。
四、運算符
算數運算符:
比較運算:
賦值運算:
邏輯運算:
成員運算:
身份運算:
位運算:
五、三元運算
>>> a,b,c = 1,3,5
>>> d = a if a >b else c
>>> d
5
>>> d = a if a <b else c
>>> d
1
>>>
六、進位
二進位,01
八進位,01234567
十進位,0123456789
十六進位,0123456789ABCDEF 二進位到16進位轉換http://jingyan.baidu.com/album/47a29f24292608c0142399cb.html?picindex=1
七、列表
name = ["4laotou","#xiaoming","lishi","!zhangfei"] #註意:列表中的字元是需要中括弧,並且雙引號逗號隔開
切片:
print(name[:2]) #切片 取前兩個 :號前面沒有輸入值代表從零開始。
print(name[-2:]) #切片 取後兩個值。
附加 .append:
name.append("xiaoli") #附加一個列表內容。
插入 .insert:
name.insert(1,"lanlou") #插入一個列表值,並把當前列表向後移。
name.insert(3,"wangbing") #插入一個列表值,並把當前列表的值向後移。
重定值:
name[2] = "shiji" #重新賦一個值改名稱。
刪除 .remove:
name.remove("lishi") #刪除方法1
del name[3] #刪除方法2
name .pop(2) #刪除方法3
排序 .sort:
name.sort() #排序如有數字開頭和特殊符號開頭,不同的情況有不同的排序。
擴展模塊:
name2 =["1","2","3"]
name.extend(name2)
print(name,name2)
查找索引 index:
print(name.index("lishi")) #查找索引。
rint(name[(name.index("lishi"))]) #查找到之後再列印出來。
統計 .count:
print(name.count("zhangshang")) #查詢表裡有幾個zhanghsan
列表:
name = ["laotou","xiaoming",["lishi","zhangfei"],"pengqing"]
name2 = copy.copy() #潛拷貝
name2 = copy.deepcopy(name) #深拷貝,可以完全獨立的克隆!
print(name)
print(name2)
name[1] = "小明"
name[2][0] = "李四"
print(name)
[]列表.[]里的數據,數據類型永遠是列表.
{}花括弧,通過.format動作.逐一將{}里內容賦值
()執行動作時,都要用()
購物車作業要求:
用戶打開程式
用戶輸入薪資
列印商品列表
用戶選擇商品
判斷輸入的是否是商品存在的列表
判斷餘額是否足夠
加入購物車
減商品金額
用戶可隨時退出
列印購買的商品列表
commodity = [
("xiaomi book Air",4500),
("cuizhi phone",3800),
("HuaWei book",5800),
("book",120),
("coffee",32),
]
shoping_list = [] #此處存的為已購買的商品列表!
salary = input("您的薪資多少?") #輸入薪資
if salary.isdigit(): #對上一條輸入的判斷是否是數字類型
salary = int(salary) #如果不是需要用int來轉換類型
while True:
for index,list in enumerate(commodity): #index,list前面指的是查詢下標,後面的list指的是數據。
# for list in (commdity):
# print(commodity.index(list),list) 取下標來找商品列表,此種方法,效率比較低!
print(index,list)
select = input("您要買個什麼玩意!請輸入序號:") #輸處要選擇的商品序號
if select.isdigit(): # .isdigit()判斷是否是整數,新的知識點。
select = int(select) #對整數進行整型。
if select < len(commodity) and select >=0: #判斷輸入的值是否在商品列表的下標序號,其中len判斷列表長度並返回數字。
number = commodity[select] #通過下標 把商品取出來
if number[1] < salary: #判斷所選商品價格是否小於薪資
shoping_list.append(number) #加入購物車列表
salary -= number[1] #薪資減去商品
print("已經購買了[%s],餘額還有[%s]:"%(select,salary)) #列印已購買的商品列表和餘額。
else:
print("你都買錢了還買個屁啊!")
else:
print("您選擇的[%s]商品不存在"%select)
elif select == "q": #判斷用戶選擇列表時是否為字元q
print("----- shoping list -----")
for s in shoping_list: #迴圈商品列表。
print(s)
print("你的餘額還有:[%s]"%salary) #列印餘額。
exit()
else:
print("invalid option")