程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python

編輯:Python

前言

          學習 Python 內容!    官網學習鏈接

文章目錄

  • 前言
  • 一、簡介
    • Python 語言的特點
  • 二、Python 解釋器
    • 文件模式
    • 交互模式
  • 三、運算
  • 四、列表
  • 五、if 語句
  • 六、for 語句
  • 七、函數
  • 八、數據結構
  • 九、模塊
  • 十、輸入和輸出
  • 十一、異常
  • 十二、類

一、簡介

Python 語言的特點

  1. python 中的一個語句可以進行很多復雜操作(語法糖)
  2. 使用縮進來區分代碼塊的。C++ 和 java 是通過 {} 來區分
  3. 變量無需聲明,可以直接用
  4. 容易擴展

二、Python 解釋器

版本為 Python3.10

文件模式

  1. 執行 python 文件(.py結尾)
    輸入 python3 會直接進入到一個 python 解釋器中,python 解釋器可以用來直接執行一個 python 文件(python 可以像其它語言一樣,放到一個文件裡來寫),類似於寫 shell 腳本。

    運行 python 代碼文件有兩種方式:
    1. python3 文件名.py
    2. ./文件名.py,文件需要有可執行權限,如果沒有執行:chmod +x 文件名.py

交互模式

  1. 交互式執行(ipython3 支持高亮)
    • 注釋用 #, 注釋語句在單獨一行,或者是一個語句後面兩個空格
    • 單獨一句一句的執行,支持自動補全(按兩下 tab 鍵)
    • 上下鍵可以切換之前執行的語句
    • 退出,通過輸入 exit() 或者快捷鍵 ctrl+d




三、運算

  1. 數字

    • / :默認是浮點數除法,//:整除,是向下取整(-1 // 3 (是負三分之一),向下取整結果為 -1)。C++ 的整除是向零取整(-1 / 3 是負三分之一,向零取整為零)
    • **:乘方運算
    • 變量不用定義類型,直接用即可。n = 20,注意變量未賦值的話不能直接用
    • 交換兩個變量:a, b = b, a
    • 交互模式下 _ 表示上一個表達式的值
  2. 字符串

    • 字符串:python 裡的字符串和 C++ 中一樣的,區別在於 python 中單引號和雙引號都可以表示字符串,沒有區別。python 中的字符串是不能修改的

    • 下標:

      • python 中的字符串和列表都是既可以從前往後訪問,也可以從後往前訪問。
      • 下標加上 - 表示從右往左數,從右往左數的時候下標從 1 開始。不加 -,表示從左往右數,下標從 0 開始
    • 切片

      • 區間是一個左閉右開的區間,word[0:2]
      • 省略前面的時候,前面默認是 0,省略後面的時候,後面默認是字符串長度。word[:2] word[4:]
      • 支持負數。word[-2:] word[-5,4]
      • 支持相加。word[:2] + word[2:]
      • 直接操作下標不能越界,但是切片是可以越界的
    • len:可以求所有類型的長度

四、列表

  1. 類比 C++ 中的數組。用中括號([])表示,裡面每一項元素用逗號(,)隔開,數組裡每一項元素類型可以不一樣

    a = [1, 4, 9]
    b = [1, 2.0, 'yjx', [2,3]]
    x, y, z = a
    
  2. 可以通過下標來訪問元素,支持切片操作。元素支持修改,與字符串不同。x[0] = 4x[1:3] = ['a', 'b']

  3. 淺拷貝

  4. 支持相加操作,效果是將兩個數組拼接到一起

  5. 添加元素:a.append(6) 或者 a += [7],在列表末尾添加元素

  6. len(a):求列表 a 的長度,sroted(a):對列表進行排序

  7. x[:] = [],[]:空。清空一個數組

  8. 二維數組:列表是支持嵌套的,就是一個二維數組,x = [[1,2], [3,4]]

  9. a, b = 0, 1 python支持復合賦值方式:第一項賦值給第一個變量,第二項賦值給第二個變量,以此類推…

五、if 語句

>>> x = int(input("Please enter an integer: ")) # 讀入一個整數,通過 int 函數將字符串轉化成整數
Please enter an integer: 42
>>> if x < 0:
... x = 0
... print('Negative changed to zero')
... elif x == 0:
... print('Zero')
... elif x == 1:
... print('Single')
... else:
... print('More')
...

六、for 語句

