第一篇里我們主要簡單講解:變量的處理、條件判斷與循環(huán)以及引申模塊的導入
1. 第一個代碼,簡單的輸出
print("l love python!")
2."" "" 多行注釋符號
'''
這里是多行注釋內(nèi)容:大段的注釋可以使用它,我們這里簡單說幾個需要關注的小點~
1:python 對格式要求非常嚴格,因此,在Python的代碼塊中必須使用相同數(shù)目的行首縮進空格數(shù)。比如下面的代碼前面有段空格,這樣是錯誤的
【 我是空格 】print("哈哈,我要顯得特殊一些,往前跨一步~~")
2:__init__.py 文件的作用是將文件夾變?yōu)橐粋€Python模塊,Python 中的每個模塊的包中,都有__init__.py 文件,可以為空,也可以編輯。
'''
3.簡單的了解一下變量
3.1、哪些可以定義成變量?Python有五個標準的數(shù)據(jù)類型:(列表、元祖、字典后邊章節(jié)介紹)Numbers(數(shù)字)、String(字符串)、List(列表)、Tuple(元組)、Dictionary(字典),他們都可以被定義為變量來使用。
3.2、格式符?輸出變量時經(jīng)常回到用到格式符,為真實值預留位置,并控制顯示的格式。格式符可以包含有一個類型碼,用以控制顯示的類型,詳情如下:
%s 字符串 (采用str()的顯示)
%r 字符串 (采用repr()的顯示)
%c 單個字符
%b 二進制整數(shù)
%d 十進制整數(shù)
%i 十進制整數(shù)
%o 八進制整數(shù)
%x 十六進制整數(shù)
%e 指數(shù) (基底寫為e)
%E 指數(shù) (基底寫為E)
%f 浮點數(shù)
%F 浮點數(shù),與上相同
%g 指數(shù)(e)或浮點數(shù) (根據(jù)顯示長度)
%G 指數(shù)(E)或浮點數(shù) (根據(jù)顯示長度)
# 我們對以上內(nèi)容進行一些小練習
# 先定義好變量
a = "運維工程師" # 賦值字符串
b = "我們需要學習開發(fā)能力" # 賦值字符串
c = 2019 # 賦值整型變量
d = 100.00 # 賦值浮點型
e = f = g = 1 # 多變量賦值
h, i, j = 100,88,"tom" #多變量賦不同的值
# 將定義好的變量進行各種輸出
print("我們的工作是:",a)
print("%d%s:%s"%(c,"年的小成長",b)) #格式化輸出 %d代表整型;%s代表字符串
# 疑問下面的輸出正確嗎?應該如何修改
print(c + b ) # 我們想得到的輸出內(nèi)容是:“2019我們需要學習開發(fā)能力”
3.3 python的字符串內(nèi)建函數(shù):有很多,我們這里只列2個:format()、isdigit()
#格式化字符串函數(shù) format()方法,使用.format可以更好的將不同數(shù)據(jù)類型變量加在一起
# {} 定義輸出格式 .format() 里定義輸出內(nèi)容,用逗號分割。
aa = "{}{}{}".format(2019,"我要學習python","堅持就好!")
cc = "{}:我們開始學習{},為了讓我們的level等級達到{}。".format("2016-12-31","PYTHON",10)
print(aa)
print(cc)
以上代碼輸出內(nèi)容:image.png
# isdigit() 判斷變量只包含數(shù)字則返回 True 否則返回 False.
# 下面的實例中(猜數(shù)字游戲)使用了,這里不再舉例。
3.4 對變量內(nèi)容的處理,比如一段字符串,我們可以對其內(nèi)容進行截取、替換、查找、分割等操作
# 先定義變量
str = "2019python"
#對變量進行部分截取
print(str[0:3]) # 截取第一位到第三位的字符
print(str[:]) # 截取字符串的全部字符
print(str[6:]) # 截取第七個字符到結尾
print(str[:-3]) # 截取從頭開始到倒數(shù)第三個字符之前
print(str[2]) # 截取第三個字符
print(str[-1]) # 截取倒數(shù)第一個字符
print(str[::-1]) # 創(chuàng)造一個與原字符串順序相反的字符串
print(str[-3:-1]) # 截取倒數(shù)第三位與倒數(shù)第一位之前的字符
print(str[-3:]) # 截取倒數(shù)第三位到結尾
以上代碼輸出內(nèi)容:image.png
# 定義變量,對變量進行替換/查找/分割,我們簡單舉例!
a = "lllyyylll"
a = a.replace('l','6') # 將變量中的l 全部替換為6
print(a)
b = "b,lukypython"
print(b.find('p')) # 查找變量b中"p"的位置,從下標0開始,查找在字符串里第一個出現(xiàn)"p"的位置
c = "l,u,k,y"
clist = c.split(',') # 以逗號分隔l,u,k,y并保存列表中
for value in clist: # for循環(huán)輸出列表值
print(value)
以上代碼輸出內(nèi)容:image.png
4.簡單的條件判斷和循環(huán)
4.1、條件判斷。小伙伴們還記得shell里的 if判斷吧,if....;then....else....fi,
下面我們看看python的if條件判斷:(就是這么簡潔)
if 判斷條件:
執(zhí)行語句……
else:
執(zhí)行語句……
# 定義變量
flag = False
name = 'python'
if name == 'python': # 判斷變量否為'python'
flag = True # 條件成立時設置標志為真
print("Welcome back! ") # 并輸出歡迎信息
else:
print(name) # 條件不成立時輸出變量名稱
4.2 當判斷條件為多個值的時候,我們可以這么寫
# 修改變量level 看一看是否可以匹配到相應的輸出
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("大寫的窮") # 條件均不成立時輸出
4.3 簡單的while循環(huán)
# 循環(huán)創(chuàng)建10個用戶,當然看思路就可以,暫時只用print輸出,不用著急,過幾天我們就可以直接用while循環(huán)在服務器上批量操作了。
user_count = 0
while (user_count < 10): # 當user_count小于10的時候循環(huán)結束
print("useradd -s /sbin/nologin","newuser"+str(user_count))
user_count = user_count + 1 #每次循環(huán)后user_count的值+1
4.4 while 語句時還有另外兩個重要的命令 continue,break 來跳過循環(huán),continue 用于跳過該次循環(huán),break 則是用于退出循環(huán),此外"判斷條件"還可以是個常值,表示循環(huán)必定成立也就是死循環(huán)
# continue 用法
i = 1
while i < 10:
i += 1
if i % 2 > 0: # 非雙數(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: # 當i大于10時跳出循環(huán)
break
#無限循環(huán),永遠滿足條件。
var = True
while var: # 該條件永遠為true,循環(huán)將無限執(zhí)行下去
user_input = input("隨意輸入都可以 :")
print("您輸入的內(nèi)容是: ", user_input)
print("Good bye!")
4.5 還有for循環(huán),前面的內(nèi)容其實用到了,這里就不多描述了,還有各種嵌套循環(huán),小伙伴們自學,自學,自學吧
5. 實例
5.1 錢大家都喜歡,那么做個匯率的轉(zhuǎn)換工具吧
# 定義用戶的輸出以及匯率
money_str = input("請輸入帶單位的金額(人民幣CNY、美元USD):")
usd_vs_rmb = 6.77
# 增加條件,判斷用戶的輸入:人民就兌換美金,美金兌換人民幣,需要注意對于字符串的截取[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("請輸入正確的金錢種類!!!")
5.2 為了增加趣味,我們來玩?zhèn)€猜數(shù)字游戲~
# 引入random模塊#
import random
# 調(diào)用random模塊中的隨機整數(shù)函數(shù)#
secret = random.randint(1,10)
# 輸出旁白切割線+隨機生成的數(shù)字,方便測試用(注意str(secret) 這么寫是因為字符和整形不能相加,需要統(tǒng)一修改成字符串類型)#
# print('-------------------------------------------' + str(secret))
# 定義變量count用于while循環(huán),限定循環(huán)次數(shù)#
count = 1
# 開始while循環(huán),限定循環(huán)3次,從1開始小于4一共三個數(shù):1、2、3#
while count < 4:
# 此處需注意如果要用temp.isdigit(),則不能直接定義 temp=int(input(......)),所以先判斷用戶輸入,然后再定義新變量等于int(temp)#
temp = input("【請猜一猜我的幸運數(shù)字(只有三次機會呦~)現(xiàn)在是第" + str(count) + "次】:")
# 增加個判定限制用戶只能輸入整形數(shù)字temp.isdigit() #
if temp.isdigit():
guess = int(temp)
if guess == secret:
print("【哎我去,你一定是我肚子里的蛔蟲】 ")
print("【猜對就猜對吧,哈哈!沒有獎勵,再見~】")
break
else:
if guess > secret:
print("【數(shù)字大了,哈哈~~】")
else:
print("【數(shù)字小了,哈哈~~】")
count = count + 1
else:
print("【請輸入1-10的整數(shù)數(shù)字】")
if count == 4:
print("【好笨啊,三次都猜不對!】")
print("【游戲結束,歡迎下次在玩~~~】")