1. 程式人生 > >新手自學:pytion基礎(第二周筆記)

新手自學:pytion基礎(第二周筆記)

else 安裝使用 deepcopy sys translate cat 初始 三級 操作系統

一,模塊初識

.標準庫,不需要安裝使用pytion最基礎的內容

.第三方庫 必須下載安裝

.自己寫模塊或者文件名字不能和需要導入的庫名相同
import sys #sys 模塊
sys.path
print(sys.path) #打印環境變量 提示sys.xxx
print(sys.argv) #打印絕對路徑 :相對路徑
print(sys.argv[2])
import os #用於和操作系統進行交互模塊的os模塊
os.system("dir") #dir查看當前路徑
cmd_res=os.system("dir")#執行命令不保結果
cmd_res=os.popen("dir").read #read 把結果存到內存裏的一個臨時的地方
print("-->",cmd_res)
os.mkdir("new_dir") mkdir 創建目錄用的

模塊調用 自己寫一個輸入用戶密碼的py 然後在新的py裏inport 這個模塊即可使用

二,數據類型

數字
int(整形)
long(長整形)
.整數
.浮點數
float(浮點數)2.32和52.3e-4
complex(復數)(-5+4j)(2.3-4.6j)

布爾值
.真或假.1或0
.真Tune 假false
.字符串
."hello world"

.數據運算
計算機中表示的最小單位,是一個二進制位
計算機中存儲的最小單位,是一個二進制位

8bit= byte(字節)
1024byte= 1kbyte
1024kbyte=1mbyte
1024mbyte=1gbyte
1024gbyte=1tbyte


三元運算
result=值1 if條件 else值2
如果條件為真:result=值1
如果條件為假:result=值2
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
H代表十六進制 如bh=11
0x也是
encode
decode 二進制轉字符塊
msg=("我愛愛北京天安門")
print(msg.encode(encoding="utf-8")) #轉二進制
print(msg.encode(encoding="utf-8").decode(encoding="utf-8")) #轉回

把一個字符塊用encode轉成二進制byte 再將用decode轉回字符塊.

三,列表 元祖的使用

列表,元組操作
names=["Alex","enle","good","hello","yello","school"] #列表
names2=("sui lin", "lin xin","zhi qiang")#元組 =只讀列表 不具有修改,增加,刪除等特性
#print(names[0])#Alex
#print(names[3])#hello
#print(names[1:3])#[‘enle‘, ‘doog‘]切片<取兩個數中間的值>
#print(names[-2])#yellow
#print(names[-3:-1])#[‘hello‘, ‘yello‘]切片
#print(names[:3])#[‘Alex‘, ‘enle‘, ‘good‘]前邊或者後邊不寫即取最後<前>一個值
#names.reverse() #<將列表反著打印>
#names.sort() #按ASCll碼排序
#names.append("glood")#增加用戶在最後
#names.insert(1,"glood")#再指定位置增加用戶,原來用戶往後移動一位
#names[2]="king" #替換用戶
#names.remove("good")#刪除一個用戶
#del names [2] #刪除用戶第二種方法
#names.pop(2)#pop刪除最後一個輸入位置則執行位置
#print(names.index("good")) 查到用戶的位置
#print(names[names.index("good")])#查找並打印用戶的賬戶
#print(names.count("good"))#統計用戶姓名數量
#names.clear()#清空用戶數據
#del names2[:]#刪除names2的用戶數
#names.extend(names2)#增加一個分組
print(names)

names.copy() 相當於復制一個列表
復制一份names2 等於name
把names裏邊的用戶改一個成中文
names列表裏再包含一個列表
只淺copy第一層 不copy修改的地方

調用copy模塊 使name2=copy.copy(names)
使name2=copy.deepcopy(names) #深copy
print(names[0:-1:2])#跳著打印
print(names[::2]) #跳著打印

做列表的for循環
for i in names:
print(i)
代碼

names=["Alex","enle","good",["tich","alppe"],"hello","yello","school"]
names2=["sui lin", "lin xin","zhi qiang"]
names3 = copy.deepcopy(names)#深copy
names4= copy.copy(names)#淺copy的三種實現方式
names5= names[:] #切片實現淺copy
naes6= list(names)

#print(names[0:-1:2])
#print(names[::2])
names[2]="非常好"
names [3][1] = "flac"
print(names3)
print(names)
print(names3)

for i in names:
print(i)

四,購物車程序代碼

技術分享技術分享

#print(products_list.index(item),item)# index 索引 item 逐條列出
#break


