主頁 > 後端開發 > 計算機二級python(第二階段)

計算機二級python(第二階段)

2022-07-31 06:22:35 後端開發

介紹

??本篇文章主要針對于計算機二級考試的崽崽,當然想了解Python和學習Python的崽崽也是可以看本篇文章的;畢竟,手機和電腦都可以運行Python;本篇我文章雖然是筆記,但是也純靠手打,希望關注和點贊一下,期待我的其他隨筆和文章;文章作者由博客園狐小妖用戶撰寫,非來自于博客園且不帶轉載注明,均為盜文章的用戶,這種人最可恥;建議沒有經過系統學習的用戶一步一步來,如果經過系統學習的用戶酌情跳著看;

 

目錄

  • python語言基本語法元素
    • 程式的框架格式
      • 縮進
      • 注釋
      • 續航符
    • 語法元素的名稱
      • 變數
      • 保留字
      • 識別符號
    • 資料型別
      • 數值型別
      • 字串型別
    • 程式的陳述句元素
      • 運算式
      • 參考
      • 其他陳述句
    • 基本輸入輸出函式
      • input函式
      • eval()函式
      • print函式
    • 練習寫代碼
    • 第二階段考核測驗
      • 選擇題
      • 編程題

 

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個保留字
and as assert async await break class
continue def del elif else except False
finally for from global if import in
is lambda None nonlocal not or pass
raise return True try while with yield

python二級考試中涉及到的保留字一共有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函式統一按照字串型別輸出,為了后續能夠操作用戶輸入的資訊,需要添加一個變數進行存盤;

??

??input函式提示文字可寫可不寫,不是必須的;

 

eval()函式

??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輸出時,輸出結果都采用了單引號;

用于輸出一個變數或多個變數,輸出后的各變數之間用一個空格分隔

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:(反向遞減序號)

??

第二階段考核測驗

選擇題

  1. 以下哪個選項不是python語言的保留字?
    1. False
    2. and
    3. true
    4. if
  2. s='0123456789',以下哪個選項表示‘0123’
    1. s[1:5]
    2. s[0:4]
    3. s[0:3]
    4. s[-10:-5]
  3. x=2,y=3,執行x,y=y,x之后,x和y的值分別是什么?
    1. 2,3
    2. 3,2
    3. 2,2
    4. 3,3
  4. 以下不是python的注釋方式的是(??)
    1. # 注釋第一行
    2. # 注釋第一行
      # 注釋第二行
    3. // 注釋第一行
    4. """python檔案注釋"""
  5. 關于本篇文章的作者是(??)

    1. 該發布者
    2. CSDN當前發布者
    3. 博客園狐小妖
    4. 百度文庫當前發布者
  6. len('hello world!')的輸出結果為(??)
    1. 10
    2. 11
    3. 9
    4. 12
  7. 以下變數名不合法的是(??)
    1. for
    2. _my
    3. a_int
    4. c666
  8. 以下賦值陳述句中合法的是(??)
    1. x=2,y=3
    2. x=y=3
    3. x=2 y=3
    4. x=(y=3)
  9. "世界很大"+"人很渺小"的輸出結果是(??)
    1. 世界很大人很渺小
    2. "世界很大""人很渺小"
    3. "世界很大"+"人很渺小"
    4. 世界很大+人很渺小
  10. 與0xf2值相等的是(??)
    1. 342
    2. 0242
    3. 0b11010010
    4. o362

答案:CBBCC??DABAB

編程題

  1. 獲得用戶輸入的一個整數N,計算并輸出N的32次方;

本文來自博客園,作者:狐小妖,轉載請注明原文鏈接:https://www.cnblogs.com/huxiaoyao/p/16517169.html

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/500634.html

標籤:Python

上一篇:記一次 Windows 下 Python 3 的控制臺虛擬終端序列(控制臺顏色輸出, colorama / console 庫)的踩坑經歷

下一篇:python簡介,cmd查看python版本

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more