第一篇里我們主要簡(jiǎn)單講解:變量的處理瞧甩、條件判斷與循環(huán)以及引申模塊的導(dǎo)入
1. 第一個(gè)代碼,簡(jiǎn)單的輸出
print("l love python!")
2."" "" 多行注釋符號(hào)
'''
這里是多行注釋內(nèi)容:大段的注釋可以使用它拌蜘,我們這里簡(jiǎn)單說幾個(gè)需要關(guān)注的小點(diǎn)~
1:python 對(duì)格式要求非常嚴(yán)格闻葵,因此晃虫,在Python的代碼塊中必須使用相同數(shù)目的行首縮進(jìn)空格數(shù)寂恬。比如下面的代碼前面有段空格,這樣是錯(cuò)誤的
【 我是空格 】print("哈哈莱没,我要顯得特殊一些初肉,往前跨一步~~")
2:__init__.py 文件的作用是將文件夾變?yōu)橐粋€(gè)Python模塊,Python 中的每個(gè)模塊的包中,都有__init__.py 文件饰躲,可以為空牙咏,也可以編輯。
'''
3.簡(jiǎn)單的了解一下變量
3.1嘹裂、哪些可以定義成變量妄壶?Python有五個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)類型:(列表、元祖寄狼、字典后邊章節(jié)介紹)Numbers(數(shù)字)丁寄、String(字符串)、List(列表)泊愧、Tuple(元組)狡逢、Dictionary(字典),他們都可以被定義為變量來使用拼卵。
3.2、格式符蛮艰?輸出變量時(shí)經(jīng)骋溉回到用到格式符雀彼,為真實(shí)值預(yù)留位置,并控制顯示的格式即寡。格式符可以包含有一個(gè)類型碼徊哑,用以控制顯示的類型,詳情如下:
%s 字符串 (采用str()的顯示)
%r 字符串 (采用repr()的顯示)
%c 單個(gè)字符
%b 二進(jìn)制整數(shù)
%d 十進(jìn)制整數(shù)
%i 十進(jìn)制整數(shù)
%o 八進(jìn)制整數(shù)
%x 十六進(jìn)制整數(shù)
%e 指數(shù) (基底寫為e)
%E 指數(shù) (基底寫為E)
%f 浮點(diǎn)數(shù)
%F 浮點(diǎn)數(shù)聪富,與上相同
%g 指數(shù)(e)或浮點(diǎn)數(shù) (根據(jù)顯示長(zhǎng)度)
%G 指數(shù)(E)或浮點(diǎn)數(shù) (根據(jù)顯示長(zhǎng)度)
# 我們對(duì)以上內(nèi)容進(jìn)行一些小練習(xí)
# 先定義好變量
a = "運(yùn)維工程師" # 賦值字符串
b = "我們需要學(xué)習(xí)開發(fā)能力" # 賦值字符串
c = 2019 # 賦值整型變量
d = 100.00 # 賦值浮點(diǎn)型
e = f = g = 1 # 多變量賦值
h, i, j = 100,88,"tom" #多變量賦不同的值
# 將定義好的變量進(jìn)行各種輸出
print("我們的工作是:",a)
print("%d%s:%s"%(c,"年的小成長(zhǎng)",b)) #格式化輸出 %d代表整型;%s代表字符串
# 疑問下面的輸出正確嗎莺丑?應(yīng)該如何修改
print(c + b ) # 我們想得到的輸出內(nèi)容是:“2019我們需要學(xué)習(xí)開發(fā)能力”
3.3 python的字符串內(nèi)建函數(shù):有很多,我們這里只列2個(gè):format()墩蔓、isdigit()
#格式化字符串函數(shù) format()方法梢莽,使用.format可以更好的將不同數(shù)據(jù)類型變量加在一起
# {} 定義輸出格式 .format() 里定義輸出內(nèi)容,用逗號(hào)分割奸披。
aa = "{}{}{}".format(2019,"我要學(xué)習(xí)python","堅(jiān)持就好昏名!")
cc = "{}:我們開始學(xué)習(xí){},為了讓我們的level等級(jí)達(dá)到{}。".format("2016-12-31","PYTHON",10)
print(aa)
print(cc)
以上代碼輸出內(nèi)容:image.png
# isdigit() 判斷變量只包含數(shù)字則返回 True 否則返回 False.
# 下面的實(shí)例中(猜數(shù)字游戲)使用了阵面,這里不再舉例轻局。
3.4 對(duì)變量?jī)?nèi)容的處理,比如一段字符串样刷,我們可以對(duì)其內(nèi)容進(jìn)行截取仑扑、替換、查找置鼻、分割等操作
# 先定義變量
str = "2019python"
#對(duì)變量進(jìn)行部分截取
print(str[0:3]) # 截取第一位到第三位的字符
print(str[:]) # 截取字符串的全部字符
print(str[6:]) # 截取第七個(gè)字符到結(jié)尾
print(str[:-3]) # 截取從頭開始到倒數(shù)第三個(gè)字符之前
print(str[2]) # 截取第三個(gè)字符
print(str[-1]) # 截取倒數(shù)第一個(gè)字符
print(str[::-1]) # 創(chuàng)造一個(gè)與原字符串順序相反的字符串
print(str[-3:-1]) # 截取倒數(shù)第三位與倒數(shù)第一位之前的字符
print(str[-3:]) # 截取倒數(shù)第三位到結(jié)尾
以上代碼輸出內(nèi)容:image.png
# 定義變量镇饮,對(duì)變量進(jìn)行替換/查找/分割,我們簡(jiǎn)單舉例沃疮!
a = "lllyyylll"
a = a.replace('l','6') # 將變量中的l 全部替換為6
print(a)
b = "b,lukypython"
print(b.find('p')) # 查找變量b中"p"的位置,從下標(biāo)0開始盒让,查找在字符串里第一個(gè)出現(xiàn)"p"的位置
c = "l,u,k,y"
clist = c.split(',') # 以逗號(hào)分隔l,u,k,y并保存列表中
for value in clist: # for循環(huán)輸出列表值
print(value)
以上代碼輸出內(nèi)容:image.png
4.簡(jiǎn)單的條件判斷和循環(huán)
4.1、條件判斷司蔬。小伙伴們還記得shell里的 if判斷吧邑茄,if....;then....else....fi,
下面我們看看python的if條件判斷:(就是這么簡(jiǎn)潔)
if 判斷條件:
執(zhí)行語(yǔ)句……
else:
執(zhí)行語(yǔ)句……
# 定義變量
flag = False
name = 'python'
if name == 'python': # 判斷變量否為'python'
flag = True # 條件成立時(shí)設(shè)置標(biāo)志為真
print("Welcome back! ") # 并輸出歡迎信息
else:
print(name) # 條件不成立時(shí)輸出變量名稱
4.2 當(dāng)判斷條件為多個(gè)值的時(shí)候,我們可以這么寫
# 修改變量level 看一看是否可以匹配到相應(yīng)的輸出
level = 10
if level == 10: # 判斷l(xiāng)evel的值
print("工資:10萬元")
elif level == 8:
print("工資:8萬元")
elif level == 5:
print("工資:5萬元")
elif level == 1:
print("工資:1萬元")
else:
print("大寫的窮") # 條件均不成立時(shí)輸出
4.3 簡(jiǎn)單的while循環(huán)
# 循環(huán)創(chuàng)建10個(gè)用戶俊啼,當(dāng)然看思路就可以肺缕,暫時(shí)只用print輸出,不用著急授帕,過幾天我們就可以直接用while循環(huán)在服務(wù)器上批量操作了同木。
user_count = 0
while (user_count < 10): # 當(dāng)user_count小于10的時(shí)候循環(huán)結(jié)束
print("useradd -s /sbin/nologin","newuser"+str(user_count))
user_count = user_count + 1 #每次循環(huán)后user_count的值+1
4.4 while 語(yǔ)句時(shí)還有另外兩個(gè)重要的命令 continue,break 來跳過循環(huán)跛十,continue 用于跳過該次循環(huán)彤路,break 則是用于退出循環(huán),此外"判斷條件"還可以是個(gè)常值芥映,表示循環(huán)必定成立也就是死循環(huán)
# continue 用法
i = 1
while i < 10:
i += 1
if i % 2 > 0: # 非雙數(shù)時(shí)跳過輸出
continue
print(i) # 輸出雙數(shù)2洲尊、4远豺、6、8坞嘀、10
# break的用法
i = 1
while 1: # 循環(huán)條件為1必定成立
print(i) # 輸出1~10
i += 1
if i > 10: # 當(dāng)i大于10時(shí)跳出循環(huán)
break
#無限循環(huán)躯护,永遠(yuǎn)滿足條件。
var = True
while var: # 該條件永遠(yuǎn)為true丽涩,循環(huán)將無限執(zhí)行下去
user_input = input("隨意輸入都可以 :")
print("您輸入的內(nèi)容是: ", user_input)
print("Good bye!")
4.5 還有for循環(huán)棺滞,前面的內(nèi)容其實(shí)用到了,這里就不多描述了矢渊,還有各種嵌套循環(huán)继准,小伙伴們自學(xué),自學(xué)昆淡,自學(xué)吧
5. 實(shí)例
5.1 錢大家都喜歡锰瘸,那么做個(gè)匯率的轉(zhuǎn)換工具吧
# 定義用戶的輸出以及匯率
money_str = input("請(qǐng)輸入帶單位的金額(人民幣CNY、美元USD):")
usd_vs_rmb = 6.77
# 增加條件昂灵,判斷用戶的輸入:人民就兌換美金避凝,美金兌換人民幣,需要注意對(duì)于字符串的截取[0:3]是不包含3的,位置從0開始眨补。
if money_str[-3:] == "CNY":
money_value = int(money_str[:-3]) / usd_vs_rmb
print(money_str +"兌換美金為:" + str(money_value))
elif money_str[-3:] == "USD":
money_value = int(money_str[:-3]) * usd_vs_rmb
print("%s%s:%d"%(money_str,"兌換人民幣為",money_value))
else:
print("請(qǐng)輸入正確的金錢種類9芟鳌!撑螺!")
5.2 為了增加趣味含思,我們來玩?zhèn)€猜數(shù)字游戲~
# 引入random模塊#
import random
# 調(diào)用random模塊中的隨機(jī)整數(shù)函數(shù)#
secret = random.randint(1,10)
# 輸出旁白切割線+隨機(jī)生成的數(shù)字,方便測(cè)試用(注意str(secret) 這么寫是因?yàn)樽址驼尾荒芟嗉痈饰睿枰y(tǒng)一修改成字符串類型)#
# print('-------------------------------------------' + str(secret))
# 定義變量count用于while循環(huán)含潘,限定循環(huán)次數(shù)#
count = 1
# 開始while循環(huán),限定循環(huán)3次线婚,從1開始小于4一共三個(gè)數(shù):1遏弱、2、3#
while count < 4:
# 此處需注意如果要用temp.isdigit()塞弊,則不能直接定義 temp=int(input(......))漱逸,所以先判斷用戶輸入,然后再定義新變量等于int(temp)#
temp = input("【請(qǐng)猜一猜我的幸運(yùn)數(shù)字(只有三次機(jī)會(huì)呦~)現(xiàn)在是第" + str(count) + "次】:")
# 增加個(gè)判定限制用戶只能輸入整形數(shù)字temp.isdigit() #
if temp.isdigit():
guess = int(temp)
if guess == secret:
print("【哎我去游沿,你一定是我肚子里的蛔蟲】 ")
print("【猜對(duì)就猜對(duì)吧饰抒,哈哈!沒有獎(jiǎng)勵(lì),再見~】")
break
else:
if guess > secret:
print("【數(shù)字大了诀黍,哈哈~~】")
else:
print("【數(shù)字小了袋坑,哈哈~~】")
count = count + 1
else:
print("【請(qǐng)輸入1-10的整數(shù)數(shù)字】")
if count == 4:
print("【好笨啊,三次都猜不對(duì)眯勾!】")
print("【游戲結(jié)束咒彤,歡迎下次在玩~~~】")