主頁 > 後端開發 > python從入門到精通——完整教程

python從入門到精通——完整教程

2021-10-21 08:04:36 後端開發

    <link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/ck_htmledit_views-1a85854398.css">
            <div id="content_views" class="htmledit_views">
                <p>&nbsp;</p> 

文章目錄

  • 一、pycharm下載安裝

  • 二、python下載安裝

  • 三、pycharm上配置python

  • 四、配置鏡像源讓你下載嗖嗖的快

      • 4.1)pycharm內部配置

      • 4.2)手動添加鏡像源

      • 4.3)永久配置鏡像源

  • 五、插件安裝(比如漢化?)

      • 5.1)自動補碼神器第一款

      • 5.2 )自動補碼神器第二款

      • 5.2)漢化pycharm

      • 5.3)其它插件

  • 六、美女背景

  • 七、自定義腳本開頭

  • 八、即將開始寫代碼了!

  • 九、python入門

  • 十、python縮進

  • 十一、Python注釋

    • 1)單行注釋

    • 2)多行注釋

  • 十二、Python 變數

    • 1)變數定義理解

    • 2) 變數名命名

    • 3) 分配多個值

    • 4)輸出變數

    • 5)全域變數與區域變數,全域關鍵字

    • 6)練習題

  • 十三、Python資料型別

    • 1)置資料型別

    • 2)獲取資料型別

    • 3)設定資料型別

    • 4)設定特定資料型別

    • 6)練習題

  • 十四、python數字

    • 1)整數

    • 2)浮點數

    • 3)虛數

    • 4)型別轉換

    • 5)亂數

    • 6)練習題

  • 十五、python指定變數型別

  • 十六、Python字串

    • 一、字串基本使用

      • 1)字串理解

      • 2)將字串分配給變數

      • 3)多行字串

      • 4)字串是陣列

      • 5)遍歷字串

      • 6)字串長度

      • 7)檢查字串

      • 8)檢查如果不是

    • 二、切片字串

      • 1)切片

      • 2)從頭開始切片

      • 3)切到最后

      • 4)負索引

    • 三、修改字串

      • 1)小寫轉大寫

      • 2)大寫轉小寫

      • 3)洗掉空格

      • 4)替換字串

      • 5)拆分字串

    • 四、字串連接

    • 五、格式化字串

      • 1)format單個傳參

      • 2)format多個個傳參

    • 六、字串的其它處理方法總結

    • 七、練習題

  • 十七、Python布林值

      • 1)比較

      • 2)評估值和變數

      • 3)布爾真值

      • 4)布爾假值

      • 5)函式可以回傳布林值

      • 6)練習題

  • 十八、python運算子

    • 1)算術運算子

    • 2)賦值運算子

  • 十九、Python串列

    • 一、串列基本知識

      • 1)創建串列

      • 2.列出表值

      • 3.串列長度

      • 4.串列項 - 資料型別

      • 5.Python 集合(陣列)

    • 二.訪問串列

      • 1.正常索引

      • 2)負索引

      • 3)索引范圍

      • 4)負指數范圍

      • 5)檢查是否存在

    • 三、更改串列

      • 1)單個更改

      • 2)多個更改

      • 3)插入串列

    • 四、添加串列

      • 1)末尾添加

      • 2)指定位置添加

      • 3)合并串列

    • 五、洗掉串列

      • 1)洗掉指定目標

      • 2)洗掉指定索引

      • 3)del洗掉指定的索引

      • 4)清除串列

    • 六、回圈串列

      • 1)for回圈遍歷

      • 2)while回圈遍歷

    • 七、串列推導式

    • 八、串列排序

      • 1)區分大小寫的排序

      • 2)不區分大小寫的排序

      • 3)倒序

    • 九、復制串列

    • 十、加入串列

    • 十一、串列所有操作總結

    • 十二、練習

  • 二十、Python元組

    • 一、元組理解

      • 1.1)基本定義

      • 1.2)元組長度

      • 1.3)資料型別

    • 二、訪問元組

      • 2.1)正常訪問

      • 2.2)負索引

      • 2.3)范圍性索引

    • 三、更新元組

      • 3.1)替換

      • 3.2)添加專案值

      • 3.3)洗掉專案

    • 四、解包元組

    • 五、回圈元祖

      • 5.1)遍歷元祖

      • 5.2)使用 While 回圈

    • 六、元組合并

    • 七、練習

  • 二十一、Python集合

    • 一、集合理解

    • 二、訪問集合

      • 2.1)遍歷集合

      • 3.2)檢查是否存在

    • 三、添加集合

      • 3.1)添加專案值

      • 3.2)添加集合

      • 3.3)添加任何可迭代物件

    • 四、移除集合項

      • 4.1)remove方法

      • 4.2)iscard() 方法

      • 4.3)pop() 方法

      • 4.4)clear() 方法

      • 4.5)del關鍵字

    • 五、回圈集合

    • 六、集合連接

      • 6.1)普通連接

      • 6.2)僅保留重復項

      • 6.3)保留所有,但不保留重復項

    • 七、練習

  • 二十二、Python字典

    • 一、字典理解

      • 1.1)創建字典與訪問

      • 1.2)字典長度

      • 1.3)資料型別

    • 二、訪問字典

      • 2.1)訪問鍵名

      • 2.2)訪問健值

    • 三、更改字典各種方法

    • 四、添加字典項各種方法

    • 五、洗掉字典的各種方法

    • 六、遍歷字典

    • 七、復制字典

    • 八、嵌套字典

    • 九、練習

  • 二十三、If ... Else陳述句

    • 一、if陳述句

    • 二、縮進

    • 三、elif陳述句

    • 四.else陳述句

      • 4.1基本else

      • 4.2)and陳述句

      • 4.3)or 陳述句

      • 4.4)嵌套if陳述句

      • 4.4)pass陳述句

  • 二十四、while回圈陳述句

    • 一、基本理解

    • 二、中斷宣告

    • 三、continue 宣告

    • 四、else 陳述句

  • 二十五、for回圈陳述句

    • 一、基本遍歷

    • 二、遍歷字串

    • 三、中斷宣告

    • 四、continue 宣告

    • 五.range() 函式

    • 六.嵌套回圈

    • 七.pass陳述句

  • 二十六、函式

    • 一、創建函式與呼叫

    • 二、引數

    • 三、引數數量

    • 四、任意引數,*args

    • 五、關鍵字引數

    • 七、任意關鍵字引數,**kwargs

    • 八、默認引數值

    • 九、將串列作為引數傳遞

    • 十、回傳值

    • 十一、pass陳述句

  • 二十七、lambda

  • 二十八、陣列

    • 一、訪問陣列的元素

    • 二、陣列的長度

    • 三、修改陣列

    • 四、陣列的其它操作

  • 二十九、Python類和物件

    • 一、創建類

    • 二、創建物件

    • 三、__init__() 函式

    • 四、物件方法

    • 五、自引數

    • 六、物件及其屬性更改

    • 七、pass陳述句

  • 三十、Python繼承

    • 一、創建父類

    • 二、創建子類

    • 三、添加 __init__() 函式

    • 四、使用 super() 函式

    • 五、添加屬性

    • 六、添加方法

  • 三十一、Python日期

    • 一、日期輸入輸出

    • 二、創建日期物件

    • 三、strftime() 方法

    • 四、其它呼叫方法

  • 三十二、Python JSON

    • 一.從 JSON 轉換為 Python

  • 三十三、例外處理

    • 一、例外處理

    • 二、else搭配

    • 三、finally陳述句

    • 四、引發例外

  • 三十四、用戶輸入

  • 三十五、格式化輸入輸出

  • 三十六、?進階python正則運算式?

    • 一、Python中的正則運算式

    • 二、正則運算式函式

      • 2.1) findall() 函式

      • 2.2) search() 函式

      • 2.3) split() 函式

      • 2.4) sub() 函式

    • 三、元字符

      • 3.1) 串列符號

      • 3.2)轉義符

      • 3.4) 任意符號

      • 3.5)開始符

      • 3.6) 結束符

      • 3.7 )星號符

      • 3.8 )加號符

      • 3.9)集合符號

      • 3.10) 或符

    • 四、特殊序列

      • 4.1) 指定字符

      • 4.2) 指定開頭結尾

      • 4.3)匹配中間字符

      • 4.4)匹配數字

      • 4.5) 匹配非數字

      • 4.6) 空格匹配

      • 4.7) 匹配非空格

      • 4.8 匹配任意數字和字母

      • 4.9)匹配任意非數字和字母

      • 4.10) 匹配結尾

    • 五、集合套裝

      • 5.1) 指定符范圍匹配

      • 5.2) 匹配任意范圍內小寫字母

      • 5.3) 其它

    • 六、匹配物件

      • 6.1) span函式

      • 6.2)string函式

      • 6.3) group函式

  • 三十七、?進階資料庫操作?

    • 一、MySQL入門連接

    • 二、MySQL創建表

    • 三、MySQL插入表

    • 四 、MySQL選擇

    • 五 、MySQL查詢位置

    • 六、MySQL排序

    • 七、MySQL洗掉

    • 八、MySQL更新表

    • 九、MySQL限制

    • 十、MySQL合并

    • 十一、MySQL洗掉表

    • 十二、SQL詳細教程

  • 三十八、?進階Git詳細教程?

  • 三十九、?進階爬蟲?

  • 三十九、?終極實戰QQ機器人教程?

  • 四十、?粉絲福利?

  • 四十一、總結