#enumerate ()#把列表的下標排序直接找出來

#print(salary)

五, 字符串的常用操作

print(name.capitalize())#首字母大寫
print(name.count("e")) #統計字母數量
print(name.center(50,"-")) #標題50個-號
print(name.encode())#把字符串轉成二進制
print(name.endswith("le"))#判斷尾數是否以""結尾
print(name.expandtabs(tabsize=50)) #把\t轉為空格
print(name[name.find("l"):])# 位置及切片
print(name.format(name="enle",age="22"))#改變{}裏的變量
‘‘‘
print(name.isdigit()) #判斷name是否為數字
print(‘asdf123‘.isalnum())#判斷這是不是一個阿拉伯數字
print(‘abA‘.isalpha())#純英文字符
print(‘1‘.isdecimal())#忘記他
print(‘1‘.isdigit())#判斷是否為一個整數
print(‘a1A‘.isidentifier())#判斷是不是一個合法的標識符
print(‘a1a‘.islower())#‘判斷是不是小寫‘
print(‘33‘.isnumeric())#忘記他
print(‘ ‘.isspace())#判斷是不是空格
print(‘My Name Is‘.istitle()) #判斷是不是大寫開頭
print(‘My Name Is‘.istitle())#tty file drive file
print(‘M‘.isupper())#判斷是否全是大寫
print(‘+‘.join([‘1‘,‘2‘,‘3‘,‘4‘])) #轉成字符串
print(name.ljust(50,‘*‘))#表示長50 不夠用*號補上
print(name.rjust(50,‘*‘))#表示長50 不夠用*號補上
print(‘Enle‘.lower())#把大寫變成小寫
print(‘Enle‘.upper())#把小寫變成大寫
print(‘\nEnle‘.lstrip())#去除左邊\n換行空格
print(‘Enle\n‘.rstrip())#去除右邊\n換行空格
print(‘\nEnle\n‘.strip())#去除左右邊\n換行空格
p= str.maketrans("abcdefli",‘123$%456‘)
print("alex li".translate(p)) # 古代的文本加密模式
print("alex li".replace(‘l‘,‘L‘,1))
print("alex lie".rfind(‘e‘))#找到最後面值的下標
print("alex li".split(‘l‘))#按照空格來分成列表或者符號
print("1+2\n+3+4".splitlines())#自動識別不同系統換行
print("alEx li".swapcase()) #大小寫互相轉換
print("alex li ee".title())#把首字母換成
print("alex li".zfill(50))#不夠的用0填充

六,字典的使用

#字典沒有下標只有key

info = {
‘stu1101‘: "TengLan Wu",
‘stu1102‘: "LongZe Luola",
‘stu1103‘: "XiaoZe Maliya",
} #字典
for i in info:
print(i,info[i]) #最簡單的循環打印出字典所有東西 只有i只答應key值
for k,v in info.items():
print(k,v)
#區別是上面這種比下面哪種高效很多,第一種直接通過key取出數據

‘‘‘
b={
‘stu1101‘:"alex",
1:3,
2:5,
}第二個字典

info.update(b)#有就修改沒有及添加合並字典


#print(info)
c=dict.fromkeys([6,7,8],[1,{"name":"alex"},555])#初始化一個新的字典 為key附一個臨時的值
print(c)
c[7][1][‘name‘] = "jace chen"
print(c)
#print(info.items()) #把字典轉為列表


print(info)
print(info.get("stu1102")) #安全找出stu1102的值
print(‘stu1104‘ in info)# 判斷是否有stu1104這個值.ifo.has_key pytion3裏沒有了

#print(info["stu1103"])
info["stu1101"]="武藤蘭"#修改
info["stu1104"]=" cangjingkong"#添加
#info["stu1102"]="武藤蘭"#修改
#del info["stu1104"]#刪除第一種方法
#info.pop("stu1101")#刪除第二種
#info.popitem()#隨機刪除

技術分享


av_catalog.setdefault("大陸",{"網址":[1,2]})
print(av_catalog)


#av_catalog.setdefault() 如果能找到字典裏的值就用字典裏的找不到就添加


#print(info)

七,三級菜單程序

以下為代碼

技術分享技術分享技術分享

實現每一級都能退出 每一級都能返回上級菜單

八,作業

購物車的優化
用戶入口
1.商品信息存在文件裏
2.已購商品,余額記錄.
商家入口

2.可以添加商品,修改商品價格

新手自學:pytion基礎(第二周筆記)