標籤:color oct sci 斜杠 www abc logs 函數 序列
ParisGabriel
Python 入門基礎
字串:str
用來記錄文本資訊
字串的表示方式:
在非注釋中凡是用引號括起來的部分都是字串
‘’單引號
“”雙引號
‘‘‘ ‘‘‘ 三單引
""" """ 三雙引
有內容代表非Null 字元串否則是Null 字元串
區別:
單引號內的雙引號不算結束符
雙引號內的單引號不算結束符
三引號內的換行會自動轉換為分行符號
三引號內可以包含單引號和雙引號
隱式字串拼接:
s = "I‘m a I‘m a programmer" ‘heoll "wored"‘
轉移符:
\‘單引號
\"雙引號
\\單反斜線
\n換行
\r返回游標至行首
\t水平定位字元
\v垂直定位字元
\f換頁
\b倒退
\0Null 字元,字元值為0
\xXX ,XX為兩位16進位表示的自符
\uXXXX ,XXXX為4個16進位的Unicode16字元
\UXXXXXXXX ,8個16進位表示的Unicode32字元
ASCII編碼:
man ASCII :查看協助文檔命令
常用ASCII編碼:
字元十進位十六進位
0 48 0x30
A 65 0x41
a 97 0x61
Unicode:
統一編碼,分為Unicode16、Unicode32
序列的概念:
字串就是序列
函數:
len(x) 返回字串的字元個數
raw 字串:
讓轉義符號\無效
格式:
r‘字串內容’
print(r“\n\\\t”)
字串的運算:
+用於拼接字串
*用於產生重複字串
字串的相乘只能與整數
+= *= 與其他符合運算子相同
in / not in 運算子:
用於判斷某個字串是否在
相當於字串出現過 如果出現過返回true 否則返回false
字串的比較運算:
> >= < <= == !=
依次按照編碼進行比較,直到最短字串結束為止
索引(下標):
Python的字串是不可以改變字元序列的
index:
字串[整數運算式]
Python序列都可以用索引來訪問序列中的對象
Python的序列正向索引是沖0開始的最後一個索引為len(s)-1
Python序列的反響索引是從-1開始的 -1是最後一個 第一個是 -len(s)
切片:
slice
從一個字串序列中取出相應的元素重新組成一個字串系列
文法:
字串序列[(開始索引b):(結束索引e):(步長s)]
小括弧括起的部分代表可省略
說明:
開始索引是切片開始切下的位置,0代表第一個元素,1代表第二個,-1代表最後一個
結束索引是切片的終止索引(但不包括終止點)
步長:
是切片每次擷取當前元素後移動的方向和位移量
沒有步長,相當於取值完成後向右移動一個索引的位置預設1
當步長代表為正數時取正向切片 步長預設為1 開始位置為0 結束為len(s)步長代表下一次索引的取值增長值
當步長為負數時 取反向切片 預設的起始位置是最後一個元素,終止位置是第一個元素的前一個位置
Python3中常用於序列函數:
len(x)返回序列長度
max(x)返回序列最大值元素
min(x)返回序列最小止元素
字串編碼轉換函式:
ord(c)返回一個字元的Unicode值(十進位)
chr(i)返回 i這個整數的值所對應的字元
整數轉字串函數:
bin(i) 將整數轉換為二進位的字串
oct(i) 將整數轉換為八進位的字串
hex(i) 將整數轉換為十六進位的字串
二進位轉換其他進位是非常好轉的
100=4 011=5 10=2 156=0o452 (八進位)
1100=c 1001=9 156=0x9c (十六進位)
字串的建構函式:
str(obj=“”) 將對象轉換為字串
常用的字串方法:
文檔參見:
對象.方法名(方法傳參)
"abc".isalpha() # 文法是對的
123.isalpha() # 文法是錯的
方法說明
S.isdigit()判斷字串中的字元是否全為數字
S.isalpha()判斷字串是否全為英文字母
S.islower()判斷字串所有字元是否全為小寫英文字母
S.isupper()判斷字串所有字元是否全為大寫英文字母
S.isspace()判斷字串是否全為空白字元
S.center(width[,fill])將原字串置中,左右預設填充空格 width:所置中字串的長度 fill:預設填充空格
S.count(sub[, start[,end]])擷取一個字串中子串的個數 sub:所要擷取的字串 start:起始位置 end:結束位置
S.find(sub[, start[,end]])擷取字串中子串sub的索引,失敗返回-1 start:起始位置 end:結束位置
S.strip()返回去掉左右空白字元的字串
S.lstrip()返回去掉左側空白字元的字串
S.rstrip()返回去掉右側空白字元的字串
S.upper()產生將英文轉換為大寫的字串
S.lower()產生將英文轉換為小寫字串
S.replace(old, new[, count])將原字串的old用new代替,產生一個新的字串 count:更換的次數
S.startswith(prefix[, start[, end]])返回S是否是以prefix開頭,如果以prefix開頭返回True,否則返回False,
S.endswith(suffix[, start[, end]])返回S是否是以suffix結尾,如果以suffix結尾返回True,否則返回False
以下是不常用的
S.title()產生每個英文單詞的首字母大寫字串
S.isnumeric()判斷字串是否全為數字字元
練習:
1.
輸入一個字串用s綁定
判斷輸入有幾個人空格
將原字串的左右空格空白符去掉
列印剩餘的字元個數
判斷輸入的是否是數字
如果是數字判斷這個數是否大於100
答案:
print("Answer to question 1:", "\n")s = input("plaese input at will string:")print("you input string blank have ", s.count(" "))print("string surplus:", len(s.strip()))if s.isdigit() is True: if int(s) > 100: print("input integer:", s, ">100") else: print("input integer:", s, "<100")else: print("you input contain alpha:", s)
2.
輸入3行文字,讓這三行文字在一個方框內置中顯示
顯示如下:
+---------------+
| hello |
| 123123 |
| |
+---------------+
註:請不要輸入中文
答案:
print("Answer to question 2:", "\n")a = input("plaese input at will string 1:")b = input("plaese input at will string 2:")c = input("plaese input at will string 3:")top = aif top < b: top = bif top < c: top = cprint("+" + "-" * (len(top) * 2 + 10) + "+")print("|" + a.center(len(top) * 2 + 10) + "|")print("|" + b.center(len(top) * 2 + 10) + "|")print("|" + c.center(len(top) * 2 + 10) + "|")print("+" + "-" * (len(top) * 2 + 10) + "+")
ParisGabriel:Python無止境 day06