一、pycharm下載安裝

pycharm下載地址:
http://www.jetbrains.com/pycharm/download/#section=windows
下載詳細步驟:
1-
在這里插入圖片描述
2-
在這里插入圖片描述
3-
在這里插入圖片描述
4-
在這里插入圖片描述
5-
在這里插入圖片描述
6
在這里插入圖片描述
7-
在這里插入圖片描述
8-直接finish
在這里插入圖片描述
在這里插入圖片描述

二、python下載安裝

9-python官網:

https://www.python.org/

 

進去網址后點擊:
在這里插入圖片描述
10
在這里插入圖片描述
11-下載好后
在這里插入圖片描述
12-添加環境變數
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
記得雙擊安裝:
在這里插入圖片描述

三、pycharm上配置python

13-雙擊桌面pycharm

在這里插入圖片描述
隨便取個名字(我取的學習),直接點擊create.
遇到如下情況,則點擊ok(沒遇到就算了)
在這里插入圖片描述
14-添加解釋器
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
![在這里插入圖片描述](https://img-blog.csdnimg.cn/4f4c5fc9f8b64ecebbf4c1046e876036.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_Q1NETiBA5bed5bed6I-c6bif,size_36,color_FFFFFF,t_70,g_se,x_16
成功如下:
在這里插入圖片描述
列印成功:標志配置完成
在這里插入圖片描述

四、配置鏡像源讓你下載嗖嗖的快

在這里插入圖片描述

在這里插入圖片描述

我喜歡用清華的,所以我在這里介紹都用清華源,當然這里是一些比較好用的鏡像源:


 
  1. 清華: https:/ /pypi.tuna.tsinghua.edu.cn/simple
  2. 阿里云: http:/ /mirrors.aliyun.com/pypi /simple/
  3. 中國科技大學 https:/ /pypi.mirrors.ustc.edu.cn/simple /

一共有三種鏡像源配置,建議你每一種都跟我一起學會,

4.1)pycharm內部配置

第一步:
在這里插入圖片描述
第二步:
在這里插入圖片描述
第三步:
在這里插入圖片描述
在這里插入圖片描述
第四步:
復制上面的清華鏡像源粘貼,然后okokokok
在這里插入圖片描述
測驗,遇到了這個問題:
pip : 無法將“pip”項識別為 cmdlet、函式、腳本檔案或可運行程式的名稱,請檢查名稱的拼寫,如果包括路徑,請確保路徑正確,然后再試一次,
在這里插入圖片描述
因為我忘記給pip加環境變數了,所以加一下,一次如下:

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
第五步:
退出pycharm,因為加了環境變數需要重啟軟體,我們先到cmd輸入pip,如下就是配置成功了:
在這里插入圖片描述
第六步:
重啟軟體后,隨便裝一個模塊,如下:(你可以看到下載模塊速度很快!)
在這里插入圖片描述

4.2)手動添加鏡像源

使用方法:

pip install 下載的模塊名 -i https://pypi.tuna.tsinghua.edu.cn/simple

 

比如我要下載numpy這個模塊,執行以下命令:

pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

 

幾秒就好了:
在這里插入圖片描述
這個方法的好處就是,你不用像其它配置一樣要去配置一遍,你只需要在后面加上:

-i https://pypi.tuna.tsinghua.edu.cn/simple

 

4.3)永久配置鏡像源

這個配置我是建議你一定要添加配置,
方法一:
到cmd執行如下命令創建pip.ini:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

 

回傳:
在這里插入圖片描述

然后我們把這個路徑添加到系統環境變數就好了(怎么添加環境變數?跟前面給pip添加環境變數一樣操作,只是路徑不一樣)

方法二:

如果剛剛這個命令你執行失敗,你可以自己在c盤任意找個位置創建一個檔案名叫做pip檔案夾,在這下面下創建一個檔案名pip.ini,內容為:


 
  1. [ global]
  2. index-url = https: //pypi.tuna.tsinghua.edu.cn/simple

然后添加到環境變數,

五、插件安裝(比如漢化?)

在這里插入圖片描述

在這里插入圖片描述

首先個人不建議漢化,最后我再演示漢化插件,我是想要推薦一些不錯的插件,
首先進入如下界面:
在這里插入圖片描述

5.1)自動補碼神器第一款

推薦使用:TabNine,當然kite也不錯,你可以都安裝,我是都在用,我演示一款:
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
彈出這個頁面刪了不要管:
在這里插入圖片描述
測驗:已經開始有提示了
在這里插入圖片描述

5.2 )自動補碼神器第二款

