一、字符串轉義
字符串可以包含任何字符可以用單引號也可以用雙引號
a='hello' a="hello"
如果字符串中存在單引號,可以用雙引號里包含單引號的方式
a="I'm ..."
反之
a='"hello!", tom said'
還可以使用轉義字符串 \
a='I\'m is..'
二、拼接字符串
拼接字符串
1.用加號進行連接
2.依次輸入兩個字符串,會自動拼接
3.多行語句
(1)Python 通常是一行寫完一條語句,但如果語句很長,我們可以使用反斜杠(\)來實現多行語句,例如:
total = 'abc' + \ 'def' + \ 'lmn'
(2)在 [], {}, 或 () 中的多行語句,不需要使用反斜杠(\),例如:
total = ['a', 'b', 'c', 'd', 'e']
4.字符串與數字拼接
先用內置函數str()把數字轉成字符
5.長字符串
使用兩對 三引號
a='''你好 今年天氣不錯''' print(a)
也可以原樣輸出單引號和雙引號,轉義字符可以發揮轉義效果。
6.原樣輸出字符串 r''
使轉義功能失效,原樣輸出字符
三、格式化字符串
指定要設置其格式的值時,可使用單個值(如字符串或數字),可使用元組(如果要設置多個值的格式),還可使用字典
最常用的是元組
1.使用類似C語言的格式化
%s是轉換說明符, s代表字符串,如果值不是字符串,將會把其轉成字符串
>>> format="hello, %s ni %s" >>> values=('world','hao') >>> format%values 'hello, world ni hao'
%.3f的意思是包含三位小數的浮點數,多於三位將舍去
>>> a='%.3f' >>> b=1.888 >>> a%b '1.888' >>> c='%.3f' >>> d=1.8888 >>> a%b '1.888'
2.快捷方法f
直接輸出變量名
>>> a=30 >>> f"wide is {a}" 'wide is 30'
3.使用字符串方法format
需要按順序
>>> "Hello,{} ni {}".format("world","hao") 'Hello,world ni hao'
無需按順序
>>> "Hello,{1} ni {0}".format("hao","world") 'Hello,world ni hao'
自定義
>>> "{name} is {value:.2f}.".format(value=1.666, name="wide") 'wide is 1.67.'
4.模板字符串。類似於UNIX shell的語法
>>> from string import Template >>> str1 = Template("Hello, $who ni $what ?") >>> str1.substitute(who="ni", what="hao") 'Hello, ni ni hao ?'
四、截取字符串
print str[0:3] #截取第一位到第三位的字符
print str[:] #截取字符串的全部字符
print str[6:] #截取第七個字符到結尾
print str[:-3] #截取從頭開始到倒數第三個字符之前
print str[2] #截取第三個字符
print str[-1] #截取倒數第一個字符
print str[::-1] #創造一個與原字符串順序相反的字符串
print str[-3:-1] #截取倒數第三位與倒數第一位之前的字符
print str[-3:] #截取倒數第三位到結尾
print str[:-5:-3] #逆序截取,具體啥意思沒搞明白?
五、字節、字符串互轉
1.字符串轉字節
調用 bytes方法將字符串轉成字節
或者用字符串內置方法encode
2.字節轉成字符串
七、字符串常用方法
常用方法
1.center()
在字符串兩端添加字符,一個參數時,默認添加空格。參數1是總的長度,為單數時優先在字符串左側添加。
參數2指定要填充的字符(只能是一個字符)
>>> 'ni hao'.center(20,'*') '*******ni hao*******'
2、find方法
>>> 'haabcmenabc '.find('abc') 2
如果找到返回子串所在位置的最左端索引,如果未找到返回-1
3、join方法
>>> str1 = ['1', '2', '3', '4', '5'] >>> str2='a' >>> str2.join(str1) '1a2a3a4a5'
用str2把str1連接起來,str1和str2必須都是字符串
4.lower ()
變成小寫
>>> 'AbC'.lower() 'abc'
5.replace()
方法replace將指定子串都替換為另一個字符串,並返回替換后的結果
>>> 'This is a test'.replace('is', 'eez') 'Theez eez a test'
6.split ()
其作用與join相反,用於將字符串拆分為序列
如果沒有指定分隔符,將默認在單個或多個連續的空白字符(空格、制表符、換行符
等)處進行拆分
>>> '1+2+3+4+5'.split('+') ['1', '2', '3', '4', '5'] >>> '/usr/bin/env'.split('/') ['', 'usr', 'bin', 'env'] >>> 'Using the default'.split() ['Using', 'the', 'default']
7.strip()
方法strip將字符串開頭和末尾的空白(但不包括中間的空白)刪除,並返回刪除后的結果。
>>> ' abc '.strip() 'abc'
八、獲取用戶輸入
input()函數
input默認得到字符串,需要轉成int類型
input 和 raw_input
1、raw_input會把所有輸入的類型全部轉成字符串類型。
2、input 可以輸入數字或字符串。輸入數字會得到對應的整數類型和小數類型。輸入字符串時要加引號否則會報錯
九、print打印
連續打印多個表達式 ,用逗號隔開
打印一個帶逗號的字符串
自定義分隔符, seq
>>> print('a','b','c','d',sep='*')
a*b*c*d
自定義結束字符串,end
>>> print('a','b');print('c');
a b
c
>>> print('a','b',end='!');print('c'); a b!c