<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python3快速入門知識(shí)點(diǎn):基礎(chǔ)語法

          共 3546字,需瀏覽 8分鐘

           ·

          2021-01-22 00:08


          01

          Python

          簡(jiǎn)介

          Python 是一種高層次的結(jié)合了解釋性、編譯性、互動(dòng)性和面向?qū)ο蟮哪_本語言。Python 由 Guido van Rossum 于 1989 年底在荷蘭國家數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究所發(fā)明,第一個(gè)公開發(fā)行版發(fā)行于 1991 年。

          '''
          作者:韭白
          源自:
          https://www.cnblogs.com/shockerli/p/python-study-note.html
          '''

          特點(diǎn)



          • 易于學(xué)習(xí):Python 有相對(duì)較少的關(guān)鍵字,結(jié)構(gòu)簡(jiǎn)單,和一個(gè)明確定義的語法,學(xué)習(xí)起來更加簡(jiǎn)單。

          • 易于閱讀:Python 代碼定義的更清晰。

          • 易于維護(hù):Python 的成功在于它的源代碼是相當(dāng)容易維護(hù)的。

          • 一個(gè)廣泛的標(biāo)準(zhǔn)庫:Python 的最大的優(yōu)勢(shì)之一是豐富的庫,跨平臺(tái)的,在 UNIX,Windows 和 macOS 兼容很好。

          • 互動(dòng)模式:互動(dòng)模式的支持,您可以從終端輸入執(zhí)行代碼并獲得結(jié)果的語言,互動(dòng)的測(cè)試和調(diào)試代碼片斷。

          • 可移植:基于其開放源代碼的特性,Python 已經(jīng)被移植(也就是使其工作)到許多平臺(tái)。

          • 可擴(kuò)展:如果你需要一段運(yùn)行很快的關(guān)鍵代碼,或者是想要編寫一些不愿開放的算法,你可以使用 C 或 C++ 完成那部分程序,然后從你的 Python 程序中調(diào)用。

          • 數(shù)據(jù)庫:Python 提供所有主要的商業(yè)數(shù)據(jù)庫的接口。

          • GUI 編程:Python 支持 GUI 可以創(chuàng)建和移植到許多系統(tǒng)調(diào)用。

          • 可嵌入:你可以將 Python 嵌入到 C/C++ 程序,讓你的程序的用戶獲得"腳本化"的能力。

          • 面向?qū)ο?/strong>:Python 是強(qiáng)面向?qū)ο蟮恼Z言,程序中任何內(nèi)容統(tǒng)稱為對(duì)象,包括數(shù)字、字符串、函數(shù)等。

          02

          Python

          基礎(chǔ)語法

          運(yùn)行 Python

          交互式解釋器

          在命令行窗口執(zhí)行python后,進(jìn)入 Python 的交互式解釋器。exit()?或?Ctrl + D?組合鍵退出交互式解釋器。

          命令行腳本

          在命令行窗口執(zhí)行python script-file.py,以執(zhí)行 Python 腳本文件。

          指定解釋器

          如果在 Python 腳本文件首行輸入#!/usr/bin/env python,那么可以在命令行窗口中執(zhí)行/path/to/script-file.py以執(zhí)行該腳本文件。

          注:該方法不支持 Windows 環(huán)境。

          編碼

          默認(rèn)情況下,3.x 源碼文件都是 UTF-8 編碼,字符串都是 Unicode 字符。也可以手動(dòng)指定文件編碼:

          #?-*-?coding:?utf-8?-*-

          或者

          #?encoding:?utf-8

          注意: 該行標(biāo)注必須位于文件第一行

          標(biāo)識(shí)符

          • 第一個(gè)字符必須是英文字母或下劃線?_?。

          • 標(biāo)識(shí)符的其他的部分由字母、數(shù)字和下劃線組成。

          • 標(biāo)識(shí)符對(duì)大小寫敏感。

          注:從 3.x 開始,非 ASCII 標(biāo)識(shí)符也是允許的,但不建議。

          保留字

          保留字即關(guān)鍵字,我們不能把它們用作任何標(biāo)識(shí)符名稱。Python 的標(biāo)準(zhǔn)庫提供了一個(gè) keyword 模塊,可以輸出當(dāng)前版本的所有關(guān)鍵字:

          >>>?import?keyword
          >>>?keyword.kwlist
          ['False',?'None',?'True',?'and',?'as',?'assert',?'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']

          (左右滑動(dòng)可查看完整代碼)


          注釋

          單行注釋采用#,多行注釋采用'''"""

          #?這是單行注釋

          '''
          這是多行注釋

          這是多行注釋
          '''


          """
          這也是多行注釋

          這也是多行注釋
          """

          行與縮進(jìn)

          Python 最具特色的就是使用縮進(jìn)來表示代碼塊,不需要使用大括號(hào)?{}
          縮進(jìn)的空格數(shù)是可變的,但是同一個(gè)代碼塊的語句必須包含相同的縮進(jìn)空格數(shù)。縮進(jìn)不一致,會(huì)導(dǎo)致運(yùn)行錯(cuò)誤。

          多行語句

          Python 通常是一行寫完一條語句,但如果語句很長(zhǎng),我們可以使用反斜杠\來實(shí)現(xiàn)多行語句。

          total?=?item_one?+?\
          ????????item_two?+?\
          ????????item_three

          在?[],?{}, 或?()?中的多行語句,不需要使用反斜杠\

          空行

          函數(shù)之間或類的方法之間用空行分隔,表示一段新的代碼的開始。類和函數(shù)入口之間也用一行空行分隔,以突出函數(shù)入口的開始。

          空行與代碼縮進(jìn)不同,空行并不是 Python 語法的一部分。書寫時(shí)不插入空行,Python 解釋器運(yùn)行也不會(huì)出錯(cuò)。但是空行的作用在于分隔兩段不同功能或含義的代碼,便于日后代碼的維護(hù)或重構(gòu)。

          記住:空行也是程序代碼的一部分。

          等待用戶輸入

          input函數(shù)可以實(shí)現(xiàn)等待并接收命令行中的用戶輸入。

          content?=?input("\n\n請(qǐng)輸入點(diǎn)東西并按?Enter?鍵\n")
          print(content)

          同一行寫多條語句

          Python 可以在同一行中使用多條語句,語句之間使用分號(hào);分割。

          import?sys;?x?=?'hello?world';?sys.stdout.write(x?+?'\n')

          多個(gè)語句構(gòu)成代碼組

          縮進(jìn)相同的一組語句構(gòu)成一個(gè)代碼塊,我們稱之代碼組。

          ifwhiledefclass這樣的復(fù)合語句,首行以關(guān)鍵字開始,以冒號(hào):結(jié)束,該行之后的一行或多行代碼構(gòu)成代碼組。

          我們將首行及后面的代碼組稱為一個(gè)子句(clause)。

          print 輸出

          print 默認(rèn)輸出是換行的,如果要實(shí)現(xiàn)不換行需要在變量末尾加上end=""或別的非換行符字符串:

          print('123')?#?默認(rèn)換行
          print('123',?end?=?"")?#?不換行

          import 與 from...import

          在 Python 用?import?或者?from...import?來導(dǎo)入相應(yīng)的模塊。

          將整個(gè)模塊導(dǎo)入,格式為:import module_name

          從某個(gè)模塊中導(dǎo)入某個(gè)函數(shù),格式為:from module_name import func1

          從某個(gè)模塊中導(dǎo)入多個(gè)函數(shù),格式為:from module_name import func1, func2, func3

          將某個(gè)模塊中的全部函數(shù)導(dǎo)入,格式為:from module_name import *

          運(yùn)算符

          算術(shù)運(yùn)算符

          運(yùn)算符描述
          +
          -
          *
          /
          %取模
          **
          //取整除



          比較運(yùn)算符

          運(yùn)算符描述
          ==等于
          !=不等于
          >大于
          <小于
          >=大于等于
          <=小于等于

          賦值運(yùn)算符

          運(yùn)算符描述
          =簡(jiǎn)單的賦值運(yùn)算符
          +=加法賦值運(yùn)算符
          -=減法賦值運(yùn)算符
          *=乘法賦值運(yùn)算符
          /=除法賦值運(yùn)算符
          %=取模賦值運(yùn)算符
          **=冪賦值運(yùn)算符
          //=取整除賦值運(yùn)算符

          位運(yùn)算符

          運(yùn)算符描述
          &按位與運(yùn)算符:參與運(yùn)算的兩個(gè)值,如果兩個(gè)相應(yīng)位都為1,則該位的結(jié)果為1,否則為0
          |按位或運(yùn)算符:只要對(duì)應(yīng)的二個(gè)二進(jìn)位有一個(gè)為1時(shí),結(jié)果位就為1
          ^按位異或運(yùn)算符:當(dāng)兩對(duì)應(yīng)的二進(jìn)位相異時(shí),結(jié)果為1
          ~按位取反運(yùn)算符:對(duì)數(shù)據(jù)的每個(gè)二進(jìn)制位取反,即把1變?yōu)?,把0變?yōu)?。~x 類似于 -x-1
          <<左移動(dòng)運(yùn)算符:運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由"<<"右邊的數(shù)指定移動(dòng)的位數(shù),高位丟棄,低位補(bǔ)0
          >>右移動(dòng)運(yùn)算符:把">>"左邊的運(yùn)算數(shù)的各二進(jìn)位全部右移若干位,">>"右邊的數(shù)指定移動(dòng)的位數(shù)

          邏輯運(yùn)算符

          運(yùn)算符邏輯表達(dá)式描述
          andx and y布爾"與" - 如果 x 為 False,x and y 返回 False,否則它返回 y 的計(jì)算值
          orx or y布爾"或" - 如果 x 是 True,它返回 x 的值,否則它返回 y 的計(jì)算值
          notnot x布爾"非" - 如果 x 為 True,返回 False 。如果 x 為 False,它返回 True

          成員運(yùn)算符

          運(yùn)算符描述
          in如果在指定的序列中找到值返回 True,否則返回 False
          not in如果在指定的序列中沒有找到值返回 True,否則返回 False

          身份運(yùn)算符

          運(yùn)算符描述實(shí)例
          isis 是判斷兩個(gè)標(biāo)識(shí)符是不是引用自一個(gè)對(duì)象x is y, 類似 id(x) == id(y) , 如果引用的是同一個(gè)對(duì)象則返回 True,否則返回 False
          is notis not 是判斷兩個(gè)標(biāo)識(shí)符是不是引用自不同對(duì)象x is not y , 類似 id(a) != id(b)。如果引用的不是同一個(gè)對(duì)象則返回結(jié)果 True,否則返回 False

          運(yùn)算符優(yōu)先級(jí)

          運(yùn)算符描述
          (expressions...),?[expressions...],?{key: value...},?{expressions...}表示綁定或元組、表示列表、表示字典、表示集合
          x[index],?x[index:index],?x(arguments...),?x.attribute下標(biāo)、切片、調(diào)用、屬性引用
          **指數(shù) (最高優(yōu)先級(jí))
          ~?+?-按位翻轉(zhuǎn), 一元加號(hào)和減號(hào) (最后兩個(gè)的方法名為 +@ 和 -@)
          *?/?%?//乘,除,取模和取整除
          +?-加法減法
          >>?<<右移,左移運(yùn)算符
          &位 'AND'
          ^?|位運(yùn)算符
          <=?<?>?>=比較運(yùn)算符
          <>?==?!=等于運(yùn)算符
          =?%=?/=?//=?-=?+=?*=?**=賦值運(yùn)算符
          is?is not身份運(yùn)算符
          in?not in成員運(yùn)算符
          and?or?not邏輯運(yùn)算符
          if - else條件表達(dá)式
          lambdaLambda 表達(dá)式

          具有相同優(yōu)先級(jí)的運(yùn)算符將從左至右的方式依次進(jìn)行。用小括號(hào)()可以改變運(yùn)算順序。

          變量

          變量在使用前必須先"定義"(即賦予變量一個(gè)值),否則會(huì)報(bào)錯(cuò):


          >>>?name
          Traceback?(most?recent?call?last):
          ??File?"",?line?1,?in?<module>
          NameError:?name?'name'?is?not?defined


          數(shù)據(jù)類型

          布爾(bool)

          只有?True?和?False?兩個(gè)值,表示真或假。

          數(shù)字(number)

          整型(int)

          整數(shù)值,可正數(shù)亦可復(fù)數(shù),無小數(shù)。
          3.x 整型是沒有限制大小的,可以當(dāng)作 Long 類型使用,所以 3.x 沒有 2.x 的 Long 類型。

          浮點(diǎn)型(float)

          浮點(diǎn)型由整數(shù)部分與小數(shù)部分組成,浮點(diǎn)型也可以使用科學(xué)計(jì)數(shù)法表示(2.5e2 = 2.5 x 10^2 = 250)

          復(fù)數(shù)(complex)

          復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分構(gòu)成,可以用a + bj,或者complex(a,b)表示,復(fù)數(shù)的實(shí)部 a 和虛部 b 都是浮點(diǎn)型。

          數(shù)字運(yùn)算

          • 不同類型的數(shù)字混合運(yùn)算時(shí)會(huì)將整數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)

          • 在不同的機(jī)器上浮點(diǎn)運(yùn)算的結(jié)果可能會(huì)不一樣

          • 在整數(shù)除法中,除法?/?總是返回一個(gè)浮點(diǎn)數(shù),如果只想得到整數(shù)的結(jié)果,丟棄可能的分?jǐn)?shù)部分,可以使用運(yùn)算符?//

          • //?得到的并不一定是整數(shù)類型的數(shù),它與分母分子的數(shù)據(jù)類型有關(guān)系

          • 在交互模式中,最后被輸出的表達(dá)式結(jié)果被賦值給變量?__?是個(gè)只讀變量

          數(shù)學(xué)函數(shù)

          注:以下函數(shù)的使用,需先導(dǎo)入 math 包。

          函數(shù)描述
          abs(x)返回?cái)?shù)字的整型絕對(duì)值,如?abs(-10)?返回 10
          ceil(x)返回?cái)?shù)字的上入整數(shù),如?math.ceil(4.1)?返回 5
          cmp(x, y)如果 x < y 返回 -1,如果 x == y 返回 0,如果 x > y 返回 1。Python 3?已廢棄 。使用 使用?(x>y)-(x?替換。
          exp(x)返回 e 的 x 次冪(ex),如?math.exp(1)?返回2.718281828459045
          fabs(x)返回?cái)?shù)字的浮點(diǎn)數(shù)絕對(duì)值,如?math.fabs(-10)?返回10.0
          floor(x)返回?cái)?shù)字的下舍整數(shù),如?math.floor(4.9)?返回 4
          log(x)如?math.log(math.e)?返回 1.0,math.log(100,10)?返回 2.0
          log10(x)返回以 10 為基數(shù)的 x 的對(duì)數(shù),如?math.log10(100)?返回 2.0
          max(x1, x2,...)返回給定參數(shù)的最大值,參數(shù)可以為序列
          min(x1, x2,...)返回給定參數(shù)的最小值,參數(shù)可以為序列
          modf(x)返回 x 的整數(shù)部分與小數(shù)部分,兩部分的數(shù)值符號(hào)與 x 相同,整數(shù)部分以浮點(diǎn)型表示
          pow(x, y)冪等函數(shù), x**y 運(yùn)算后的值
          round(x [,n])返回浮點(diǎn)數(shù) x 的四舍五入值,如給出 n 值,則代表舍入到小數(shù)點(diǎn)后的位數(shù)
          sqrt(x)返回?cái)?shù)字 x 的平方根

          隨機(jī)數(shù)函數(shù)

          注:以下函數(shù)的使用,需先導(dǎo)入 random 包。

          函數(shù)描述
          choice(seq)從序列的元素中隨機(jī)挑選一個(gè)元素,比如random.choice(range(10)),從0到9中隨機(jī)挑選一個(gè)整數(shù)
          randrange ([start,] stop [,step])從指定范圍內(nèi),按指定基數(shù)遞增的集合中獲取一個(gè)隨機(jī)數(shù),基數(shù)缺省值為1
          random()隨機(jī)生成下一個(gè)實(shí)數(shù),它在[0,1)范圍內(nèi)
          seed([x])改變隨機(jī)數(shù)生成器的種子seed。如果你不了解其原理,你不必特別去設(shè)定seed,Python會(huì)幫你選擇seed
          shuffle(lst)將序列的所有元素隨機(jī)排序
          uniform(x, y)隨機(jī)生成下一個(gè)實(shí)數(shù),它在[x,y]范圍內(nèi)

          三角函數(shù)

          注:以下函數(shù)的使用,需先導(dǎo)入 math 包。

          函數(shù)描述
          acos(x)返回 x 的反余弦弧度值
          asin(x)返回 x 的反正弦弧度值
          atan(x)返回 x 的反正切弧度值
          atan2(y, x)返回給定的 X 及 Y 坐標(biāo)值的反正切值
          cos(x)返回 x 的弧度的余弦值
          hypot(x, y)返回歐幾里德范數(shù)?sqrt(x*x + y*y)
          sin(x)返回的 x 弧度的正弦值
          tan(x)返回 x 弧度的正切值
          degrees(x)將弧度轉(zhuǎn)換為角度,如 degrees(math.pi/2) 返回 90.0
          radians(x)將角度轉(zhuǎn)換為弧度

          數(shù)學(xué)常量

          常量描述
          pi數(shù)學(xué)常量 pi(圓周率,一般以π來表示)
          e數(shù)學(xué)常量 e,e 即自然常數(shù)(自然常數(shù))

          字符串(string)

          • 單引號(hào)和雙引號(hào)使用完全相同

          • 使用三引號(hào)('''""")可以指定一個(gè)多行字符串

          • 轉(zhuǎn)義符(反斜杠\)可以用來轉(zhuǎn)義,使用r可以讓反斜杠不發(fā)生轉(zhuǎn)義,如r"this is a line with \n",則\n會(huì)顯示,并不是換行

          • 按字面意義級(jí)聯(lián)字符串,如"this " "is " "string"會(huì)被自動(dòng)轉(zhuǎn)換為this is string

          • 字符串可以用?+?運(yùn)算符連接在一起,用?*?運(yùn)算符重復(fù)

          • 字符串有兩種索引方式,從左往右以 0 開始,從右往左以 -1 開始

          • 字符串不能改變

          • 沒有單獨(dú)的字符類型,一個(gè)字符就是長(zhǎng)度為 1 的字符串

          • 字符串的截取的語法格式如下:變量[頭下標(biāo):尾下標(biāo)]

          轉(zhuǎn)義字符

          轉(zhuǎn)義字符描述
          \在行尾時(shí),續(xù)行符
          \\反斜杠符號(hào)
          \'單引號(hào)
          \"雙引號(hào)
          \a響鈴
          \b退格(Backspace)
          \e轉(zhuǎn)義
          \000
          \n換行
          \v縱向制表符
          \t橫向制表符
          \r回車
          \f換頁
          \oyy八進(jìn)制數(shù),yy代表字符,例如:\o12代表換行
          \xyy十六進(jìn)制數(shù),yy代表字符,例如:\x0a代表換行
          \other其它的字符以普通格式輸出

          字符串運(yùn)算符

          操作符描述實(shí)例
          +字符串連接'Hello' + 'Python'?輸出結(jié)果:'HelloPython'
          *重復(fù)輸出字符串'Hello' * 2?輸出結(jié)果:'HelloHello'
          []通過索引獲取字符串中字符'Hello'[1]?輸出結(jié)果 e
          [ : ]截取字符串中的一部分'Hello'[1:4]?輸出結(jié)果 ell
          in成員運(yùn)算符,如果字符串中包含給定的字符返回 True'H' in 'Hello'?輸出結(jié)果 True
          not in成員運(yùn)算符,如果字符串中不包含給定的字符返回 True'M' not in 'Hello'?輸出結(jié)果 True
          r/R原始字符串,所有的字符串都是直接按照字面的意思來使用,沒有轉(zhuǎn)義特殊或不能打印的字符。原始字符串除在字符串的第一個(gè)引號(hào)前加上字母 r(可以大小寫)以外,與普通字符串有著幾乎完全相同的語法print(r'\n')?或?print(R'\n')
          %格式化字符串

          字符串格式化

          在 Python 中,字符串格式化不是 sprintf 函數(shù),而是用?%?符號(hào)。例如:

          print("我叫%s, 今年 %d 歲!" % ('小明', 10))

          // 輸出:
          我叫小明, 今年 10 歲!

          格式化符號(hào):

          符號(hào)描述
          %c格式化字符及其 ASCII 碼
          %s格式化字符串
          %d格式化整數(shù)
          %u格式化無符號(hào)整型
          %o格式化無符號(hào)八進(jìn)制數(shù)
          %x格式化無符號(hào)十六進(jìn)制數(shù)
          %X格式化無符號(hào)十六進(jìn)制數(shù)(大寫)
          %f格式化浮點(diǎn)數(shù)字,可指定小數(shù)點(diǎn)后的精度
          %e用科學(xué)計(jì)數(shù)法格式化浮點(diǎn)數(shù)
          %E作用同 %e,用科學(xué)計(jì)數(shù)法格式化浮點(diǎn)數(shù)
          %g%f 和 %e 的簡(jiǎn)寫
          %G%f 和 %E 的簡(jiǎn)寫
          %p用十六進(jìn)制數(shù)格式化變量的地址

          輔助指令:

          指令描述
          *定義寬度或者小數(shù)點(diǎn)精度
          -用做左對(duì)齊
          +在正數(shù)前面顯示加號(hào)

          在正數(shù)前面顯示空格
          #在八進(jìn)制數(shù)前面顯示零('0'),在十六進(jìn)制前面顯示'0x'或者'0X'(取決于用的是'x'還是'X')
          0顯示的數(shù)字前面填充'0'而不是默認(rèn)的空格
          %'%%'輸出一個(gè)單一的'%'
          (var)映射變量(字典參數(shù))
          m.n.m 是顯示的最小總寬度,n 是小數(shù)點(diǎn)后的位數(shù)(如果可用的話)

          Python 2.6 開始,新增了一種格式化字符串的函數(shù)?str.format(),它增強(qiáng)了字符串格式化的功能。

          多行字符串

          • 用三引號(hào)('''?或?""")包裹字符串內(nèi)容

          • 多行字符串內(nèi)容支持轉(zhuǎn)義符,用法與單雙引號(hào)一樣

          • 三引號(hào)包裹的內(nèi)容,有變量接收或操作即字符串,否則就是多行注釋

          實(shí)例:


          string?=?'''
          print(\tmath.fabs(-10))

          print(\nrandom.choice(li))
          '''


          print(string)


          輸出:


          print(??math.fabs(-10))

          print(
          random.choice(li))



          Unicode

          在 2.x 中,普通字符串是以 8 位 ASCII 碼進(jìn)行存儲(chǔ)的,而 Unicode 字符串則存儲(chǔ)為 16 位 Unicode 字符串,這樣能夠表示更多的字符集。使用的語法是在字符串前面加上前綴?u

          在 3.x 中,所有的字符串都是 Unicode 字符串。

          字符串函數(shù)

          方法名描述
          str.capitalize()首字母大寫,其余字符小寫
          str.center(width[, fillchar])返回一個(gè)指定的寬度 width 居中的字符串,fillchar 為填充的字符,默認(rèn)為空格
          str.count(sub, start= 0,end=len(string))統(tǒng)計(jì)子字符串在字符串中出現(xiàn)的次數(shù)
          str.encode(encoding='UTF-8',errors='strict')以指定的編碼格式編碼字符串,返回 bytes 對(duì)象
          bytes.decode(encoding="utf-8", errors="strict")以指定的編碼格式解碼 bytes 對(duì)象,返回字符串
          str.endswith(suffix[, start[, end]])判斷字符串是否以指定后綴結(jié)尾
          str.expandtabs(tabsize=8)把字符串中的 tab 符號(hào)(\t)轉(zhuǎn)為空格
          str.find(str, beg=0, end=len(string))如果包含子字符串返回開始的索引值,否則返回-1
          str.index(str, beg=0, end=len(string))如果包含子字符串返回開始的索引值,否則拋出異常
          str.isalnum()檢測(cè)字符串是否只由字母和數(shù)字組成
          str.isalpha()檢測(cè)字符串是否只由字母組成
          str.isdigit()檢測(cè)字符串是否只由數(shù)字組成
          str.islower()如果字符串中包含至少一個(gè)區(qū)分大小寫的字符,并且所有這些(區(qū)分大小寫的)字符都是小寫,則返回 True,否則返回 False
          str.isupper()檢測(cè)字符串中所有的字母是否都為大寫
          str.isspace()如果字符串中只包含空格,則返回 True,否則返回 False
          str.istitle()檢測(cè)字符串中所有的單詞拼寫首字母是否為大寫,且其他字母為小寫
          str.join(sequence)將序列的元素以指定的字符連接生成一個(gè)新的字符串
          len(s)返回對(duì)象(字符串、列表、元組等)長(zhǎng)度或項(xiàng)目個(gè)數(shù)
          str.ljust(width[, fillchar])返回一個(gè)原字符串左對(duì)齊,并使用空格填充至指定長(zhǎng)度的新字符串。如果指定的長(zhǎng)度小于原字符串的長(zhǎng)度則返回原字符串
          str.lower()轉(zhuǎn)換字符串中所有大寫字符為小寫
          str.upper()轉(zhuǎn)換字符串中所有小寫字符為大寫
          str.strip([chars])移除字符串頭尾指定的字符(默認(rèn)為空格)或字符序列
          str.maketrans(intab, outtab)用于創(chuàng)建字符映射的轉(zhuǎn)換表,對(duì)于接受兩個(gè)參數(shù)的最簡(jiǎn)單的調(diào)用方式,第一個(gè)參數(shù)是字符串,表示需要轉(zhuǎn)換的字符,第二個(gè)參數(shù)也是字符串表示轉(zhuǎn)換的目標(biāo)。兩個(gè)字符串的長(zhǎng)度必須相同,為一一對(duì)應(yīng)的關(guān)系。
          str.translate(table)根據(jù)參數(shù)table給出的表轉(zhuǎn)換字符串的字符
          max(str)返回字符串中最大的字符
          min(str)返回字符串中最小的字符
          str.replace(old, new[, max])把字符串中的 old(舊字符串) 替換成 new(新字符串),如果指定第三個(gè)參數(shù)max,則替換不超過 max 次
          str.split(str="", num=string.count(str))通過指定分隔符對(duì)字符串進(jìn)行切片,如果參數(shù) num 有指定值,則僅分隔 num 個(gè)子字符串
          str.splitlines([keepends])按照行('\r', '\r\n', \n')分隔,返回一個(gè)包含各行作為元素的列表,如果參數(shù) keepends 為 False,不包含換行符,如果為 True,則保留換行符
          str.startswith(str, beg=0,end=len(string))檢查字符串是否是以指定子字符串開頭
          str.swapcase()對(duì)字符串的大小寫字母進(jìn)行互換
          str.title()返回"標(biāo)題化"的字符串,即所有單詞都是以大寫開始,其余字母均為小寫
          str.zfill(width)返回指定長(zhǎng)度的字符串,原字符串右對(duì)齊,前面填充0
          str.isdecimal()檢查字符串是否只包含十進(jìn)制字符,只適用于 Unicode 對(duì)象

          字節(jié)(bytes)

          在 3.x 中,字符串和二進(jìn)制數(shù)據(jù)完全區(qū)分開。文本總是 Unicode,由 str 類型表示,二進(jìn)制數(shù)據(jù)則由 bytes 類型表示。Python 3 不會(huì)以任意隱式的方式混用 str 和 bytes,你不能拼接字符串和字節(jié)流,也無法在字節(jié)流里搜索字符串(反之亦然),也不能將字符串傳入?yún)?shù)為字節(jié)流的函數(shù)(反之亦然)。

          • bytes 類型與 str 類型,二者的方法僅有 encode() 和 decode() 不同。

          • bytes 類型數(shù)據(jù)需在常規(guī)的 str 類型前加個(gè)?b?以示區(qū)分,例如?b'abc'

          • 只有在需要將 str 編碼(encode)成 bytes 的時(shí)候,比如:通過網(wǎng)絡(luò)傳輸數(shù)據(jù);或者需要將 bytes 解碼(decode)成 str 的時(shí)候,我們才會(huì)關(guān)注 str 和 bytes 的區(qū)別。

          bytes 轉(zhuǎn) str:


          b'abc'.decode()
          str(b'abc')
          str(b'abc',?encoding='utf-8')


          str 轉(zhuǎn) bytes:


          '中國'.encode()

          bytes('中國',?encoding='utf-8'




          瀏覽 51
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  sese欧美 | 91成人观看 | 亚洲综合爱婷婷AV | 久草手机在线视频 | 免费欧美性爱 |