(底部掃碼也可以)到我公眾號:川川菜鳥 發送:kite 即可領取kite軟體,無腦安裝配置就餓可以了,實在不會左側加我再給你說,
在這里插入圖片描述

直接跳轉我這一篇文章,如果你效果跟我一樣,那就是成功了:
Kite神器

5.2)漢化pycharm

首先,個人不建議漢化,不管你英語好不好,都要去適應這個英語界面,當然你實在需要漢化,這是教程:
在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

現在就已經全部漢化:
在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

5.3)其它插件

如果需要下載別的插件,你可以百度搜一下pycharm有哪些好的插件,都是安裝上述方式安裝,

六、美女背景

你是否想要如下桌面?
在這里插入圖片描述

教程傳送門:
美女桌面背景設定

七、自定義腳本開頭

你是都在先每次創建一個檔案,開頭都是如下?
在這里插入圖片描述
節約版面,跳轉此文:
自定義腳本開頭

八、即將開始寫代碼了!

擁有本篇文章,意味著你擁有一本最完善的書籍,講得比書上全,語法也會比買的書上更詳細,大家要慢慢看,擁有本篇文章,你將基礎無敵,從此可以有能力自學一些高級教程,作者寫了好幾天,實在很累,希望你三連支持,

python,言簡意賅就是:通俗易懂,功能強大無比,上手快,實用強,你跟著我在這里認真學完這一篇,你一定會學會最扎實的python基礎,同時我還可以提供免費輔導,作者本是一名學生,并不圖有任何好處,如果需要輔導,可以加從左側欄加群,當然僅是交流,不會有時間一直教你,只能幫助你解決一些問題,更多要靠自己,
在這里插入圖片描述

九、python入門

軟體安裝我就不介紹了,大家b站搜一下python和pycharm安裝安裝即可,個人是推薦python和pycharm結合使用,pycharm是什么?是python的編譯器,如果我們沒有編譯器,寫代碼是很困難的,而且pycharm提供了許多插件和優美的界面,使得你寫代碼又快又舒服,不會因為在python的IDE上寫得頭疼,
當然!下載軟體不用到官網下,你只需要到軟體管家下載即可,我也是這個公眾號的忠實粉絲了,
入門第一步:列印

print("Hello, World!")

 

當然,你想列印別的也可以,對吧?

print('川川帥哥,我愛你')

 

在這里插入圖片描述

在這里插入圖片描述

十、python縮進

最基本的語法,我不可能在這里把所有的語法都講一遍,但是最基本語法要說一下,在這里,我們又不得不鳴謝pycharm編譯器,實在幫助我們太多了,為什么這么說?pycharm中,它會自動幫助我們完成換行,縮進等問題,不會像IDE中寫代碼,要自己手動,如果忘記手動就回報錯,因此我是不建議只用python解釋器,一定要用pycharm!

舉一些例子,當然,如果你是小白,現在只會列印,大可不必著急,你只需要看看,后面我會講到,
比如縮進問題,縮進是指代碼行開頭的空格,if后面的陳述句需要tap一下(當然,如果你用pycharm編譯器,會自動tap),
例如:


 
  1. if 6 > 2:
  2. print( "六大于二")

在這里插入圖片描述

在這里插入圖片描述

十一、Python注釋

注釋可用于解釋 Python 代碼,注釋可用于使代碼更具可讀性,注釋可用于在測驗代碼時阻止執行,

1)單行注釋

將需要注釋的部分開頭用#
例如:


 
  1. #川川真帥
  2. print( '川川帥哥,我愛你')

或者這樣:

print("Hello, World!") #川川真帥

 

你可以看到如下,這就是注釋意義了,懂了吧,
在這里插入圖片描述

2)多行注釋

第一種方法(不建議,太麻煩)


 
  1. #川川真帥
  2. #川川真帥
  3. #川川真帥
  4. print( "Hello, World!")

你也可以左鍵選中我們需要注釋的代碼,松開,按:Ctrl+/,就完成相同效果注釋,
第二種方法:
把要注釋的內容放到三個引號對里面,,例如:


 
  1. '''
  2. 川川真帥
  3. 川川真帥
  4. '''
  5. print( '川川帥哥,我愛你')

取消注釋
左鍵選中我們需要取消注釋的代碼,松開,按:Ctrl+/

十二、Python 變數

1)變數定義理解

在 Python 中,當你給它賦值時就會創建變數:Python 沒有用于宣告變數的命令,變數在您第一次為其賦值時創建,
例如:


 
  1. x = 5
  2. y = "川川"
  3. print(x)
  4. print(y)

對于同一個變數,賦值型別不同則會發生型別的變化,例如:


 
  1. x = 4 # x 現在是整形
  2. x = "川川" # x 現在是字串
  3. print(x)

則列印為:
在這里插入圖片描述
如果要指定變數的資料型別,可以通過強制轉換來完成,比如:


 
  1. x = str( 3) # x will be '3'
  2. y = int( 3) # y will be 3
  3. z = float( 3) # z will be 3.0

那么剛剛我說到了型別,小白肯定還不知道型別是什么,怎么查看,我們來說一下如何獲取型別,這里我們要用到type函式,舉個例子:


 
  1. x = 5
  2. y = "川川"
  3. print( type(x))
  4. print( type(y))

看看回傳什么:int為整形,str為字串,這是你要背的,
在這里插入圖片描述
可以使用單引號或雙引號來宣告字串變數:


 
  1. x1 = "川川真棒"
  2. x2 = '川川真棒'
  3. print(x1)
  4. print(x2)

回傳為:
在這里插入圖片描述
變數名區分大小寫:


 
  1. a = 4
  2. A = "川川"
  3. print(a)
  4. print(A)

回傳為:

在這里插入圖片描述

在這里插入圖片描述

2) 變數名命名

變數可以有一個簡短的名稱(如 x 和 y)或一個更具描述性的名稱(age、carname、total_volume),Python 變數的規則:

  • 變數名必須以字母或下劃線字符開頭

  • 變數名不能以數字開頭

  • 變數名稱只能包含字母數字字符和下劃線(Az、0-9 和 _ )

  • 變數名區分大小寫(age、Age和AGE是三個不同的變數)

例如:


 
  1. myvar = "川川"
  2. my_var = "川川" "
  3. _my_var = "川川 ""
  4. myVar = "川川" "
  5. MYVAR = "川川 ""
  6. myvar2 = "川川" "

命名法則:
駱駝法則:除了第一個單詞外,每個單詞都以大寫字母開頭

myNameIs = "川川"

 

帕斯卡法則:每個單詞都以大寫字母開頭

MyNameIs = "川川"

 

蛇形法則:每個單詞由下劃線字符分隔

My_Name_Is = "川川"

 

3) 分配多個值

多個變數的多個值,
Python 允許您在一行中為多個變數賦值:


 
  1. x, y, z = "川川一號", "川川二號", "川川三號"
  2. print(x)
  3. print(y)
  4. print(z)

輸出為:
在這里插入圖片描述
注意:確保變數的數量與值的數量相匹配,否則你會得到一個錯誤,

多個變數的一個值
您可以在一行中為多個變數分配相同的值:


 
  1. x = y = z = "川川菜鳥"
  2. print(x)
  3. print(y)
  4. print(z)

輸出為:
在這里插入圖片描述

打開一個集合
如果您在串列、元組等中有一組值,Python 允許您將值提取到變數中,這稱為拆包,當然,在這里,你可能還不知道集合串列,元組是什么,沒有關系,后面我會講到,


 
  1. fruits = [ "apple", "banana", "cherry"]
  2. x, y, z = fruits
  3. print(x)
  4. print(y)
  5. print(z)

4)輸出變數

print陳述句通常用于輸出變數,
為了組合文本和變數,Python 使用 +字符:


 
  1. x = "川川"
  2. print( "帥哥是" + x)

輸出為:
在這里插入圖片描述
您還可以使用該+字符將一個變數添加到另一個變數中:


 
  1. x = "川川真"
  2. y = "帥"
  3. z = x + y
  4. print(z)

回傳一樣:
在這里插入圖片描述
對于數字,該+字符用作數學運算子:


 
  1. x = 6
  2. y = 10
  3. print(x + y)

回傳:
在這里插入圖片描述
如果你嘗試組合一個字串和一個數字,Python 會給你一個錯誤,比如:


 
  1. ?```c
  2. x = 5
  3. y = "川川"
  4. print(x + y)

該怎么修改呢?把數字轉為字符即可,則修改為:


 
  1. x = 5
  2. y = "川川"
  3. print( str(x) + y)

成功回傳:
在這里插入圖片描述

5)全域變數與區域變數,全域關鍵字

在函式外部創建的變數稱為全域變數,都可以使用全域變數,無論是在函式內部還是外部,當然,在這里,你可能還不知道函式是什么,后面我會講到,大可不必慌張,


 
  1. x = "川川"
  2. def myfunc():
  3. print( "帥哥是 " + x)
  4. myfunc()

回傳為:
在這里插入圖片描述
如果在函式內部創建同名變數,該變數將是區域變數,只能在函式內部使用,具有相同名稱的全域變數將保持原樣,全域且具有原始值,


 
  1. x = "awesome"
  2. def myfunc():
  3. x = "fantastic"
  4. print( "Python is " + x)
  5. myfunc()
  6. print( "Python is " + x)

回傳為:
在這里插入圖片描述
全域關鍵字
通常,當您在函式內部創建變數時,該變數是區域的,并且只能在該函式內部使用,要在函式內創建全域變數,可以使用 global關鍵字,


 
  1. x = "帥哥"
  2. def myfunc():
  3. global x
  4. x = "菜鳥"
  5. myfunc()
  6. print( "川川" + x)

回傳為:
在這里插入圖片描述

6)練習題

  1. 創建一個名為的變數carname并為其賦值菜鳥,

  2. 創建一個名為的變數x并為其賦值60,

  3. 5 + 10使用兩個變數x和y,顯示,列印它們的總和

  4. 創建一個名為的變數z,x=8,y=9,分配x + y給它,并顯示結果,

十三、Python資料型別

在這里插入圖片描述

在這里插入圖片描述

1)置資料型別

默認情況下,Python 具有以下內置資料型別,在這些類別中:


 
  1. 文本型別: str
  2. 數字型別: int, float, complex
  3. 序列型別: list, tuple, range
  4. 映射型別: dict
  5. 套裝型別: set, frozenset
  6. 布爾型別: bool
  7. 二進制型別: bytes, bytearray, memoryview

此時你大可不必知道這些型別到底是什么,在后續的深入中,你一定會用得到,所以是需要記住的,

2)獲取資料型別

您可使用以下type()函式獲取任何物件的資料型別,
例如,列印變數 x 的資料型別:


 
  1. x = 6
  2. print( type(x))

我們可以看到回傳為:int型別
在這里插入圖片描述

3)設定資料型別

在 Python 中,資料型別是在為變數賦值時設定的,
例如以下例子,
str字串:


 
  1. x = "Hello World"
  2. print(x)
  3. print( type(x))

int整形:


 
  1. x1 = 6
  2. print( type(x1))

float浮點型別:


 
  1. x2 = 6.5
  2. print( type(x2))

complex復數型別:


 
  1. x3 = 2j
  2. print(x3)
  3. print( type(x3))

list串列型別:


 
  1. x4 = [ "apple", "banana", "cherry"]
  2. print(x4)
  3. print( type(x4))

tuple元祖型別:


 
  1. x5 = ( "apple", "banana", "cherry")
  2. print(x5)
  3. print( type(x5))

后面還有其它一些型別,我就不以完整代碼形式演示了,直接以例子形式讓大家看看什么樣子是什么型別,當然如果你能親自動手像我上面的例子一樣進行操作列印看一看就再好不過了,
range范圍型別

x = range(6

 

dict字典型別

x = {"name" : "John", "age" : 36} 

 

set集合型別:

x = {"apple", "banana", "cherry"}

 

不常用的凍結集型別:

x = frozenset({"apple", "banana", "cherry"})

 

bool布爾型別:

x = True

 

不常用byte位元組型別:

x = b"Hello"

 

不常用bytearray位元組陣列型別:

x = bytearray(5)

 

更有冷門到爆的memoryview記憶體試圖型別

x = memoryview(bytes(5))

 

4)設定特定資料型別

我會舉一些例子說明,盡量很全,大可不必擔心,先舉一個完整例子,后面的是一樣的列印就不演示了,
強調特定x為字串:


 
  1. x = str( "Hello World")
  2. print(x)
  3. print( type(x))

回傳為:
在這里插入圖片描述
強調x為整形:

x = int(20)

 

強調x為浮點:

x = float(20.5)

 

強調x為復數:

x = complex(1j)

 

強調為串列

x = list(("apple", "banana", "cherry"))

 

強調為元祖

x = tuple(("apple", "banana", "cherry"))

 

強調為范圍

x = range(6)

 

強調為字典

x = dict(name="John", age=36)

 

強調為集合

x = set(("apple", "banana", "cherry"))

 

強調凍結集(沒啥用的型別)

x = frozenset(("apple", "banana", "cherry"))

 

強調布爾型別

x = bool(5)

 

強調位元組型別

x = bytes(5)

 

強調位元組組型別

x = bytearray(5)

 

強調記憶體試圖型別(又是沒啥用的型別)

x = memoryview(bytes(5))

 

6)練習題

回答下面的問題結果為什么型別?
1-


 
  1. x = 5
  2. print( type(x))

2-


 
  1. x = "Hello World"
  2. print( type(x))

3-


 
  1. x = 20.5
  2. print( type(x))

4-


 
  1. x = [ "apple", "banana", "cherry"]
  2. print( type(x))

5-


 
  1. x = ( "apple", "banana", "cherry")
  2. print( type(x))

6-


 
  1. x = { "name" : "John", "age" : 36}
  2. print( type(x))

7-


 
  1. x = True
  2. print( type(x))

十四、python數字

在這里插入圖片描述

在這里插入圖片描述

Python 共有三種數字型別:

  • int

  • float

  • complex
    三種型別分別對應如下例子:


 
  1. x = 1 # int
  2. y = 2.8 # float
  3. z = 1j # complex

要驗證 Python 中任何物件的型別,請使用以下type()函式:


 
  1. print( type(x))
  2. print( type(y))
  3. print( type(z))

因此你可以運行如下代碼:


 
  1. x = 1 # int
  2. y = 2.8 # float
  3. z = 1j # complex
  4. print( type(x))
  5. print( type(y))
  6. print( type(z))

1)整數

Int 或 integer,是一個整數,正負,不帶小數,長度不限,
例如:


 
  1. x = 1
  2. y = 3562254887
  3. z = - 35522
  4. print( type(x))
  5. print( type(y))
  6. print( type(z))

2)浮點數

浮點數或“浮點數”是包含一位或多位小數的正數或負數,
例如:


 
  1. x = 1.10
  2. y = 1.0
  3. z = - 35.59
  4. print( type(x))
  5. print( type(y))
  6. print( type(z))

浮點數也可以是帶有“e”的科學數字,表示 10 的冪,
例如:


 
  1. x = 35e3
  2. y = 12E4
  3. z = - 87.7e100
  4. print( type(x))
  5. print( type(y))
  6. print( type(z))

3)虛數

復數寫有“j”作為虛部,


 
  1. x = 3+5j
  2. y = 5j
  3. z = -5j
  4. print( type(x))
  5. print( type(y))
  6. print( type(z))

4)型別轉換

比如你可以從一種型別轉變成另一種同int(), float()和complex()方法,
例如:(你可以親自運行一下)


 
  1. x = 1 # int
  2. y = 2.8 # float
  3. z = 1j # complex
  4. a = float(x)
  5. b = int(y)
  6. c = complex(x)
  7. print(a)
  8. print(b)
  9. print(c)
  10. print( type(a))
  11. print( type(b))
  12. print( type(c))

5)亂數

Python 有一個內置模塊 random可以用來生成亂數,
示例:匯入 random 模塊,并顯示 1 到 10之間的一個亂數:


 
  1. import random
  2. print( random.randrange( 1, 11))

6)練習題

1-插入正確的語法將 x 轉換為浮點數,


 
  1. x = 5
  2. x = _(x)

2-插入正確的語法以將 x 轉換為整數,


 
  1. x = 5.5
  2. x = _(x)

3-插入正確的語法以將 x 轉換為復數,


 
  1. x = 5
  2. x = _(x)

十五、python指定變數型別

在這里插入圖片描述

在這里插入圖片描述

python 中的轉換是使用建構式完成的:

  • int() - 從整數文字、浮點文字(通過洗掉所有小數)或字串文字(提供字串表示整數)構造整數

  • float() - 從整數文字、浮點文字或字串文字構造浮點數(提供字串表示浮點數或整數)

  • str() - 從多種資料型別構造一個字串,包括字串、整數文字和浮點文字

我將每一個型別都舉例子說明,
整數


 
  1. x = int( 1) # x will be 1
  2. y = int( 2.8) # y will be 2
  3. z = int( "3") # z will be 3

浮點


 
  1. x2 = float( 1) # x will be 1.0
  2. y2 = float( 2.8) # y will be 2.8
  3. z2 = float( "3") # z will be 3.0
  4. w2 = float( "4.2") # w will be 4.2

字串


 
  1. x1 = str( "s1") # x will be 's1'
  2. y1 = str( 2) # y will be '2'
  3. z1 = str( 3.0) # z will be '3.0'

十六、Python字串

一、字串基本使用

1)字串理解

python 中的字串被單引號或雙引號包圍,'hello’與"hello"相同,您可以使用以下print()函式顯示字串文字:


 
  1. print( "Hello")
  2. print( 'Hello')

2)將字串分配給變數


 
  1. a = "川川"
  2. print(a)

3)多行字串

您可以使用三個引號將多行字串分配給變數:


 
  1. a = """從前有座山,
  2. 山里有座廟
  3. 廟里有個小和尚"""
  4. print(a)

回傳如下:
在這里插入圖片描述
或三個單引號:


 
  1. a = '''從前有座山,
  2. 山里有座廟
  3. 廟里有個小和尚'''
  4. print(a)

4)字串是陣列

Python 沒有字符資料型別,單個字符只是一個長度為 1 的字串,方括號可用于訪問字串的元素,這里用到了切片,你可以不懂,
獲取位置 1 處的字符(記住第一個字符的位置為 0):


 
  1. a = "Hello, World!"
  2. print(a[ 1])

5)遍歷字串

回圈遍歷單詞“chuanchuan”中的字母:


 
  1. for x in "chuanchuan":
  2. print(x)

6)字串長度

len()函式回傳字串的長度,注意標點符號和空格也算一個長度:


 
  1. a = "Hello, World!"
  2. print( len(a))

7)檢查字串

要檢查字串中是否存在某個短語或字符,我們可以使用關鍵字 in,


 
  1. txt = "The best things in life are free!"
  2. print( "free" in txt)

回傳布爾型別(True代表有):
在這里插入圖片描述
也可以通過if來判斷是否存在:


 
  1. txt = "The best things in life are free!"
  2. if "free" in txt:
  3. print( "是的, 'free'存在.")

8)檢查如果不是

檢查以下文本中是否不存在“川川”:


 
  1. txt = "川川就讀上海交大!"
  2. print( "川川" not in txt)

因為存在,回傳false:
在這里插入圖片描述
僅在不存在“川川”時才列印:


 
  1. txt = "川川就讀上海交大!"
  2. if "川川" not in txt:
  3. print( "No, '川川' 不在檔案.")

因為不符合條件,所以不會列印,

二、切片字串

1)切片

您可以使用切片語法回傳一系列字符,指定開始索引和結束索引,以冒號分隔,以回傳字串的一部分,
示例:獲取從位置 2 到位置 5 的字符(不包括在內):


 
  1. b = "Hello, World!"
  2. print(b[ 2: 5])

回傳為:
在這里插入圖片描述
注意:第一個字符的索引為 0,
在這里插入圖片描述

2)從頭開始切片

示例:獲取從開始到位置 5 的字符(不包括在內):


 
  1. b = "Hello, World!"
  2. print(b[: 5])

回傳為:
在這里插入圖片描述

3)切到最后

通過省略結束索引,范圍將到最后,
例如,獲取從位置 2 到最后的字符:


 
  1. b = "Hello, World!"
  2. print(b[ 2:])

回傳:
在這里插入圖片描述

4)負索引

使用負索引從字串末尾開始切片,就是從右往左看,不再是從左往右看,
例如:


 
  1. b = "Hello, World!"
  2. print(b[ -5: -2])

回傳為:
在這里插入圖片描述

三、修改字串

在這里插入圖片描述

在這里插入圖片描述

1)小寫轉大寫

upper()方法以大寫形式回傳字串:


 
  1. a = "Hello, World!"
  2. print(a. upper())

回傳為:
在這里插入圖片描述

2)大寫轉小寫

lower()方法以小寫形式回傳字串:


 
  1. a = "Hello, World!"
  2. print(a. lower())

回傳為:
在這里插入圖片描述

3)洗掉空格

空白是實際文本之前和/或之后的空間,通常您想洗掉這個空間,
strip()方法從開頭或結尾洗掉任何空格:


 
  1. a = " Hello, World! "
  2. print(a.strip())

回傳為:
在這里插入圖片描述

4)替換字串

replace()方法用另一個字串替換一個字串.


 
  1. a = "Hello, World!"
  2. pr int(a. replace( "H", "J"))

回傳為:
在這里插入圖片描述

5)拆分字串

split()方法回傳一個串列,其中指定分隔符之間的文本成為串列項,split()如果找到分隔符的實體,該方法會將字串拆分為子字串,
例如我要將下面的字串以逗號分隔:


 
  1. a = "Hello, World!"
  2. pr int(a. split( ","))

回傳為:
在這里插入圖片描述

四、字串連接

要連接或組合兩個字串,您可以使用 + 運算子,
例如,將變數a與變數b, 合并到變數中c:


 
  1. a = "Hello"
  2. b = "World"
  3. c = a + b
  4. print(c)

回傳為:
在這里插入圖片描述
例如要在a和b變數之間添加空格,請添加" ":


 
  1. a = "Hello"
  2. b = "World"
  3. c = a + " " + b
  4. print(c)

回傳為:
在這里插入圖片描述

五、格式化字串

1)format單個傳參

我們不能像這樣組合字串和數字:


 
  1. #會報錯
  2. age = 20
  3. txt = " 川川今年 " + age
  4. print(txt)

但是我們可以通過使用format() 方法來組合字串和數字!format()方法接受傳遞的引數,格式化它們,并將它們放在占位符所在的字串中 {},
例如,使用format()方法將數字插入字串:


 
  1. age = 20
  2. txt = "川川今年 {}"
  3. print(txt. format(age))

回傳為:
在這里插入圖片描述

2)format多個個傳參

format() 方法接受無限數量的引數,并放置在各自的占位符中:


 
  1. quantity = 20
  2. itemno = 3000
  3. price = 49.95
  4. myorder = "川川今年 {}歲 買了個華為手機 {} 每個月花費 {} 元."
  5. print(myorder. format(quantity, itemno, price))

回傳為:
在這里插入圖片描述
您可以使用索引號{0}來確保引數放置在正確的占位符中:


 
  1. quantity = 20
  2. itemno = 3000
  3. price = 49.95
  4. myorder = "川川今年 {2}歲 買了個華為手機 {0} 每個月花費 {1} 元."
  5. print(myorder. format(quantity, itemno, price))

這樣就會導致數字傳的順序發生了變化,看看結果就明白了:
在這里插入圖片描述

六、字串的其它處理方法總結

  1. capitalize() 將第一個字符轉換為大寫

  2. casefold() 將字串轉換為小寫

  3. center() 回傳一個居中的字串

  4. count() 回傳指定值在字串中出現的次數

  5. encode() 回傳字串的編碼版本

  6. endswith() 如果字串以指定的值結尾,則回傳 true

  7. join() 將可迭代的元素連接到字串的末尾

  8. find() 在字串中搜索指定值并回傳找到它的位置

  9. format() 初始化字串中的指定值
    10.index() 在字串中搜索指定值并回傳找到它的位置
    當然還有很多,個人感覺不是很常用,就不繼續總結別的了,

七、練習題

1-使用 len 方法列印字串的長度,


 
  1. x = "Hello World"
  2. print( )

2-獲取字串 txt 的第一個字符,


 
  1. txt = "Hello World"
  2. x =

3.獲取從索引 2 到索引 4 (llo) 的字符,


 
  1. txt = "Hello World"
  2. x =

4.回傳開頭或結尾沒有任何空格的字串,


 
  1. txt = " Hello World "
  2. x =

提示 使用strip()
5-將 txt 的值轉換為大寫,


 
  1. txt = "Hello World"
  2. txt =

6-將 txt 的值轉換為小寫,


 
  1. txt = "Hello World"
  2. txt =

7-用 J 替換字符 H,


 
  1. txt = "Hello World"
  2. txt = txt.

8-插入正確的語法以添加年齡引數的占位符,


 
  1. age = 36
  2. txt = "My name is John, and I am "
  3. print(txt. format(age))

提示:{}

十七、Python布林值

在這里插入圖片描述

在這里插入圖片描述

布林值表示兩個值之一: True或False,在編程中,您經常需要知道運算式是否為 True或False,舉一些例子就明白了,

1)比較

當您比較兩個值時,將計算運算式并且 Python 回傳布林值答案:


 
  1. print( 10 > 9)
  2. print( 10 == 9)
  3. print( 10 < 9)

回傳為:
在這里插入圖片描述
在 if 陳述句中運行條件時,Python 回傳 True or False:


 
  1. a = 100
  2. b = 30
  3. if b > a:
  4. print( "b大于a")
  5. else:
  6. print( "b不大于a")

回傳為:
在這里插入圖片描述

2)評估值和變數

bool()函式允許您評估任何值,并給您 True或False 作為回傳,
例如:評估一個字串和一個數字


 
  1. print( bool( "川川"))
  2. print( bool( 20))

回傳為:
在這里插入圖片描述
評估兩個變數:


 
  1. x = "川川"
  2. y = 15
  3. print( bool(x))
  4. print( bool(y))

回傳為:
在這里插入圖片描述

3)布爾真值

True如果它具有某種內容,幾乎任何值都會被評估,任何字串都是True,空字串除外,任何數字都是True,除了 0,任何串列、元組、集合和字典都是True,空的除外,
例如以下都會回傳True:


 
  1. bool( "abc")
  2. bool( 123)
  3. bool([ "apple", "cherry", "banana"])

4)布爾假值

實際上,False除了空值(例如()、 []、{}、 “”、 數字 0和 值 )之外,計算為 的值 None,當然,結果為 False,


 
  1. bool( False)
  2. bool( None)
  3. bool( 0)
  4. bool( "")
  5. bool(())
  6. bool([])
  7. bool({})

回傳為:
在這里插入圖片描述

5)函式可以回傳布林值


 
  1. def myFunction() :
  2. return True
  3. print(myFunction())

回傳為:
在這里插入圖片描述
列印“YES!” 如果函式回傳 True,否則列印“NO!”:


 
  1. def myFunction() :
  2. return True
  3. if myFunction():
  4. print( "YES!")
  5. else:
  6. print( "NO!")

Python 也有許多回傳布林值的內置函式,如 isinstance() 函式,可用于確定物件是否屬于某種資料型別
例如:檢查物件是否為整數


 
  1. x = 200
  2. print( isinstance(x, int))

回傳為
在這里插入圖片描述

6)練習題

1.回答下面的陳述句回傳值True還是False:

print(10 > 9)

 

2.回答下面的陳述句回傳值True還是False:
print(10 == 9)

3.回答下面的陳述句回傳值True還是False:

print(10 < 9)

 

4.回答下面的陳述句回傳值True還是False:

print(bool("abc"))

 

5.回答下面的陳述句回傳值True還是False:

print(bool(0))

 

十八、python運算子

在這里插入圖片描述

在這里插入圖片描述

1)算術運算子

自己賦值粘貼運行下就懂了!
加減法:(+ -)


 
  1. a = 2
  2. b = 3
  3. c =a -b
  4. d =a -b
  5. print ( c ,d )

乘除法:(* /)


 
  1. a=( 50 -5* 6)/ 4
  2. print(a)
  3. a= 8/ 5
  4. print(a)

取余數(同時與除法比較)


 
  1. '''/回傳為float,//回傳整數,%回傳余數'''
  2. a= 17/ 3
  3. print(a)
  4. a= 17// 3
  5. print(a)
  6. a= 5* 3+ 2
  7. print(a)

冪運算 (**’)


 
  1. '''冪運算 **'''
  2. # a=4**2
  3. # b=2**3
  4. # print(a,b)

2)賦值運算子

等于(=)


 
  1. x = 5
  2. print(x)

加等于( +=)等效: x = x +


 
  1. x = 5
  2. x += 3
  3. print(x)

減等于(-=) 等效:x=x-


 
  1. x = 5
  2. x -= 3
  3. print(x)

類似的我們可以得到以下不同的方式等效:

 x *= 3 等效 x = x * 3

 
 x /= 3等效 x = x / 3

 
 x %= 3 等效 x = x % 3

 
 x //= 3 等效 x = x // 3

 
 x **= 3 等效 x = x ** 3

 
 x &= 3 等效 x = x & 3

 
 x |= 3 等效 x = x | 3

 
 x ^= 3 等效 x = x ^ 3

 
 x >>= 3 等效x = x >> 3

 

 
  1. x <<= 3 等效x = x << 3

在這里插入圖片描述

在這里插入圖片描述

十九、Python串列

一、串列基本知識

基本形式為:

mylist = ["川川一號", "川川二號", "川川三號"]

 

1)創建串列

串列是使用方括號創建的:


 
  1. mylist = [ "川川一號", "川川二號", "川川三號"]
  2. print(mylist)

回傳:
在這里插入圖片描述
創建新串列時也可以使用 list() 建構式,


 
  1. thislist = list(( "apple", "banana", "cherry"))
  2. print(thislist)

允許重復
由于串列已編入索引,因此串列可以包含具有相同值的專案:


 
  1. thislist = [ "川川一號", "川川二號", "川川三號", "川川一號"]
  2. print(thislist)

2.列出表值

串列項是有序的、可變的,并允許重復值,串列項被索引,第一項有索引[0],第二項有索引[1]等等,
單個索引
例如我要索取川川一號:


 
  1. mylist = [ "川川一號", "川川二號", "川川三號"]
  2. print(mylist)
  3. print(mylist[ 0])

回傳:
在這里插入圖片描述
遍歷串列


 
  1. for i in mylist:
  2. print(i)

回傳為:
在這里插入圖片描述

3.串列長度

確定串列有多少項,請使用以下 len()函式:


 
  1. thislist = [ "川川一號", "川川二號", "川川三號", "川川一號"]
  2. print( len(thislist))

回傳:
在這里插入圖片描述

4.串列項 - 資料型別

串列項可以是任何資料型別,例如:


 
  1. list1 = [ "apple", "banana", "cherry"]
  2. list2 = [ 1, 5, 7, 9, 3]
  3. list3 = [ True, False, False]
  4. print(list1)
  5. print(list2)
  6. print(list3)

5.Python 集合(陣列)

  1. List串列是一個有序且可變的集合,允許重復成員,

  2. turple元組是一個有序且不可更改的集合,允許重復成員,

  3. Set集合是一個無序且無索引的集合,沒有重復的成員,

  4. dict字典是一個有序*且可變的集合,沒有重復的成員,
    !!!從 Python 3.7 版開始,字典才是有序的!!!

二.訪問串列

1.正常索引

串列項已編入索引,您可以通過參考索引號來訪問它們:


 
  1. mylist = [ "川川一號", "川川二號", "川川三號"]
  2. print(mylist[ 0])

注意:第一項的索引為 0,

2)負索引

負索引意味著從頭開始,-1指最后一項, -2指倒數第二項等,


 
  1. mylist = [ "川川一號", "川川二號", "川川三號"]
  2. print(mylist[ -1])

3)索引范圍


 
  1. mylist = [ "川川一號", "川川二號", "川川三號"]
  2. print(mylist[ 1: 3])

4)負指數范圍


 
  1. mylist = [ "川川一號", "川川二號", "川川三號"]
  2. print(mylist[ -3: -1])

5)檢查是否存在

要確定串列中是否存在指定的專案,請使用in關鍵字,
例如,檢查串列中是否存在“apple”:


 
  1. thislist = [ "apple", "banana", "cherry"]
  2. if "apple" in thislist:
  3. print( "Yes, 'apple' is in the fruits list")

三、更改串列

1)單個更改

要更改特定位置的值,需要通過索引號:


 
  1. mylist = [ "川川一號", "川川二號", "川川三號", "川川四號"]
  2. mylist[ 0]= "川川五號"
  3. print(mylist[ 0])

修改成功:
在這里插入圖片描述

2)多個更改

索引號需要用范圍表示,


 
  1. mylist = [ "川川一號", "川川二號", "川川三號", "川川四號", "川川五號"]
  2. mylist[ 1: 3]=[ "哈皮川川", "憨批川川"]
  3. print(mylist)

修改成功:
在這里插入圖片描述

3)插入串列

insert()方法在指定的索引處插入一個專案,


 
  1. mylist = [ "川川一號", "川川二號", "川川三號", "川川四號"]
  2. mylist. insert( 2, '帥哥呀')
  3. print(mylist)

插入成功:
在這里插入圖片描述

四、添加串列

1)末尾添加

要將值添加到串列的末尾,請使用append() 方法:


 
  1. mylist = [ "川川一號", "川川二號", "川川三號", "川川四號"]
  2. mylist. append( "憨批川川")
  3. print(mylist)

添加成功:
在這里插入圖片描述

2)指定位置添加


 
  1. mylist = [ "川川一號", "川川二號", "川川三號", "川川四號"]
  2. mylist. insert( 2, '川川菜鳥')
  3. print(mylist)

添加成功:
在這里插入圖片描述

3)合并串列

要將另一個串列中的元素附加到當前串列,請使用extend()方法,


 
  1. mylist = [ "川川一號", "川川二號", "川川三號", "川川四號"]
  2. mylist1 = [ "川川一號", "川川二號", "川川三號", "川川四號"]
  3. mylist.extend(mylist1)
  4. print(mylist)

合并成功:
在這里插入圖片描述
extend()方法不一定要 串列,您也可以添加任何可迭代物件(元組、集合、字典等),


 
  1. mylist = [ "川川一號", "川川二號", "川川三號", "川川四號"]
  2. mylist2=( "川川", "菜鳥")
  3. mylist.extend(mylist2)
  4. print(mylist)

添加成功:
在這里插入圖片描述

五、洗掉串列

在這里插入圖片描述

在這里插入圖片描述

1)洗掉指定目標

remove()方法洗掉指定的專案,


 
  1. mylist = [ "川川一號", "川川二號", "川川三號", "川川四號"]
  2. mylist. remove( '川川二號')
  3. print(mylist)

洗掉成功:
在這里插入圖片描述

2)洗掉指定索引

pop()方法洗掉指定的索引,


 
  1. mylist = [ "川川一號", "川川二號", "川川三號", "川川四號"]
  2. mylist.pop( 2)
  3. print(mylist)

洗掉成功:
在這里插入圖片描述
如果不指定索引,該pop()方法將洗掉最后一項,


 
  1. mylist = [ "川川一號", "川川二號", "川川三號", "川川四號"]
  2. mylist.pop()
  3. print(mylist)

洗掉成功:
在這里插入圖片描述

3)del洗掉指定的索引


 
  1. mylist = [ "川川一號", "川川二號", "川川三號", "川川四號"]
  2. del mylist[ 0]
  3. print(mylist)

洗掉成功:
在這里插入圖片描述
該del關鍵字也可以完全洗掉串列,


 
  1. mylist = [ "川川一號", "川川二號", "川川三號", "川川四號"]
  2. del mylist

4)清除串列

clear()方法清空串列,該串列仍然存在,但沒有內容,


 
  1. mylist = [ "川川一號", "川川二號", "川川三號", "川川四號"]
  2. mylist.clear()
  3. print(mylist)

清空:
在這里插入圖片描述
堅持!!!
在這里插入圖片描述

六、回圈串列

1)for回圈遍歷

方法一:
回圈遍歷串列您可以使用回圈遍歷串列項for ,


 
  1. mylist = [ "川川一號", "川川二號", "川川三號", "川川四號"]
  2. for i in mylist:
  3. print(i)

遍歷成功:
在這里插入圖片描述
方法二:遍歷索引號


 
  1. mylist = [ "川川一號", "川川二號", "川川三號", "川川四號"]
  2. for i in range( len(mylist)):
  3. print(mylist[i])

回傳:
在這里插入圖片描述

2)while回圈遍歷


 
  1. mylist = [ "川川一號", "川川二號", "川川三號", "川川四號"]
  2. i = 0
  3. while i < len(mylist):
  4. pr int(mylist[i])
  5. i = i + 1

回傳:
在這里插入圖片描述

七、串列推導式

例如:根據fruits串列,您需要一個新串列,其中僅包含名稱中帶有字母“a”的fruits,
如果沒有串列理解,您將不得不撰寫一個for帶有條件測驗的陳述句:


 
  1. fruits = [ "apple", "banana", "cherry", "kiwi", "mango"]
  2. newlist = []
  3. for x in fruits:
  4. if "a" in x:
  5. newlist. append(x)
  6. print(newlist)

回傳為:
在這里插入圖片描述

使用串列推導式,你只需要一行代碼即可!


 
  1. fruits = [ "apple", "banana", "cherry", "kiwi", "mango"]
  2. newlist = [x for x in fruits if "a" in x]
  3. print(newlist)

回傳一樣:
在這里插入圖片描述
換一個例子,只接受小于 5 的數字:


 
  1. newlist = [x for x in range( 10) if x < 5]
  2. print(newlist)

回傳“orange”而不是“banana”:(這個不是很好理解,多想想)


 
  1. fruits = [ "apple", "banana", "cherry", "kiwi", "mango"]
  2. newlist = [x if x != "banana" else "orange" for x in fruits]
  3. print(newlist)

回傳為:
在這里插入圖片描述

八、串列排序

1)區分大小寫的排序

默認情況下,該sort()方法區分大小寫,導致所有大寫字母都排在小寫字母之前:


 
  1. thislist = [ "banana", "Orange", "Kiwi", "cherry"]
  2. thislist. sort()
  3. print(thislist)

回傳:
在這里插入圖片描述

2)不區分大小寫的排序

如果你想要一個不區分大小寫的排序函式,使用 str.lower 作為鍵函式:


 
  1. thislist = [ "banana", "Orange", "Kiwi", "cherry"]
  2. thislist. sort(key = str. lower)
  3. print(thislist)

回傳:
在這里插入圖片描述

3)倒序

reverse()方法反轉元素的當前排序順序,


 
  1. mylist = [ "川川一號", "川川二號", "川川三號", "川川四號"]
  2. mylist. reverse()
  3. print(mylist)

回傳為:
在這里插入圖片描述

九、復制串列

copy()方法制作串列的副本:


 
  1. mylist = [ "川川一號", "川川二號", "川川三號", "川川四號"]
  2. my = mylist.copy()
  3. print( my)

回傳:
在這里插入圖片描述
list()方法制作串列的副本:


 
  1. mylist = [ "川川一號", "川川二號", "川川三號", "川川四號"]
  2. my = list(mylist)
  3. print( my)

回傳為:
在這里插入圖片描述

十、加入串列

最簡單的方法之一是使用+ 運算子,


 
  1. list1 = [ "a", "b", "c"]
  2. list2 = [ 1, 2, 3]
  3. list3 = list1 + list2
  4. print(list3)

回傳:
在這里插入圖片描述
稍微有意思點,連接兩個串列的另一種方法是將 list2 中的所有項一個一個地附加到 list1 中:


 
  1. list1 = [ "a", "b" , "c"]
  2. list2 = [ 1, 2, 3]
  3. for x in list2:
  4. list1. append(x)
  5. print(list1)

回傳:
在這里插入圖片描述
extend() 方法,其目的是將元素從一個串列添加到另一個串列:


 
  1. list1 = [ "a", "b" , "c"]
  2. list2 = [ 1, 2, 3]
  3. list1.extend(list2)
  4. print(list1)

回傳:
在這里插入圖片描述

十一、串列所有操作總結

如果你英文好可以看看,當然,這些所有操作我都講過一遍了,
在這里插入圖片描述

十二、練習

1-列印fruits串列中的第二項,


 
  1. fruits = [ "apple", "banana", "cherry"]
  2. print( )

2-將fruits串列中的值從“apple”改為“kiwi”,


 
  1. fruits = [ "apple", "banana", "cherry"]
  2. =

3-使用 append 方法將“orange”添加到fruits串列中,


 
  1. fruits = [ "apple", "banana", "cherry"]

4-使用插入方法將“檸檬”添加為fruits串列中的第二項,


 
  1. fruits = [ "apple", "banana", "cherry"]
  2. = "lemon")

5-使用 remove 方法從fruits串列中洗掉“banana”,


 
  1. fruits = [ "apple", "banana", "cherry"]

6-使用負索引列印串列中的最后一項,

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

標籤:python

上一篇:【我奶奶都能看懂系列007】??python基礎語法——函式,小學生也可以學!

下一篇: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