python初始
大家好,我是芒果,一名非科班的在校大學生。對C/C++、數據結構、Linux及MySql、算法等領域感興趣,喜歡將所學知識寫成博客記錄下來。 希望該文章對你有所幫助!如果有錯誤請大佬們指正!共同學習交流
掘金LV3用戶 https://juejin.cn/user/1381426159953960
阿里云社區專家博主,星級博主,技術博主 https://developer.aliyun.com/profile/expert/5lkdbuggiiuhc
華為云云享專家 https://bbs.huaweicloud.com/community/myhomepage
本文檔主要講解內容:
對以下Python基礎語法的一些細節有一定的鞏固和認知. 語句和變量 對象和類型 數字和運算 條件和循環 函數和可調用對象
語句和變量
如果一行代碼太長, 可以折成多行來寫, 看起來會更清楚.一定要記得, 代碼寫出來是給人看的, 不能看不懂. 怎么簡單, 怎么清晰, 就怎么寫.
Python中, 如果一個語句被小括號, 中括號, 大括號包起來, 是可以跨行書寫的.
#這樣格式化一個字典,字典的元素看起來會清晰很多 serve = { 'ip':"192.168.1.1" , 'port':80 }
如果沒有用括號包起來, 可以使用 \ 來換行.
if x ==1 and \ y ==1: do_something
雙引號(")和單引號(’)字符串, 都不能折行, 但是三引號(’’’/""")可以折行.
print('''hello how are you''')
使用 ; 可以把多個語句寫到同一行. 但是強烈不建議這么做.
Python中使用縮進表示語句塊.
同一個語句塊中的代碼必須保證嚴格的左對齊(左邊有同樣數目的空格和制表符).
雖然Python語法允許使用制表符作為縮進, 但是Python編碼規范強烈不推薦使用制表符. 因為不同的編輯 器的制表符長度不同(4個空格或者8個空格).
我們推薦使用四個空格來表示一個縮進.
變量賦值方式
可以同時給多個變量賦相同的值
x = y = 1
可以同時給多個變量賦不同的值
x,y = 1,2
C語言里, 如何交換兩個變量嘛? 我們講了三種方法
//臨時變量交換 int a = 10; int b = 20; int tmp = a; a = b; b = tmp;
//a+b有溢出的風險 int a = 10; int b = 20; a = a + b; b = a - b; a = a - b;
//異或法 int a = 10; int b = 20; a = a ^ b; b = a ^ b; a = a ^ b;
python交換兩個變量的寫法:
x, y = 10, 20 x, y = y, x
請看這樣一段毀你三觀的代碼(僅限 Python2)
True, False = False, True if True: print('haha') else: print('hehe') #程序打印hehe
猜猜輸出結果:
True和False也是變量, 只不過是系統自帶的"內置變量", 一樣可以修改值的
不過我們實際寫代碼的時候, 千萬千萬別這么寫, 和作死無異~~~(當然, 除非是你故意想埋坑).
我們前面提到過, 可以使用 += 直接讓變量自增.
其實還支持很多其他的自增操作(參見下圖).
變量的作用域和生命周期
Python中, def, class(我們后面會講), lamda(我們后面會講) 會改變變量的作用域
if, else, elif, while, for, try/except(我們后面會講) 不會改變變量的作用域
for i in range(0,10): print(i) print(i) #即使出了for循環,變量i仍然能訪問i變量 打印9 for不會影響變量的作用域
例子2:
def func(): x = 1 print(x) print(x) #出了函數的作用域就不能訪問x變量
內建函數globals()返回了全局作用域下都有哪些變量, 內建函數locals()返回了局部作用域下都有哪些變量
關于Python的變量的生命周期, 這個不需要程序猿操心, Python提供了垃圾回收機制自動識別一個變量的生命周期是否走到盡頭, 并自動釋放空間(詳情我們稍后再講).
Python
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。