溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python之路-基礎(chǔ)篇4

發(fā)布時(shí)間:2020-06-18 00:07:35 來源:網(wǎng)絡(luò) 閱讀:874 作者:jikunsishen 欄目:軟件技術(shù)

模塊

模塊分兩種

1、標(biāo)準(zhǔn)模塊(庫)

    直接導(dǎo)入就可以使用

2、第三方模塊(庫)

    必須下載安裝才可以使用

模塊又可以叫做庫


初始兩個(gè)標(biāo)準(zhǔn)模塊:

1、sys模塊

例子:

import sys #導(dǎo)入sys模塊
print (sys.path)

結(jié)果:
['C:\\Users\\kk\\Documents\\python', 'C:\\python35.zip', 'C:\\DLLs', 'C:\\lib', 'C:\\Users\\kk\\Documents\\python']

注:自己定義模塊不能跟導(dǎo)入庫名相同


2、os模塊

例子:

import os
os.system("dir")#執(zhí)行命令,不保存結(jié)果

cmd_r = os.popen("dir").read()
print("-->",cmd_r)

創(chuàng)建一個(gè)目錄
os.mkdir("new_dir")

3、自己定義模塊

#導(dǎo)入自己創(chuàng)建的Login模塊

當(dāng)前路徑創(chuàng)建Login模塊;注:也可以把該Login.py放在python路徑下的site-packages目錄下,就可以直接在別的文件下導(dǎo)入該模塊


#判斷登錄 Login.py
import getpass  #引用getpass這個(gè)模塊

_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)

當(dāng)前路徑創(chuàng)建learn01.py

#導(dǎo)入自己創(chuàng)建的Login模塊
import Login

運(yùn)行

C:\Users\kk\Documents\python>python learn01.py
username:kk
password
Welcome user kk login...
kk 123456


4、pyc是個(gè)什么東西?


編譯器語言,典型例子C語言


解釋器語言,現(xiàn)行例子Ruby、python


java是先編譯后解釋的語言


其實(shí)python和java、C#一樣,也時(shí)一門基于虛擬機(jī)的語言,

當(dāng)我們在命令行輸入python hello.py時(shí),其實(shí)是激活了Python的“解釋器”,

告訴“解釋器”,你要開始工作了。


python是一門先編譯后解釋的語言。

當(dāng)python程序運(yùn)行時(shí),編譯的結(jié)果則是保存在位于內(nèi)存中的PyCodeObject中,

當(dāng)Python程序運(yùn)行結(jié)束時(shí),Python編譯器則將PyCodeObject寫會(huì)到pyc文件中。

當(dāng)python程序第二次運(yùn)行時(shí),先去硬盤找Pyc文件,如果找到直接載入,否則重復(fù)上面的過程。

所以我們應(yīng)該這樣來定位PyCodeObject和pyc文件,我們說pyc文件其實(shí)是PyCodeObject的一種持久化保存方式。



5、Python數(shù)據(jù)類型


a、數(shù)字

int(整型)

long(長整型)

float(浮點(diǎn)型)

complex(復(fù)數(shù))


注:type()查看數(shù)據(jù)類型


b、布爾值

真或假

1或0

c、字符串

“Hello,World”

6、數(shù)據(jù)運(yùn)算

運(yùn)算符

比較運(yùn)算

賦值運(yùn)算

邏輯運(yùn)算

成員運(yùn)算

身份運(yùn)算

位運(yùn)算

計(jì)算機(jī)中能表示的最小單位,是一個(gè)二進(jìn)制位

計(jì)算機(jī)中能存儲(chǔ)的最小單位,是一個(gè)二進(jìn)制位(bit)


8bit = byte(字節(jié))


跟Alex學(xué)Python之Python開發(fā)基礎(chǔ)-1


7、bytes數(shù)據(jù)類型

三元運(yùn)算


8、列表的使用

a列表、元組操作

例子:

names = ["zhangyang","guyun","xiangpeng","xuliangchen"]
print(names[0])
print(names[1:3])#切片

python learn01.py
zhangyang
['guyun', 'xiangpeng']

names.pop("guyun")#如沒有輸入?yún)?shù)值,就默認(rèn)刪除列表最后一個(gè)值
names.append("kk")#列表最后加入一個(gè)值
names.insert(1,"kkk")#列表中間插入
names[2] = "kkkk"#修改列表中值
names.remove("kkkk")#刪除對應(yīng)

del names[1]#另外一個(gè)刪除方法
names.count("kk")#可添加重復(fù)值

names2 = names.copy()#復(fù)制

例子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)

結(jié)果:
[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)

#注:淺拷貝就是相當(dāng)于引用


#淺拷貝的用處
person = ["name",["saving",100]] #表示姓名+存款

p1 = person[:]
p2 = list(person)

p1[0] = "kk" #p1表示為kk這個(gè)人的列表,他們倆為夫妻關(guān)系
p2[0] = "qq" #p2表示為qq這個(gè)人的列表,他們倆為夫妻關(guān)系

#p1和p2夫妻有共有財(cái)產(chǎn)100
#如果p1花了50塊錢,那p2那里同樣會(huì)減少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():#判斷輸入的金額是不是數(shù)字
	salary = int(salary)#是數(shù)字的話轉(zhuǎn)換成整數(shù)型
	while True:
#		for item in project_list:遍歷商品列表
#			print(project_list.index(item),item)
		for index,item in enumerate(project_list):#遍歷商品列表
			print(index,item)#打印編號(hào)和對應(yīng)商品
		user_choice = input("選擇要購買的商品編號(hào)>>>:")#輸入商品編號(hào)
		if user_choice.isdigit():#判斷輸入的編號(hào)是不是數(shù)字
			user_choice = int(user_choice)#如果是數(shù)字轉(zhuǎn)換為整數(shù)型
			if user_choice < len(project_list) and user_choice >= 0:#判斷編號(hào)是不是小于商品標(biāo)號(hào)總數(shù)并且大于0
				p_item = project_list[user_choice]#獲取商品價(jià)格
				if p_item[1] <= salary:  #買得起
					shopping_list.append(p_item)#把商品添加到購物車列表
					#salary -= p_item[1]#計(jì)算剩余工資
					salary = salary - p_item[1]#計(jì)算剩余工資
					print("購買 %s 該商品后剩余金額為[%s元]。" % (p_item,salary))#購買商品后剩余金額
				else:
					print("您的余額只剩[%s]了,無法購買了!" %salary ) #金額不足給提示
			else:
				print("您輸入的商品標(biāo)號(hào)[%s]不存在。" % user_choice)	#輸入的商品編號(hào)不存在給提示		
		elif user_choice == 'q': #輸入q后退出循環(huán)
			print('--------exit--------')
			for p in shopping_list:#退出后打印購物車商品列表
				print(p)
			print("您的余額還剩[%s元]。" % salary)#顯示剩余金額
			exit()#退出方法
		else:
			print("Invalid Option")

#衍生出一下內(nèi)容:
#加顏色
#\033[31; 1m %s \033[0m   #%s就是要變色的內(nèi)容,31指的是紅色


#注:index()方法如果包含子字符串返回開始的索引值,否則拋出異常。
'''
a = ["a","b","c"]

for i in a:
	print(a.index(i),i)

>>> 0 a
    1 b
    2 c
'''


#注釋:enumerate() 函數(shù)用于將一個(gè)可遍歷的數(shù)據(jù)對象(如列表、元組或字符串)組合為一個(gè)索引序列,同時(shí)列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般用在 for 循環(huán)當(dāng)中。
#seasons = ['Spring', 'Summer', 'Fall', 'Winter']
#print(list(enumerate(seasons)))
#>>>[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]


#注:Python isdigit() 方法檢測字符串是否只由數(shù)字組成。
#如果字符串只包含數(shù)字則返回 True 否則返回 False。
#例如:
#str = "123456";  # Only digit in this string
#print str.isdigit();
#>>>True	





















向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI