第一篇博客——python學習旅程開啟
今天開始學習Python,以後會將自己的學習內容以及學習心得進行記錄,以博客的形式和廣大誌同道合的朋友分享,如有錯誤還請大家能夠批評指正,如果能幫到大家那就再好不過了。
今天的內容有些長,而且很簡單,純屬是為了給自己回顧而寫,加深印象,所以不接受吐槽。
在進入正式的python學習之前,你要知道的是python是一門動態解釋型的強類型定義語言。
我們先來了解一下動態語言和靜態語言的區別。動態類型語言是在運行時確定數據類型的語言,即永遠不需要給任何變量指定數據類型。靜態類型語言是指在編譯時變量的數據類型即可確定的語言,多數靜態類型語言要求在使用變量之前必須聲明數據類型。
解釋型指的是 不需要編譯,在運行的時候將代碼翻譯成機器語言。打個比方,就是你在看一本外國小說的時候,編譯型語言是直接讓別人翻譯好給你讀;而解釋型語言就是你邊讀,他邊給你翻譯,等你想要回過頭再去看看前面章節的時候,他還需要給你重新翻譯。所以相對來說,速度相比於編譯型要慢那麽一丟丟。
強類型定義語言是指強制數據類型定義的語言,一旦一個變量被指定了某個數據類型,如果不經過強制轉換,那麽久永遠都是這個數據類型了。換句話說,強類型定義語言是類型安全的語言。
首先,需要安裝IDE,大家都知道學python應該用pycharm來編寫python的代碼,好處多多,在此我就不進行贅述。
如果是一名學生,就不用花錢購買了,可以用教育郵箱,即[email protected]這種形式的郵箱,來免費申請使用pycharm,具體申請方法大家自行百度。
需要說明的是,如果郵箱中被回復到的是已經提交申請,但是好幾個小時均沒有收到驗證成功的提醒,請不要傻傻等待,直接去Jetbrain網站用你的註冊登錄即可。
我使用的是python 3.x的版本,建議大家都使用最新版的python,以後2.x版本要被淘汰。
裝好以後,我們就可以寫自己的第一個python小程序了,那就是Hello,world。畢竟儀式感還是要有滴嘛
print(‘Hello,world‘)
把一個變量賦給另一個變量,當前變量的值做修改,另一個變量的值會隨著改變嗎? 不妨看一下下面的代碼
name = "Alex Li"
print("The name is",name)
name2 = name;
print("The names are",name,name2)
name = "Yang yang"
print(" The names are",name,name2)
輸出結果為:
The name is Alex Li
The names are Alex Li Alex Li
The names are Yang yang Alex Li
可以看到name的改變並不會影響到name2,name2的值仍然為第一次name賦給他的值。
接著寫一個交互式的格式化輸出的代碼,體會格式化輸出的幾種方法。代碼功能是打印一個人的身份信息。
name = input("name:")
age = input("age:")
job = input("job:")
salary = input("salary:")
1. 使用字符串拼接的方式進行格式化輸出:可以看到,使用這種方法非常不直觀,在進行實際代碼編寫的時候不到萬不得已,非常不建議使用這種方法。
info1 = ‘‘‘ info of ‘‘‘ + name + ‘‘‘
Name:‘‘‘ + name + ‘‘‘
Age:‘‘‘ + age + ‘‘‘
Job:‘‘‘ + job + ‘‘‘
Salary:‘‘‘ + salary
print(info1)
看一下輸出結果:
name:yangyang
age:18
job:student
salary:2000
--------info of yangyang -------
Name:yangyang
Age:18
Job:student
Salary:2000
2.使用.format 進行打印輸出,這種方式是最規範的,也是我們需要熟練掌握使用的,一般在實際情況均使用這種方法。
info2 = ‘‘‘
--------info of {_Name} -------#.format的方式做格式化輸出
Name:{_Name}
Age:{_Age}
Job:{_Job}
Salary:{_Salary}‘‘‘.format(
_Name = name,
_Age = age,
_Job = job,
_Salary = salary)
print(info3)
3.使用.format的方式,變量與數字進行對應打印輸出。可以看到這種方式很不直觀,不方便閱讀。
info3 = ‘‘‘
--------info of {0} -------
Name:{0}
Age:{1}
Job:{2}
Salary:{3}‘‘‘.format(name,age,job,salary)
print(info3)
4.使用%s的方式對應變量打印
info4 = ‘‘‘
--------info of %s -------
Name:%s
Age:%s
Job:%s
Salary:%s‘‘‘ %(name,name,age,job,salary)
print(info4)
總之,第二種方法是最好的格式化打印方式。
接下來,寫一個交互式的登錄判斷的功能,具體要求是輸入的用戶名和密碼正確則顯示登錄成功,否則顯示登錄失敗。來重溫上面格式化輸出的方法。
username = input("What‘s your username...?")
password = input("Please input your password")
user_name = ‘yangyang‘
pass_word = ‘123456‘
if username == user_name and password == pass_word:
print("Welcome user {name} log in...".format(name = user_name))#這裏用username或user_name均可
else:
print("Wrong username or password")
接下來寫一個猜數字大小的小遊戲,具體玩法是每回有3次猜測的機會,如果3次都沒猜對,則系統自動詢問是否還有繼續,如果按下“no”,則退出,否則按任意鍵繼續。
yang_age = 20
count = 0;
while count<3:
guess = int(input("Guess his age:"))
if guess == yang_age:
print("Congratulations!")
break # break的話本次循環結束
elif guess>yang_age:
print("Think smaller")
else:
print("Think bigger")
count = count+1 #count+=1
if count==3:
userwill = input("Do you want to keep guessing...?If you don‘t want to go on,please input no,otherwise you can input any other else")
if userwill != "no":
count = 0
運行結果如下:
Guess his age:0
Think bigger
Guess his age:50
Think smaller
Guess his age:18
Think bigger
Do you want to keep guessing...?If you don‘t want to go on,please input no,otherwise you can input any other else20
Guess his age:20
Congratulations!
可以看到這個程序主要是為了學習break的使用方法,break的功能是跳出循環。另外也可以使用for循環記性編寫,如下:此時的功能有一點點不一樣的地方,那就是超過3次猜錯直接不允許玩了。for...else.。另外也有while...else的使用組合
yang = 56
for i in range(3):
guess = int(input("Guess his age:"))
if guess == yang:
print("Congratulations!")
break
elif guess>yang:
print("Think smaller")
else:
print("Think bigger")
else:
print("You have tried many times,fuck off")
本周的學習內容就是這麽多,下周同一時間不見不散
第一篇博客——python學習旅程開啟