本篇文章主要針對於計算機二級考試的崽崽,當然想了解Python和學習Python的崽崽也是可以看本篇文章的;畢竟,手機和電腦都可以運行Python;本篇我文章雖然是筆記,但是也純靠手打,希望關注和點贊一下,期待我的其他隨筆和文章;文章作者由博客園狐小妖用戶撰寫,非來自於博客園且不帶轉載注明,均為盜文章的用戶,這種人最可恥;建議沒有經過系統學習的用戶一步一步來,如果經過系統學習的用戶酌情跳著看;
程序的框架格式,就是它的段落格式,是python語言的一部分,可以提高代碼的可讀性與維護性,當然,也是你必須遵守的python代碼的編寫方法;
python語言采用嚴格的‘縮進’來表示程序的邏輯,也就是我們說的python程序表示包含與層次關系,一般代碼不要求縮進,頂格編寫不能留空白;在if、while、for、def、class等保留關鍵字所在的完整語句後面要添加英文的‘:’符號結尾,並在之後進行縮進,表明後續代碼與緊鄰無縮進語句之間的所屬關系;
縮進可以通過tab鍵實現,也可以通過空格實現(一般是四個空格),但是兩者不能混用,如果使用IDLE編寫代碼,建議采用四個空格鍵編寫,如果是pycharm編寫建議采用tab鍵;
當使用IDLE執行代碼時出現‘unindent does not match any outer indentation level’或者‘SyntaxError: unexpected indent’則說明出現縮進錯誤,如圖:
注釋是代碼中的輔助性文字,會被編譯器或解釋器略去,不被計算機執行,一般用於程序員對代碼的說明;python使用‘# 單行注釋'、''' 多行注釋'''
單行注釋:‘#’符號,表示一行注釋的開始,注釋可以在一行的任意位置通過‘#’開始,其符號後面的一行內容中全部會被當成注釋,而前面的內容依舊會被當成代碼執行;
多行注釋:'''多行注釋''',位於三對單引號中的內容,無論是否換行,都是注釋,不會被python解釋器所執行;
注釋的作用:
注釋一般用於在代碼中標注作者和版權信息;
解釋代碼原理和用途;
通過注釋單行代碼輔助程序調試;
python程序是逐行編寫的,每行代碼並無限制,但是從程序員的角度,單行代碼太長並不方便閱讀,這個時候就可以采用續航符將單行代碼分割為多行表達。
python中的續航符為‘\’。續航符之後不允許再空格,也就是說續航符之後直接換行;
python語言的基本單位是‘單詞’,少部分單詞是由python語言規定的,被稱為保留字。大部分單詞是由用戶自己定義的,通過命名過程形成變量或函數,用來代表數據或代碼,稱為標識符。
變量是保存和表示數據值的一種語法元素,變量的值是可以改變的,通過賦值運算符‘=’方式被修改,python中變量可以隨時命名、隨時使用、隨時賦值;
保留字也叫keyword關鍵字,被編程語言內部定義並保留使用的,每種程序設計語言都有一套保留字,保留字一般用來構成程序的整體框架,python3.x中一共有35個保留字;
python3.x中的35個保留字andasassertasyncawaitbreakclasscontinuedefdelelifelseexceptFalsefinallyforfromglobalifimportinislambdaNonenonlocalnotorpassraisereturnTruetrywhilewithyieldpython二級考試中涉及到的保留字一共有22,選學5個:None、finally、lambda、pass、with;
python中的保留字也是大小寫敏感,舉例:True為保留字,而true不是保留字;
標識符可以簡單理解為一個名字,主要用來標識變量、函數、類、模塊和其他對象的名稱;
標識符的命名規則:
字母、數字、下劃線;
第一個字符不能是數字;
不能是python中的保留字;
只允許使用ISO-Latin(ISO-8859-1)字符集中的A-Z、a-z;
允許使用中文,但不建議;
注意:標識符對大小寫敏感,name和Name是兩個名字;
計算機對數據進行運算時需要明確數據的類型和含義,比如說:1001001到底表示的是十進制還是二進制,還是表示的是一個數字串,數據類型就是用來表達數據的含義,消除計算機對數據理解的二義性;
表示數字或數字的數據類型成為數值類型;
python提供3種數值類型:
整數類型;與數學中的整數一致,包含正、負、0,一個整數有二進制、八進制、十進制、十六進制這4種表示方式;
浮點數類型;與數學中的小數一致,沒有取值范圍限制,可正、可負,有兩種表達方式,一種是小數點表示形式,另一種是科學計數法;浮點數只有十進制形式;
復數;與數學中的復數一致;采用a+bj的形式表示,存在實部和虛部;
計算機經常處理文本信息,文本信息在計算機中使用字符串類型表示,在python中使用單引號或雙引號括起來的一個或多個字符來表示。單引號和雙引號作用相同;
字符序列有兩種序號體系:
正向遞增序號:有效范圍為[0,N-1],其中N為字符串中的字符的個數,最左側的字符序號為0,依次向右遞增,最右側字符序列號為N-1;
反向遞減序號:有效范圍為[-1,-N],其中N為字符串中的字符的個數,最右側字符序號為-1,依次向左遞減,最左側字符序號為-N;
兩種索引可以同時使用,以下代碼為對單個字符進行的索引;
還可以通過采用[N:M]格式獲取字符串的子串,這種操作被稱為切片操作。[N,M]獲取字符串中從N到M(但不包括M)的連續的子字符串。N和M都表示的是索引序號,可以混合使用正向遞增和反向遞減序號;
通過python默認提供的len()函數獲取字符串的長度,一個中文字符和一個英文字符的長度都記為1;
產生或計算新數據值的代碼片段成為表達式;類似於數學中的公式,一般由數據和操作符構成;
對變量進行賦值的一行代碼叫賦值語句;在python中使用一個‘=’表示‘賦值’,也就是說把等號右邊的表達式運算之後的結果值賦給左邊的變量;
基本的賦值語法:
變量 = 表達式
例:
同步賦值語句就是同時給多個變量進行賦值;
同步賦值語法:
變量1, 變量2, 變量n = 表達式1, 表達式2, 表達式n
例:
其實同步賦值用於最多的就是互換變量的值,也就是交換兩個變量存儲的值;
python程序會經常使用到當前程序以外的已有的功能代碼,這個過程叫引用,python語言使用import這個保留字引用當前程序以外的功能庫;
引用功能庫之後功能庫.函數名()
的方式調用基本功能,這種方式稱為‘A.B()’方式;
除了賦值語句以外,python還有分支語句和循環語句,先簡單介紹一下使用,後面會詳細講解;
分支語句:根據判斷條件選擇程序執行路徑。一般包含單分支結構、雙分支結構和多分支結構;
單分支語法結構:
if 條件:
語句塊
任何能夠產生True或Flase的語句都可以作為條件,當條件為True時,則執行語句塊;
雙分支語法結構:
if 條件:
語句塊1
else:
語句塊2
當條件為True時,執行語句塊1,當條件為False時執行語句塊2,其中if……else都是保留字;
循環語句和分支結構一樣都是程序控制語句,它的作用是根據判斷條件確定一個程序是否再執行一次或多次;
條件循環的語法結構:
while 條件:
語句塊1
語句塊2
當條件為True時,執行語句塊1,然後再次判斷,當條件為False時,退出循環,執行語句塊2;
input函數是從控制台獲取用戶的一行輸入,無論用戶輸入什麼內容,input函數都以字符串類型返回;input函數可以包含一些提示性文字,用來提示用戶;
input語法格式:
變量 = input("提示性文字")
無論用戶輸入的是數字還是字符,input函數統一按照字符串類型輸出,為了後續能夠操作用戶輸入的信息,需要添加一個變量進行存儲;
input函數提示文字可寫可不寫,不是必須的;
eval(str)函數將去掉字符串最外側的引號,並按照python語句方式去執行去掉引號之後的字符內容,說白了就是一個可以將內容當成python語言執行的函數;作者:博客園-狐小妖
eval()語法格式:
變量 = eval("字符串")
變量用來存儲對字符串內容進行python執行後的結果,如果沒有運算返回的結果,只有執行,那麼變量就為空;
eval()函數去掉了str1最外層的引號,並當成python語句來執行之後(這步是運算),會返回一個運算之後的結果:3.2,保存到str1,輸出他的類型就是float,str2中,eval函數將內容當做python語句來執行之後,並沒有返回結果,但是有一個輸出,所以會輸出:博客園-狐小妖,而我們下面打印輸出str2自然是None;
當你輸入一個錯誤格式的python語句進去後,他會將其當成變量,並查找相關變量的值,如果沒有查到,就會報錯,如果查到則執行;
當eval函數處理str3時候發現str3變量中存儲的內容是abcd,去掉兩邊引號,發現這並不是一個python語句,那就當成變量執行,但是執行時發現沒有相關定義,所以報錯;如果定義abcd為變量,並存儲內容為python的語句或者變量,那麼就會成功執行;
eval函數經常用來和input函數一起使用,用來獲取用戶輸入數據;
eval()與input()函數一起使用的語法:
變量 = eval(input("提示性文字:"))
用戶輸入的數字、小數、負數,input函數會解析成為字符串,再由eval函數去掉字符串引號,將被直接解析為數字保存到變量中;
(個人是學習安全的,這個函數我覺得盡量減少使用,如圖)
print函數用於輸出運算結果;
print()函數的三種用法:
僅用於輸出字符串或單個變量;
print("待輸出字符串或變量")
對於字符串,print函數輸出後將去掉兩側引號,對於其他類型,則直接輸出;
當print輸出字符串時,字符串統一使用單引號表達,在[ ]中的字符串都使用了雙引號,但是在采用print輸出時,輸出結果都采用了單引號;
用於輸出一個變量或多個變量,輸出後的各變量之間用一個空格分隔;
print(變量1, 變量2, ……, 變量n)
用於混合輸出字符串與變量的值,其中字符串模板使用{ }表示一個槽位,每個槽位對應.format()中的一個變量;
print("輸出字符模板".format(變量1, 變量2, 變量3))
"本文發布的平台:{}\n作者是:{}\n博客地址:{}"是字符串模板,也就是混合字符串輸出的樣式,大括號{}表示一個槽位,括號中的內容由後面緊跟著的format()方法中的參數按順序填充;
print函數輸出文本時會默認在最後增加一個換行,如果不希望在最後增加這個換行,或者希望輸出文本後增加其他內容,可以對print函數的end參數進行賦值;
語法結構為:
print("待輸出內容", end='增加的結尾')
編寫一段程序,獲取用戶輸入,采用倒敘輸出用戶的內容;
舉例:
輸入:123456
輸出:654321
提示:
采用input函數獲取輸入,輸出采用print,對於輸入字符串s,采用循環語句依次從後向前提取字符,並逐個打印輸出;在編寫代碼時還將使用到獲取字符串長度的函數len和print函數的end參數;
實現方式1:(正向遞增序號)
實現方式2:(反向遞減序號)
# 注釋第一行
# 注釋第一行
# 注釋第二行
// 注釋第一行
"""python文檔注釋"""
關於本篇文章的作者是( )
答案:CBBCC DABAB