python 中的 for 循環:有一堆東西,通過 for 循環進行一個一個枚舉,不支持算術運算符,不能直接實現像 C++ 中的 for (Int i = 0; i < 10; i ++) 這種操作

  1. 循環遍歷一個列表

     words = ['cat', 'window', 'defenestrate']
    for w in words:
    print(w, len(w))
    
  2. 循環遍歷一個字典

  3. 用 range 來實現一個通常的 for 循環
    range():會返回一個左閉右開的區間

    for i in range(0, 10)
    print(i)
    

    range 可以實現倒序:range(9, -1, -1),第三個參數為公差
    只有一個參數時:range(10):默認是等價於 range(0, 10)

七、函數

  1. python 不寫返回值的話,默認返回一個 None(類似於 C++ 中的 NULL)
  2. python 中是可以定義重名函數的,重名的函數下一個會將上一個覆蓋掉
  3. 函數參數可以不用寫變量類型,python 會自動判斷變量類型
  4. 設置默認值的變量一定是要連續的
  5. 函數可直接賦值:f = g,其中 gf 都是函數
  6. 解包:*,將列表中的元素展開成幾個用逗號隔開的變量,賦值給函數的參數,當作函數的參數來調用。解包一個列表是用 *,解包一個字典是用 **

八、數據結構

  1. 列表

    • 列表推導式:像倒裝句:
      b = [i *i for i in range(10)] # b裡面的每個元素是 i*i,i 是枚舉[0,9]
      
  2. 元組

    • a(1, 2, 3),注意是用小括號,列表是用中括號。和列表操作類似,唯一區別為列表裡的元素是可以修改的,元組裡的元素是不可以進行修改的
    • 可以將一個元組賦給一個變量:b = (1, 2, 3),括號可以省略:b = 1, 2, 3。也可以將一個元組反過來賦給若干個變量:x, y, z = b,其中 x = 1 y = 2 z = 3 (解包操作)
    • 交換:y, x = x, y
  3. 集合(set)
    類比於 C++ 的 set

    • 定義: a = se()a = {1, 2, 3}{}既可以表示集合也可以表示字典,區分主要看其裡面存的是 key-value 對還是單獨的值,如果是 key-val 對那麼就是字典,如果是單獨的值那麼就是 集合
    • 添加元素:a.add(1)。相同元素只保留一個,如果新插入的元素在集合中出現過,那麼新元素不會插入到集合中
    • 作用:一般是用來對列表進行判重‘
      a = {
      1,2,2,3,5}
      set(a) # 結果為去重後的集合
      a = list(set(a)) # 去重後的結果還是列表類型
      
  4. 字典(dict)

    • 定義 tel = {'jack':4096,'sape':4139}
    • 修改:tel['jack'] = 8888

九、模塊

  1. 為什麼需要模塊?答:一個龐大項目如果將所有的內容寫到一個文件裡那麼是很難調試的,需要將一個龐大的項目拆分成若干個模塊。在項目開發中采用樹型結構,每一個文件夾代表一個模塊。

  2. 引入一個自己定義的模塊,在其它文件中引用
    from 文件路徑(.隔開的) import 文件/函數/類,引入多個時,每一個用 , 隔開

  3. 引入一個函數時並重命名

    • 為什麼需要重名:不同的文件裡的同名函數引入到一個文件裡會發生沖突
    • from 文件路徑 import 函數1 as 別名,函數2 as 別名
  4. python 中已經實現好了大量模塊,安裝後直接 import 進來即可

十、輸入和輸出

  1. 可以用 print 格式化字符串,% ():傳入對應的參數,就可以像 C++ 一樣格式化輸出了
  2. 讀寫文件
    • 寫內容進文件
    • 從文件中讀內容
      • fin.read() 讀取文件所有內容

      • fin.readlines() 讀取所有行,會返回一個列表

      • 逐行讀入

十一、異常

作用:當打開一個網站出現 502 錯誤時,502 錯誤就是程序發生了異常,會將異常捕獲,用戶就不會看到 502 了會跳到一個 404 頁面

def divide(x, y):
try: # 嘗試執行這一個代碼塊的內容
res = x/y
except Exception as e: # 如果出現異常,執行下面的內容
print(str(e)) ## 直接輸出異常,程序不報錯,程序仍然正常執行,如果不采用異常處理,操作之後後面的程序就不會執行了
else: # 如果沒有發生異常,不會執行異常處理的內容,會執行 else 裡的內容
print("result is", res)
finally: # 無論是否發生異常都會執行下面的內容,一般用來關閉數據庫
print("executing finally clause")

十二、類

  1. 定義
    __self__init(self): 固有函數,類似於 C++ 中構造函數,注意 self 一定要寫,構造函數中也可以傳入參數。python 中的成員變量是寫在函數內的,C++ 中的成員變量是寫在函數外的。python 類和函數的用法一樣
    a = Car():實例化一個對象,update:成員函數,a:成員變量



2. 繼承(用括號)


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved