BreeLAN的Python學習之路–
- 2020 年 1 月 19 日
- 筆記
Python的作者,Guido von Rossum,荷蘭人。1982年,Guido從阿姆斯特丹大學(University of Amsterdam)獲得了數學和電腦碩士學位。

1989年聖誕節期間,在阿姆斯特丹,Guido為了打發聖誕節的無趣,決心開發一個新的腳本解釋程式,作為ABC 語言的一種繼承。之所以選中Python(大蟒蛇的意思)作為該程式語言的名字,是因為他是一個叫Monty Python的喜劇團體的愛好者。
1991年,第一個Python編譯器誕生。它是用C語言實現的,並能夠調用C語言的庫文件。
Python 1.0 – January 1994 增加了 lambda, map, filter and reduce.
1999年 Python的web框架之祖——Zope 1發布
2000年10月16日,Python 2.0發布,Python 2.0加入了記憶體回收機制,構成了現在Python語言框架的基礎
2004年11月30日,Python 2.4發布, 同年目前最流行的WEB框架Django 誕生
2006年9月19日,Python 2.5發布
2008年10月1日,Python 2.6發布
2010年7月3日,Python 2.7發布
2008年12月3日,Python 3.0發布
2009年6月27日,Python 3.1發布
2011年2月20日,Python 3.2發布
2012年9月29日,Python 3.3發布
2014年3月16日,Python 3.4發布
2015年9月13日,Python 3.5發布
。。。
截止至2018年12月,
Python已到3.7版本,python語言在TIOBE流行程式語言排行榜已經上升到第三名!
一、簡單的輸入與輸出:
input() #以字元串輸入


print() #幾乎可以輸出一切對象。


二、縮進:
一般語言一樣採用{}或者begin…end分隔程式碼塊,而是python中,採用程式碼縮進和冒號來區分程式碼之間的層次。
縮進的空白數量是可變的,但是所有程式碼塊語句必須包含相同的縮進空白數量,這個必須嚴格執行。
三、運算符:
1、算數運算符:加「+」、減「-」、乘「*」、除「/」、除取整「//」、除取余「%」、乘方「**」


2、賦值運算符:"=","+=","-=","*=","/=","//=","%=","**="
賦值運算符「=」:a=28,即將儲存變數a指向28,若將a的值賦給變數b,即b=a,那麼b也將指向28,當a改變,b的值不會變。
其他賦值運算符:
a+=b等價於a=a+b
a-=b等價於a=a-b
a*=b等價於a=a*b
a/=b等價於a=a/b
。。。依次類推
3、比較運算符:">","<",">=","<=","==(等於)","!=(不等於)"
在比較運算的式子中可以連續運算,例如:a=18,10<a<20為真。
比較運算得到的值只有兩種:False和True
4、邏輯運算符:"and(且)","or(或)","not(非)"
"and":如同數學中的且,即兩端都為真結果才為真,否則為假。
"or":如同數學中的「或」,即兩端都為假結果才為假,否則為真。
"not":如同數學中的「非」,單目運算符,「非真」就是「假」,「非假」就是「真」。
優先順序:not > and > or
短路原則:在「or」的運算中,例如:a or b,如果式子a為真,那麼將不會再去判斷後面的式子,返回的值為真。
在「and」的運算中,例如:a and b,如果式子a為假,那麼將不會再去判斷後面的式子,返回的值為假。
四、入門常用語句:
if語句:即判斷語句
格式:if 條件1:
執行語句1
( elif 條件2:
執行語句2)
else :
執行語句2
進入判斷語句後,首先判斷if後面的條件1是否成立。如果成立,那麼將執行語句1,然後跳出判斷模組。如果不成立,進行後面的條件判斷。但是語句只會執行一種,一旦滿足某個條件,其他條件下的語句將不會被執行。


1 # __author:"Bree LAN" 2 # date:2018/12/16 3 4 name = input("Name:") 5 age = input("Age:") 6 job = input("Job:") 7 salary = input("Salary:") 8 9 if salary.isdigit() and age.isdigit(): 10 salary = float(salary) 11 age = int(age) 12 else: 13 exit("the age or salary must input digit") 14 msg = ''' 15 --------info of %s-------- 16 Name: %s 17 Age : %d 18 Job : %s 19 Salary: %f 20 You will be retired in %d years 21 -----------end------------ 22 ''' % (name, name, age, job, salary, 65-age) 23 print(msg)
列印個人資訊

for語句:循環語句
for循環語句可以遍歷任何序列的對象:列表,字元串,字典,元組等等。
格式:for 變數 in 序列對象:
執行語句1
(else:
執行語句2)
從序列對象中按順序取出單個對象賦值給變數,執行語句1,
若序列對象中的所有對象都被取到,正常跳出循環,則執行else下的語句2,非正常跳出循環則不執行。


1 # __author:"Bree LAN" 2 # date:2018/12/16 3 4 5 _user = "breelan" 6 _passwd = "abc123" 7 8 for i in range(3): 9 username = input("Username:") 10 password = input("Password:") 11 if username == _user and password == _passwd: 12 print("Welcome %s login...." % _user) 13 break 14 else: 15 print("Invalid username or password !") 16 else: 17 print("3次了,不能再多了!")
簡單用戶登錄

while語句:循環語句(無限/有限循環)
格式:while 條件:
執行語句1
(else:
執行語句2)
滿足while後面的條件則執行語句1,知道不滿足則跳出循環。
同for,如果正常條出則執行語句2,否則不執行。


1 # __author:"Bree LAN" 2 # date:2018/12/17 3 4 5 _user = "breelan" 6 _passwd = "abc123" 7 8 count = 0 9 10 11 while count < 3: 12 username = input("Username:") 13 password = input("Password:") 14 if username == _user and password == _passwd: 15 print("Welcome %s login...." % _user) 16 break 17 else: 18 print("Invalid username or password !") 19 count += 1 20 if count == 3: 21 keep_going_choice = input("還想玩嗎?[y/n]") 22 if keep_going_choice == 'y': 23 count = 0 24 25 else: 26 print("end")
簡單用戶登錄優化
