python基礎 - 01


python 變量名

 

在python中的變量命名,與其他語言大體相似,變量的命名規則如下:

  • 變量名是數字、字母、下划線的任意組合
  • 變量名的第一個字符不能是數字
  • 系統的關鍵字不能設置為變量名   

Tip:python系統內置關鍵字如下:

  

【'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally',
'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return',
'try', 'while', 'with', 'yield'】

 在設置變量的時候,一定要注意變量的命名盡量要有意義,而且站在兼容的角度來講,應該讓變量盡量避免中文,雖然在python3中中文變量可以解析。

 同時,在python,不存在什么關鍵詞可以設置常量,但是約定俗成的是如果需要將一個值定義為常量,那么就將變量的單詞大寫。

 

python 字符編碼問題

 

在python3中,默認支持unicode中文編碼,但是在python2中則不支持中文編碼,所以也就不能夠直接使用中文。如果貿然的在變量中或者

其他情況下使用中文,就會被拋出錯誤。所以應該在代碼的初始位置進行編碼的設置,引入編碼。

如:

  

# -*- coding: utf-8 -*-

 

而在python3中則不需要設置這樣的代碼。

python 注釋

 在python中,注釋分為單行注釋和多行注釋。

 單行注釋是一個單獨的#,如下:

  

 # 這里是單行注釋 

多行注釋在python中是三個引號來完成,單引號或者雙引號都可以。以三個引號開始和結束,如下:

 

'''
        這里是多行注釋
'''

 

 

多行原樣輸出


在python中,三個引號除了可以起到多行注釋的作用以外,還可以起到多行原樣輸出的作用。

msg = '''
    this is test 
    hello,world
'''

print(msg)

 

輸出的效果如下:

 

python中引號的問題


在python中,並不存在如PHP中的解析差異,二者並沒有什么顯著的區別,但是需要注意的是,如果一個字符串使用了單引號,那么在單引號里面

就不能夠使用單引號,同樣,如果使用了雙引號,那么在雙引號的里面就不能夠使用雙引號。

 

用戶輸入

 

需求,根據用戶輸入來進行輸出,可以使用input方法。

代碼如下:
user = input("username:")
password = input("password:") #打印輸出用戶輸入的賬號和密碼 print(user,password)

 

 格式化輸出

 

在上面的實例代碼中,可以通過input 獲取用戶輸入的內容,並且賦值給變量。
那么在實際的應用中,還存在另外一種需求:將用戶輸入的諸多信息格式化輸出。
而應對這種需求我們就需要使用%S這樣的一個占位符來進行設置。

具體代碼如下:


  

在上面的實例中,雖然%s 的功能類似於占位符,但是實際上%s應該是字符串的意思。

那么常用的有如下:
    %s  字符串
    %d  數字
    %f  浮點

但是需要注意的是,如果在上面的實例中,把%s 換成%d ,那么輸入得內容就必須是數字。
但時在python中,用戶所有的輸入內容都默認為字符串類型,所以我們還需要在需要數字的地方將
字符串轉為數字,我們可以使用int()方法轉換。


Tip:需要注意的是,在python2.x 中,raw_input 等同於 python3.x 中的input方法。但時在python2.x中同樣存
input方法,但是卻和python3.x中的input方法是不同的,在3.x中,在輸入值得時候,可以直接輸入值,那么輸入的
都會自動的變成字符串。
而在2.x中,輸入值得時候,必須在值得外面加上一對引號,否則會被解析成變量。


格式化輸出的第二種方式

采用變量賦值的方式可以實現第二種方式的格式化輸出
代碼如下:

  

第二種方式與第一種方式相比較,實現的功能是相同的,但是在某些時刻,卻必須要使用第二種方式。

在第二種方式中,使用了format()方法,那么我們使用format()方法來實現格式化交互輸出還可以變異成另外一種寫法。

如下:

  

 Tip:在python中,實現格式化輸出還可以使用+,通過字符串拼接來實現,但是卻不是很推薦這種方式,因為我們上面的兩種方式在內存只是開辟一份內存空間,而使用+來實現拼接卻需要開辟出多個空間。

 

密碼密文顯示

在上面的python中,我們發現我們在輸入密碼的時候,顯示的是明文,而我們實際需要的是密文,所以需要引入一下Python的內部模塊。
代碼如下:

Tip:需要注意的是,此時引入的模塊是python內置的模塊,需要使用import 引入才能使用,並且getpass模塊不能夠直接的在pycharm這種IDE內置的調試環境中解析,需要使用Cpython 。


流程控制語句

在python中流程控制語句並不是像其他語言一樣,使用大括號來設置語句,而是通過強制的縮進來進行代碼依賴關系的處理。

if ... else

例如流程控制語句中的if..else語句。
如下:

需要注意的是,在python中,在需要縮進的地方如果沒有縮進,系統並不會沒有反應,而是會拋出錯誤。這一點是非常需要注意的。也是和其他語言的區別。

當然,除了if..else 以外,還可以使用if .. elif .. else ..
如下:

while 循環

在流程控制語句中,除了if..else 以外,還存在while 循環以及其他的循環。

while循環實例如下:

當然,上面的代碼也可以進行簡單的優化:

根據上面的代碼,如果當用戶嘗試三次之后,我們在其推出代碼執行之后輸出一句提示,可以進行如下的寫法:

在上面的代碼中,在while的最后配合了else,而while與else的搭配在其他語言中是不可行的,但是python卻支持這種寫法。

for循環

 
        

在python的流程控制中,與其他的語言一樣,也存在for循環。

如下:

for i in range(10):
    print("loop:",i)

 

我們上面的實例也可以改為for循環的寫法,如下:

libai_old_age = 25
for i in range(3) :
    guess_age = int(input("Guess age:")) if guess_age == libai_old_age : print("Yes,you got it") break elif guess_age > libai_old_age : print("think smaller...") else : print("think bigger....") else: print('you have tried too many times...fuck off')

 

那么此時這段代碼也是可以將for 和else搭配使用,但是和while..else 不同的是,for 的else分支是不會再break語句執行之后執行的,也就意味着,此段代碼執行的效果,如果用戶輸入正確就不會輸出else分支里面的內容。

在python的for循環中,還存在另外的一種用法,可以先來看下剛才的實例:

for i in range(10):
    print("loop:",i)

 

輸出的內容為0 - 9 ,而如果想要輸出0,2,4,6,8等等雙數,在python中,實現的遠比其他語言方便。

for i in range(0,10,2):
    print("loop:",i)

 

如上面這樣,就可以非常簡單的實現了雙數輸出。而不需要像其他語言一樣,還要進行判斷。


實例升級:

當用戶猜了三次年齡之后,讓用戶手動的選擇是否依舊繼續,輸入n,停止,回車繼續。

如下:

break 和 continue

在上面的實例中,我們用到了break,當循環中出現break的時候,就會跳出整個循環,執行循環外面的后續代碼,而在流程控制當中,除了循環以外還有另外一個關鍵詞,也具有類似的功能,只不過不是跳出整個循環,而是跳出當前循環流程,它就是continue。

如下:

for i in range(0,20):
if i == 4: print("I am 4......") continue print("Loop:",i)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM