Python系列教程】之基礎學習筆記

      網友投稿 672 2022-05-29

      一、python安裝及第一個python程序

      (1)官網下載最新版的python 64位安裝包并進行安裝

      (2)配置環境變量

      在安裝的時候,直接勾選Add? Python 3.7 to Path,單擊Customize installation可以在安裝時指定自定義的安裝路徑 單擊該選項即

      可開始安裝。在接下來 安裝界面中只 改變 Python 安裝路徑(建議安裝在指定盤符的根路徑下 ,比如安裝在 D:\Python\目錄下), 其他地方使用默認選項即可。

      安裝完成之后,打開cmd 面板,輸入python 看到如下輸出說明安裝成功!

      C:\Users\段朝旭>python

      Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32

      Type "help", "copyright", "credits" or "license" for more information.

      輸入以下代碼進行測試

      >>>? print("hello world")

      hello world

      >>> 1 + 2

      3

      >>> 5.3 + 2.3

      7.6

      >>> 1.3-2.4

      -1.0999999999999999

      >>> 1.3 * 2

      2.6

      >>> 3.5 / 3

      1.1666666666666667

      >>> 3.5 // 3

      1.0

      >>> 3.5 ** 2

      12.25

      >>> 5 ** 3

      125

      >>> import math

      >>> math.sin(1.57)

      0.9999996829318346

      >>> math.cos(0.78)

      0.7109135380122773

      >>> math.tan(math.pi / 4)

      0.9999999999999999

      二、python基礎知識

      (1)單行注釋和多行注釋

      # 代表單行注釋

      #print("hello,world")

      """代表多行注釋

      """

      this is a duo hang de zhu shi

      """

      (2)變量

      Python 是弱類型語言?,弱類型語言有兩個典型特征

      變量無須聲明即可直接賦值 對一個不存在的變量賦值就相當于定義了一個新變量。

      變量的數據類型可以動態改變:同一個變量可以一會兒被賦值為整數值,一會兒被賦值為 字符串。

      type()函數返回 傳入數據的數據類型

      >>> type("hello")

      >>> type(1)

      print()函數用法

      user_name = "Charlie"

      user_age = 8

      #打印時默認的間隔符是空格

      print("用戶姓名",user_name,"用戶年齡",user_age)

      #使用sep參數將默認的間隔符修改為|

      print("用戶姓名",user_name,"用戶年齡",user_age,sep="|")

      #print函數默認會換行,因為end參數默認是\n,我們可以指定為空字符串,打印的時候就不會換行了

      Python【系列教程】之基礎學習筆記

      print(40,"\t",end="")

      print(60,"\t",end="")

      #可以直接輸出內容到一個文件中

      f=open("D:\\open.txt","w")

      print("鋤禾日當午",file=f)

      輸出結果:

      用戶姓名 Charlie 用戶年齡 8

      用戶姓名|Charlie|用戶年齡|8

      40 60

      (3)python的關鍵字和內置函數

      使用keyword 查看 python的關鍵字

      >>> import keyword

      >>> keyword.kwlist

      ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

      python的內置函數

      basestring()

      bin()

      bool()

      enumerate()

      execfile()

      isinstance()

      issubclass()

      object()

      oct()

      open()

      ord()

      pow()

      print()

      property()

      range()

      raw_input()

      reduce()

      reversed()

      staticmethod()

      str()

      sum()

      super()

      unichr()

      __import__?()

      以上python內置的關鍵字以及內置的函數不應該作為標識符。

      (4)Python 整型數值有4種 表示形式

      十進制形式 最普通的整數就是十進制形式的整數

      二進制形式:以 Ob OB 開頭的整數就是 進制形式的整數

      八進制形式:以Oo或00 開頭的整數就是八進制形式的整數(第 二個字母是大寫或小寫的O)

      十六進制形式:以 Ox或?ox 開頭 整數就是十六進制形式的整數,其中 10 ~15 分別以a~f(此處的a~f不區分大小寫)來表示

      >>> 0x13

      19

      >>> 0XaF

      175

      >>> 0b111

      7

      >>> 0B101

      5

      >>> 0o54

      44

      >>> 0O17

      15

      (5)浮點型

      浮點型數值用于保存帶 數點的數值, python 浮點數有兩種表示形式。

      十進制形式:這種形式就是平常簡單的浮點數,例如 5.12 512 0.512 。浮點數必須包含 一個小數點,否則會被當成整數類型處理。

      科學計數形式 例如 5.12e2 (即 5.12 *10^2?)、 5.12E2 (也是 5.12*10^2)必須指出的是,只有浮點型數值才可以使用科學計數形式表示。例 51200 個整型值,但

      512E2 則是浮點型值.

      (6) 復數

      導入cmath模塊,例如:3 + 0.2j

      (7) repr和字符串

      sl ”這本書的價格是

      p = 99.8

      #字符串直接拼接數值,程序報錯

      print(sl + p)

      #使用 str()將數值轉換成字符串

      print(sl + str(p))

      #使用 repr()將數值轉換成字符串

      print (sl+repr(p))

      str()?和?repr()函數都可 將數值轉換成字符串,其 str 本身是 Python 類型( 和int float 一樣〉,而 repr()則 只是 個函數 ,此外, repr 還有 一個功能, 它會以?Python 表達式 形式來表示 值。對 比如下兩行粗體 碼。

      st?= "i will play my life";

      print (st)

      print(repr(st))

      上面代碼中 st 本身就是 個字符串 但程序依然使用了 repr() 對字符串進行轉換。運行上面程 序,可以看到如下輸出結果。

      I will play my fife

      ’ I will play my fife ’

      通過上面的輸出結果可以看出,如果直接使用print()函數輸出字符串 將只能看到字符串的內容,?沒有引號,但如果先使用 repr()函數對字符串進行處理,然后再使用?print() 執行輸出,將可以 看到帶引號 字符串一一 就是字 Python的表達式形式。

      (8)使用input()函數獲取用戶輸入

      python3中input()函數用于向用戶生成一條提示,然后獲取用戶輸入的內容,由于input()函數總會將用戶輸入的內容放入字符串中,因此用戶可以輸入任何內容,input()函數總是返回一個字符串

      msg = input("請輸入你的值:")

      print("您輸入得值是:",msg, "值的類型是:",type(msg))

      請輸入你的值:2

      您輸入得值是: 2 值的類型是:

      請輸入你的值:1.2

      您輸入得值是: 1.2 值的類型是:

      請輸入你的值:Hello

      您輸入得值是: Hello 值的類型是:

      (9)長字符串

      myPhone = """這是一個長字符串"""

      print(myPhone)

      myPhone ="這是一個" \

      "長字符串"

      print(myPhone)

      num = 20+3/4+ \

      2*3

      print(num)

      (10)原始字符串

      由于字符串中的反斜線都有特殊的作用,因此當字符串中包含反斜線時,就需要對其進行轉義。 比如寫一條 Windows 的路徑 G:\publish\codes\02\2.4 ,如果在 Python?程序中直接這樣寫肯定 是不行的,需要寫成: G:\\publish\codes\\02\\2.4 ,這很煩人,此時可借助于原始字符串來解決這個 問題 ,原始字符串以“r?”開頭,?原始字符串不會把反斜線當成特殊字符。因此,上面的 Windows 路徑可直接寫成 r' G:\publish\codes\02\2.4

      url = "D:\\sadasda\\asdsadasd"

      url = r"D:\sadasda\asdsadasd";

      print(url)

      (11) 字節串bytes

      #創建一個空的bytes

      bttes1 = bytes()

      print(bttes1)

      #創建一個空的bytes

      bttes2 = b''

      print(bttes2)

      #通過前綴指定hello是bytes類型的值

      b3 = b'hello'

      print(b3)

      print(b3[0])

      print(b3[2:4])

      # 調用bytes方法將字符串轉換成bytes對象

      b4 = bytes('我愛kxm',encoding='utf-8')

      print(b4)

      # 利用字符串的encode()方法編碼成bytes,默認使用UTF-8字符集

      b5 = "我愛kxm".encode('utf-8')

      print(b5)

      # 將bytes解碼成字符串

      b5str = b5.decode("utf-8")

      print(b5str)

      (12)字符串格式化

      price = 108

      print ("the book ’s price is %s" % price)

      格式化字符串中的“ %s ”被稱為轉換說明符(Conversion Specifier),其作用相當于一個占位符,?它會被后面的變量或者?表達式的?值代替。?%s?指定將變量或值使用 str?() 函數轉換為字符串。 如果格式 字符串 包含多個“%s?”占位符,第三部分也應該對應地提供多個變量,并且使 用圓括號將這些變量括起來。?如下代碼:

      print("the book price is %s %s" % ("我","是一個粉刷匠"))

      轉換說明符

      d, i

      轉換為帶符號的十進制形式的整數

      轉換為帶符號的八進制形式的整數

      x

      X

      轉化為科學計數法表示 的浮點數( e小寫)

      轉化為科學計數法表示 的浮點數( E大寫)

      g

      智能選擇使用 f或者e格式

      智能選擇使用 f或者e格式

      轉換為單字符(只接受整數或者單字符字符串)

      (13)序列相關方法

      # 希望kxm能夠快點好起來

      test = "希望kxm能夠快點好起來"

      # 獲取test 從右邊開始,索引為4的字符

      print(test[-4])

      # 獲取test從2開始到結束的字符串

      print(test[2:])

      # 獲取test 從索引為2到4的字符串

      print(test[2:4])

      # 獲取test從索引 -6到-3的字符串

      print(test[-6:-3])

      # 使用in關鍵字判斷 test 是否包含 very 字符串

      print('very' in test)

      print('kxm' in test)

      # 獲取test字符串的長度

      print(len(test))

      # 獲取test字符串中的最大字符

      print(max(test))

      # 獲取test字符串中的最小字符

      print(min(test))

      (14)大小寫相關方法

      dir() :?列出指定類或模塊包含的全部內容(包括函數、方法、類、變量等)。

      help():?查看某個函數或方法的幫助文檔。

      str類中與大小寫相關的常用方法如下:

      test = " abC jkL"

      # 將每個單詞首字母改為大寫

      print(test.title())

      # 將整個字符串改為大寫

      print(test.upper())

      # 將整個字符串改為小寫

      print(test.lower())

      print(dir(str))

      print(help(str.lower))

      # 刪除字符串前后的空白

      print(test.strip())

      # 刪除字符串前面(左邊)的空白

      print(test.lstrip())

      # 刪除字符串后面(右邊)的空白

      print(test.rstrip())

      #判斷字符串是否 以指定子串開頭

      print(test.startswith(" "))

      print(test.endswith("l"))

      #查找指定子串在字符串中出現的位置,如果沒有找到指定子串 ,則返回-1

      print(test.find("a"))

      #查找指定子串在字符串中出現的位置,如果沒有找到指定子串 ,則引發 ValueError錯誤。

      print(test.index("a"))

      #使用指定子串替換字符串中的目標子串

      print(test.replace("jk","mk"))

      #定義翻譯映射表

      table = {97:945 , 98:946 , 116: 964}

      print(test.translate(table))

      """str的translate()方法需要根據翻譯映射表對字符串進行查找、替換。在

      上面程序中自己定義了一個翻譯映射表,這種方式需要開發者能記住所有字符的編碼 ,這顯然

      不太可能 為此, Python 為由類提供了一個 maketrans ()方法,通過該方法可以非常方便地創建翻

      譯映射表"""

      table1 = str.maketrans("ab","OP")

      print(test.translate(table1))

      myStr = "my.org is a good site"

      #使用空白對字符串進行分割

      print(myStr.split())

      #使用空白對字符串進行分割,最多只分割前兩個單詞

      print(myStr.split(None,2))

      #使用點進行分割

      print(myStr.split("."))

      mylist = myStr.split()

      #使用 /作為分割符,將 mylist 連接成字符串

      print("/".join(mylist))

      #使用 ,作為分割符,將 mylist 連接成字符串

      print(",".join(mylist))

      (15) 運算符

      # 連續賦值

      a = b = c = 20

      print(a, b, c)

      x = - 5.0

      x = -x

      print(x)

      y = -5.0

      y = +y

      # n 個字符串拼接起來

      s3 = 'crazy'

      print(s3 * 5)

      """“/表示普通除法,使用它除出來的結果與

      平常數學計算的結果是相同的(即除不盡時,會產生小數部分);而“//”表示整除,使用它除出

      來的結果只有整數部分,小數部分將會被舍棄。"""

      print(19 / 4)

      print(19 // 4)

      """%:求余運算符 Python要求求余運算符的兩個操作數都是整數, Python 的求余運算符完全

      支持對浮點數求余。求余運算的結果不一定總是整數,它是使用第一個操作數來除以第二個操作數,

      得到一個整 結果后剩下的值就是余數。"""

      print(5 % 3)

      print(5.2 % 3.1)

      # ** 乘方/ 開方運算

      print('5的2次方:', 5 ** 2) # 25

      print('4的3次方', 3) # 64

      print('4的開平方:', 4 ** 0.5) # 2.0

      print('27的開3次方', 27 ** (1 / 3)) # 3.0

      """

      & : 按位與

      0 0 0 (兩個數都是0,所以結果才是0)

      0 1 0 (兩個數只有一個為1,所以結果是0)

      1 1 1 (兩個數結果都是1,所以結果才是1)

      | :按位或

      0 0 0 (兩個數都是0,所以結果是0)

      0 1 1 (兩個數只要其中一個是1,結果就是1)

      1 1 1 (兩個數都是1,所以結果是1)

      ^ : 按位異或。

      0 0 0 (相同為0,不同為1)

      0 1 1

      1 1 0

      ~ : 按位取反。(0變成1,1變成0)

      0 0

      1 1

      <<: 左位移運算符:左移運算符是將操作數的二進制碼整體左移指定位數,左移后右邊空出來的位以0來填充

      0010101 << 2

      1010100

      >>: 右位移運算符: Python 右移運算符為 >>。對于“>>”運算符而言,把第一個操作數的二進制右移指定

      位數后,左邊空出來的位以原來的符號位來填充。即 :如果第一個操作數原來是正數,則 左邊補 0;

      如果第一個操作數是負數,則 邊補 o

      1010011 >>2

      1010000

      必須指出的是,位移運算符只適合對整型數進行運算

      """

      a = 'abcdefghijklmn'

      # 獲取索引2到索引8的子串,步長為3

      print(a[2:8:3]) # 輸出cf

      # 獲取索引2到索引8的子串,步長為2

      print(a[2:8:2]) # 輸出ceg

      a = 3

      b = a

      # 判斷兩個變量所引用的對象是否相同,

      print(a is b)

      # 判斷兩個變量所引用的對象是否不相同.

      print(a is not b)

      # 使用id()獲取所引用的對象的內存地址

      print(id(a))

      print(id(b))

      # 布爾值也可以進行運算

      print(True + False)

      print(False - True)

      print(-True)

      print(-False)

      # ==只比較兩個變量的值,但 is要求兩個變量引用同一個對象。

      import time

      a = time.time()

      b = time.time()

      print(a == b) # 輸出True

      print(a is b) # 輸出False

      # 邏輯運算符 and or not

      a = "book"

      if a.startswith("b") and len(a) > 2:

      print(True)

      else:

      print(False)

      a = 75

      b = 60

      st = a if a > b else b

      print(st)

      小練習:

      (1)

      num1, num2 = int(input("請輸入第一個整數:")), int(input("請輸入第二個整數:"))

      print(num1 // num2)

      print(num1 / num2)

      print(num1 + num2)

      print(num1 - num2)

      print(num1 * num2)

      輸出結果:

      請輸入第一個整數:10

      請輸入第二個整數:2

      5

      5.0

      12

      8

      20

      (2)

      # 打印一個字串在一個字符串中出現的次數

      string, sub_string = input("請輸入字符串:"), input("請輸入子串:")

      count = 0

      subLen = len(sub_string)

      print(range(len(string) - 1))

      for i in range(len(string) - 1):

      if string[i:i + subLen] == sub_string:

      count += 1

      print("子串出現的次數是 %s" % count)

      輸出結果:

      請輸入字符串:abcabcabc

      請輸入子串:ab

      range(0, 8)

      子串出現的次數是 3

      (3)

      num1 = int(input("請輸入一個整數:"))

      print("十進制:%d" % num1)

      print("八進制:%s" % oct(num1))

      print("十六進制(大寫):%s" % hex(num1))

      print("二進制:%s" % bin(num1))

      輸出結果:

      請輸入一個整數:50

      十進制:50

      八進制:0o62

      十六進制(大寫):0x32

      二進制:0b110010

      (4)

      string, sub_string = input("請輸入字符串:"), input("請輸入子串:")

      list = sub_string.split(" ")

      index,repStr = list[0],list[1]

      tem = string[int(index)]

      #方法一

      print(string.replace(tem,repStr,1))

      #方法二

      str_new = string[:int(index)] + repStr + string[int(index)+1:]

      print(str_new)

      請輸入字符串:ab.ccc

      請輸入子串:3 p

      ab.pcc

      ab.pcc

      Python

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:XXL-JOB分布式任務調度平臺快速入門
      下一篇:【Java】【基礎類】詳解String類
      相關文章
      亚洲国产主播精品极品网红 | 国产成A人亚洲精V品无码| 亚洲真人无码永久在线| 亚洲免费在线观看| 亚洲人成人伊人成综合网无码| 亚洲日产2021三区在线| 亚洲精品成人图区| 亚洲第一页中文字幕| 亚洲色欲www综合网| 亚洲欧洲日产国产最新| 78成人精品电影在线播放日韩精品电影一区亚洲| 国产亚洲人成网站观看| 亚洲AV永久精品爱情岛论坛| 久久国产亚洲电影天堂| 亚洲五月六月丁香激情| 亚洲综合久久1区2区3区| 亚洲国产情侣一区二区三区| 亚洲免费在线视频观看| 亚洲 欧洲 自拍 另类 校园| 亚洲欧美日本韩国| 国产亚洲福利一区二区免费看| 亚洲国产人成中文幕一级二级| 亚洲精品成人在线| 亚洲一区爱区精品无码| 久久精品国产精品亚洲色婷婷| 中文字幕亚洲精品资源网| 亚洲欧洲日产国码在线观看| 国产成+人+综合+亚洲专| 亚洲精品精华液一区二区| 国产精品日本亚洲777| 亚洲熟伦熟女新五十路熟妇 | 亚洲理论片在线观看| 亚洲中文字幕人成乱码| 亚洲日本VA中文字幕久久道具| 人人狠狠综合久久亚洲高清| 国产啪亚洲国产精品无码 | 亚洲人成网站色7799| 亚洲精品视频在线看| 久久九九亚洲精品| 亚洲精品美女在线观看| 亚洲色少妇熟女11p|