中間斷了一段時間,現在把慕課網上《Python入門》看完了,也敲完了課程中留的代碼作業,可能因為沒有實戰過的原因,現在并不能明顯的感覺到可以用Python來做什么。 但是學完了總得留下點什么吧,現在回顧一下。 整體感覺,這是一種高級語言,可以用較少的代碼實現功能,而且更容易閱讀。
代碼塊用縮進區分,同意代碼塊縮進相同,比如下面這個,函數并沒有用大括號,而是冒號后面的代碼保持了相同的縮進
# 7-4 一元二次方程求根公式def quadratic_equation(a, b, c): x1 = (-b + math.sqrt(b * b - 4 * a * c)) / 2 * a x2 = (-b - math.sqrt(b * b - 4 * a * c)) / 2 * a return x1, x2PRint quadratic_equation(2, 3, 0)在代碼文件頭部添加
# -- coding: utf-8 --
但用Pycharm的時候頭部添加的是
# coding=utf-8
效果是一樣的
這幾個表還得單獨總結一下
再舉一個不太恰當的例子
def firstCharUpper(s): return s[0].upper()+s[1:]# return s[0].upper(), s[1:]print firstCharUpper('hello')print firstCharUpper('sunday')print firstCharUpper('september')輸出結果為
HelloSundaySeptember而如果用注釋的那行return則結果為:
('H', 'ello')('S', 'unday')('S', 'eptember')return語句一次可以返回多個值,用逗號分開的話相當于返回了s[0].upper() 和 s[1:] 那么對于print語句,自然也是把s[0].upper() 和s[1:]當成兩個值來打印了。這里可以看出Python的函數返回多值其實就是返回一個tuple。 加號用來連接字符串,得到的結果就是一個字符串。
如果調用的時候不傳參數就使用默認的參數
def greet(s="world"): print "Hello, " + s + "."greet()greet('Bart')分別輸出Hello, world. 和Hello, Bart.
一個*args就不限定參數類型和個數了 可變參數也不是很神秘,Python解釋器會把傳入的一組參數組裝成一個tuple傳遞給可變參數,因此,在函數內部,直接把變量 args 看成一個 tuple 就好了。
這其實是for的一種,在別的語言中沒見過的用法
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
代碼里面for語句似乎是返回了一個值給它前面的代碼段使用##復雜表達式```pythontds = [generate_tr(name, score) for name, score in d.iteritems()]<div class="se-preview-section-delimiter"></div>for循環得到的name和score作為參數返回給前面的函數使用
倆for 雙層循環
print [100 * x + 10 * y + x for x in range(1, 10) for y in range(0, 10)]新聞熱點
疑難解答