Python程序全局观--以温度转换为例
溫度轉換程序需求:攝氏度轉換為華氏度;華氏度轉換為攝氏度
輸入:帶華氏或攝氏標志的溫度值
處理:根據溫度標志選擇適當的溫度轉換算法
輸出:帶攝氏或華氏標志的溫度值
# TempConvert TempStr = input("請輸入帶有符號的溫度值:") if TempStr[-1] in ['F','f']:C = (eval(TempStr[0:-1])-32)/1.8print("轉換后的溫度是{:.2f}C".format(C)) elif TempStr[-1] in ['C','c']:F = 1.8*eval(TempStr[0:-1])+32print("轉換后的溫度是{:.2f}F".format(F)) else:print("輸入的格式有誤")一行一句
>>> i = 20 >>> j = 3 >>> k = 5與C/Java不同的是,Python中沒有語句結束符,如:;
所以Python解釋器不是以“是否存在語句結束符”來表示語句的存在或結束,而是根據其語法到完整性
通常來說,Python是一行一句的,但也可以是一行多句,不同語句以;分開,輸出仍用;分隔
>>> i = 20;j = 30;k = 50 >>> i;j;k 20 30 50 >>> i,j,k (20, 30, 50)分號;代表語句分隔符,而,表示元組
一句多行。Python 通常是一行寫完一條語句,但如果語句很長,我們可以使用\(反斜杠)來實現多行語句,例如:
total = item_one + \item_two + \item_three在 [], {}, 或 () 中的多行語句,不需要使用反斜杠(),例如:
total = ['item_one', 'item_two', 'item_three','item_four', 'item_five'] # 報錯 ???????? >>> print("Hello \ World! ") SyntaxError: EOL while scanning string literal編碼
??默認情況下,Python 3 源碼文件以 UTF-8 編碼,所有字符串都是 unicode 字符串。 當然你也可以為源碼文件指定不同的編碼
代碼高亮
??編程的色彩輔助體系,不是語法要求
縮進
??一行代碼開始前的空白區域,表達程序格式框架。縮進開始之處必須加:
??嚴格明確:縮進是語法的一部分,縮進不正確程序運行錯誤
??所屬關系:表達代碼間包含和層次關系的唯一手段
??長度一致:縮進長度是可變的,但同一代碼塊中的語句必須使用相同的縮進長度。一般按4個半角空格為一個縮進單位
# 正確的縮進 if True:print ("True") else:print ("False")# 錯誤的縮進 if True:print ("Answer")print ("True") # unindent does not match any outer indentation level else:print ("Answer")print ("False") # 在IDLE中,最后一行縮進錯誤,不會報錯語法突出
編寫程序時,編輯器會以各種方式突出程序的不同部分。例如,它知道print是一個函數的名稱,因此將其顯示為藍色;它知道“Hello Python world!”不是Python代碼,因此將其顯示為橙色。這種功能稱為語法突出
注釋
??用于提高代碼可讀性的輔助性文字,不被執行。清晰、簡潔
??闡述代碼要做什么,以及是如何做的
如果不確定是否要編寫注釋,就問問自己,找到合理的解決方案前,是否考慮了多個解決方案。如果答案是肯定的,就編寫注釋對你的解決方案進行說明吧。
如果程序太簡單,沒有什么需要說明的,就在程序文件開頭加上你的姓名和當前日期,再用一句話闡述程序的功能。
Python解釋器會跳過所有以#開頭的注釋行語句
單行注釋:以#開頭,其后內容為注釋
# 第一個注釋 print ("Hello, Python!") # 第二個注釋多行注釋 :多行注釋可以用多個 # 、或用 ‘’’ 和 “”"(單引號)括起
用 ‘’’ 和 “”"(單引號)括起:開頭的三個引號和結束的三個引號必須都要單獨開一行,不能和注釋內容混在一行里
# 第一個注釋 # 第二個注釋''' 第三注釋 第四注釋 '''""" 第五注釋 第六注釋 """ print ("Hello, Python!")Python之禪
The Zen of Python, by Tim PetersBeautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!不要企圖編寫完美無缺的代碼;先編寫行之有效的代碼,再決定是對其做進一步改進,還是轉而去編
寫新代碼。
標識符
- 第一個字符必須是字母表中字母或下劃線 _ 。
- 標識符的其他的部分由字母、數字和下劃線組成。
- 標識符對大小寫敏感。
- if、else等單詞是保留字,不能將其作為標志符
在 Python 3 中,可以用中文作為變量名,非 ASCII 標識符也是允許的了。
變量
??程序中用于保存和表示數據的占位符號
??變量采用標識符來表示,關聯標識符的過程叫命名
python保留字
??保留字即關鍵字,是被編程語言內部定義并保留使用的標識符,我們不能把它們用作任何標識符名稱。Python 的標準庫提供了一個 keyword 模塊,可以輸出當前版本的所有關鍵字:
>>> import keyword >>> keyword.kwlist| if | else | elif | for | or |
| continue | break | return | while | global |
| and | as | def | except | import |
| from | in | del | lambda | not |
| try | finally | None | True | False |
| pass | class | nonlocal | raise | with |
| yield | assert | is | async | await |
??保留字是編程語言中的基本單詞,大小寫敏感
????if是保留字,而 If 是變量
| and | 用于表達式運算,邏輯與操作 |
| as | 用于類型轉換 |
| assert | 斷言,用于判斷變量或條件表達式的值是否為真, |
| class | 用于定義類 |
| def | 用于定義函數或方法 |
| del | 刪除變量或者序列的值 |
| global | 定義全局變量 |
| if | 條件語句,與else,elif結合使用 |
| else | 條件語句條件語句,與if,elif結合使用。也可以用于異常和循環使用 |
| elif | 條件語句與ifelse結合使用 |
| while | 循環語句 |
| for | 循環語句 |
| continue | 繼續執行下一次循環 |
| break | 中斷循環語句的執行 |
| return | 用于從函數返回計算結果 |
| import | 用于導入模塊,與from結合使用 |
| from | 用于導入模塊,與import結合使用 |
| in | 判斷某一數據是否存在于序列中 |
| is | 判斷變量是否為某個類的實例 |
| lambda | 定義匿名函數 |
| not | 用于表達式運算,邏輯非操作 |
| or | 用于表達式運算,邏輯或操作 |
| pass | 空的類,函數,方法的占位符 |
| raise | 異常拋出操作 |
| try | 包含可能會出現異常的語句,與except,finally結合使用 |
| finally | 用于異常語句,出現異常后,始終要執行finally包含的代碼塊。與try,except結合使用 |
| except | except包括捕獲異常后的操作代碼,與try,finally結合使用 |
| with | 簡化Python的語句 |
| yield | 用于從函數依次返回值 |
??以下劃線開始或者結束的標識符通常有特殊的意義。例如以一個下劃線開始的標識符(如foo)不能用from module import *語句導入。前后均有兩個下劃線的標識符,如init,被特殊方法保留。前邊有兩個下劃線的標識符,如bar,被用來實現類私有屬性,這個將在第七章–類與面向對象編程中講到。通常情況下,應該避免使用相似的標識符。
空語句
Python是“可執行的偽代碼”,空語句需要用pass語句來占位,否則報錯
x = 5 y = 2 if x > y :pass else:print(y)C/Java中是用;來表示空語句的
總結
以上是生活随笔為你收集整理的Python程序全局观--以温度转换为例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 读取word文件中的文本信息
- 下一篇: tushare股票数据接口