字串:str
作用:用來記錄文字資訊
字串表示方法:在非注釋中凡是用引號括起來的部分是字串
『 』單引號 「」雙引號 ''' 三單引號 「「「三雙引號
空字串字面值的表示方法:『 』 「」 『『『』』』 「「「」」」
空字串的布林值測試值bool(x)為false
非空字串字面值的表示方法:『hello』.....
單引號和雙引號的區別:單引號內可以包含雙引號(雙引號不算結束符)反之相同
例:print(「i'm a teacher」)
print('i am "zhh" ')
三引號字串:三引號字串中的換行會自動轉換為換行符\n ;三引號內可以包含單引號和雙引號
隱式字串字面值拼接:
>>> "i'm" "a teacher" # 返回 "i'm a teacher"
用轉義序列代表特殊字元:字串中\後跟一些字元代表特殊含義:
反斜槓字元表 例: \' 代表單個單個單引號 \" 代表單個雙引號 \n 代表換行
\\ 乙個反斜槓 \a 響鈴 \r 返回游標至行首 \t水平製表符
\v 垂直製表符 \f 換頁 \b倒退 \0 空字元,字元值為零
\0oo八進位制表示的字元 \***十六進製制表示的字元
\u***x unicode 16 的十六進製制的字元
\u******xx unicode 32 的十六進製制的字元
ascii編碼:$ man ascii《回車》
常用的ascii編碼:字元 十進位制 十六進製制
『0』 48 0x30
『a』 65 0x41
『a』 97 0x61
unicode:
『\x41』 十六進製制表示的字元a
『\u0041』 unicode 16 的十六進製制表示的的字元a
『\u00000041』 unicode 32 的十六進製制表示的字元a
len(x) 函式,求字元的個數:
raw 字串(原始字串):格式:r"字串內容" r'字串內容' r"'字串內容'" r"""字串內容"""
作用:讓轉移字元\無效
字串的運算:+ += * *=
+ 加號運算用於拼接字串 例: x = "abcd" +"efg" print(x) >>># abcdefg
+= 用原字串與右側字串拼接後生產新的字串
例: x = "abcd" y = "efg" x += y #等同於x = x + y
* 運算子生成重複的字串:"a" *5 # aaaaa
*= 生成重複的字串,同時改變原變數的繫結關係
例:x = "abc" x *=3 # x = "abcabcabc"
字串的比較運算:< <= > >= == !=
例:"abc" == """abc""" # true
in / not in 運算子:
作用:in用於序列,字典,集合中,用於判斷某個值是否存在於物件(通常是容器類物件)中
not in 與 in 的返回值相反
語法格式: 值 in 字串
例: x = "welcome to tarena!" if "to" in x : print("to 存在於x中")
python運算子優先順序:(自上而下,由高到低)
** 指 數
~ ,+,- 按位反轉,一元正號,一元負號
*,/,//,% 乘,除.....
+, - 加法減法
>> << 左移,右移
& 位與
^ 位異於
| 位或
< <= > >= == !=,is, is not,in,not in 比較等。。。。
not 布林非(取非)
and
orif - else 條件表示式
索引 index
python字串是不可以改變的序列
語法:字串[整數值]
說明:python序列都可以用索引(index)來訪問序列中的內容;序列中的正向索引是從0開始的,第二個索引為1,
最後乙個為len(s)-1
序列的反向索引是從-1開始的,-1代表最後乙個,-2代表倒數第二個,一次類推,第乙個是-len(s)
切片 slice 從字串序列中取出相應的元素,重新組個乙個字串序列
語法:字串[(開始索引) :(結束索引) (:(步長))] 注:()括起的部分代表可以省略
說明:1.開始索引是切片切下的位置,0代表第乙個元素,1代表第二個,...-1代表最後乙個
2.結束索引是切片的終止點(但不包括終止點)
3.步長是切片每次獲取完當前元素後移動的方向和偏移量
3.1沒有步長,相當於取值完成後向右移動位置(預設為1)
3.2當步長為正數時,取正向切片;當步長預設為1,開始索引預設為0,結束索引預設為len(s)
步長代表下一次索引取值的增長值
3.3當步長為負數時,取反向切片。反向切片時,預設的起始位置為最後乙個元素,
終止位置是第乙個元素的前乙個位置
例:s = "abcde"
a = s[:] # a---- abcde a = s[2:] # a---- cde a = s[:2] # a---- ab
a = s[2:4] # a---- cd a = s[1:1] # a---- ""空 a = s[4:2] # a---- ""空
練習:1.輸入乙個字串,列印這個字串的第乙個字元,中間的字元及最後乙個字元,如果輸入字元數為偶數,則中間字元輸出為『|』
2.輸入任意乙個字串,判斷這個字串是否為回文:上海自來水來自海上 14841回文是指中心對稱的文字
3.用字串*運算子列印矩形,要求輸入乙個整數,此整數代表矩形的寬度
len用於字串的序列函式:
len(x) 返回序列的長度
max(x) 返回序列的最大值元素
min(x) 返回序列的最小值元素
例:s = "abc123"
print(len(s)) # 6
print(max(s)) # c
字串編碼的轉換函式:
ord(str)返回乙個字元的unicode值
chr(i) 返回乙個unicode值對應的字元
例: >>> ord("張")
24352
>>> ord("行")
34892
>>> chr(24352)
'張'整數轉為字串函式:
hex(i):將整數轉換為十六進製制的字串
oct(i):將整數轉換為八進位制的字串
bin(i):將整數轉換為二進位制的字串
python3 中常用的字串方法(method):
字串的方法呼叫語法:
物件.方法名 (方法傳參)
例:"abc".isalpha() # 語法是對的
123.isalpha() # 語法是錯的
假設字串變數名為s:
常用字串的方法如下:
s.isdigit() 判斷字串是否全為數字
s.isalpha() 判斷字串是否全為英文本元
s.islower() 判斷字串是否全為小寫英文本元
s.isupper() 判斷字串是否全為大寫英文本元
s.isspace() 判斷字串是否全為空白字元
s.center(width[,fill) 例:s = 123 s.center(7,"#")>>>>>##123##
將原字串居中,左右預設填充空格
s.count(sub[,start[,end]]) 獲取乙個字串中子串的個數
s.find(sub[,start[,end]]) 獲取字串中子串sub的索引,失敗返回-1
s.strip() 返回去掉左右空白字元的字串
s.lstrip() 返回去掉左側空白字元的字串
s.rstrip() 返回去掉右側空白字元的字串
s.title() 生成每個英文單詞首字母大寫的字串
s.upper() 生成將英文轉換為大寫的字串
s.lower() 生成將英文轉換為小寫的字串
s.replace(old,new[,cound] 將字串old用new代替,生成新的字串
空白字元是指空格,水平製表符(\t),換行符(\n)等不可見字元
字串格式化表示式:
作用:生成一定格式的字串 運算子:%
語法:格式字串 % 引數值 或 格式字串 % (引數值1,引數值2,.....)
說明:格式化字串中以%開頭為佔位符,佔位符的位置將用引數值替換
例:fmt = "name: %s,age:%d"
name = "zhangh"
age = 28
print(fmt % (name ,age))
格式化字串中的佔位符:
%s 字串 %r 字串(使用repr而不是str)
%c 整數轉為單個字元 %d 十進位制整數
%o 八進位制整數 %x 十六進製制整數(字元a-f小寫)
%x 十六進製制整數(字元a-f大寫)
%e,%e 指數表示的浮點數
%f,%f 浮點小數
%g%g 十進位制的數或指數浮點數自動轉換
%% 等同於乙個字元%
佔位符%和型別碼之間的格式語法:
- 號 左對齊 + 號 正負號 0 補零
width 寬度 pricisinon 精度 (都是整數)
Python 字串小結
平時敲 的時候字串處理規範,方法和一些小技巧總會記不住,需要現查,這裡mark小結一下 在python中,單引號和雙引號在表示字串沒有區別 str1 python is beautiful str2 python is beautiful print str1 print str2這樣做的優點從上面...
python 字串使用 小結
字串在語言中的使用應該是很廣泛的了吧。使用語言不可能不學習字串,但是字串除了常用的方法還有其他許多的方法,這裡做個小結。一 建立字串 s s a,b test1 test2 二 字串數學操作 加 a,b test1 test2 a b test1test2 乘 a 2 test1test1 test...
字串小結
1.字串概念 字串是位於雙引號中的字串行 在記憶體中以 0 結束,所佔位元組比實際多乙個 2.字串的初始化 在c語言中沒有專門的字串變數,通常用乙個字元陣列來存放乙個字串。前面介紹字串常量時,已說明字串總是以 0 作為串的結束符。因此當把乙個字串存入乙個陣列時,也把結束符 0 存入陣列,並以此作為該...