Python基礎入門-字符串

字符串詳解

字符串的用法是最多的,不少功能的實現都離不開字符串,並且字符串的使用方法也不少,這裏面不能說所有給你們一一介紹,只能說把一些經常使用的列舉出來,方便回憶或者說供你們參考,謝謝!請繼續往下看~~~git

先看下字符串的內置方法有哪些?api

>>> dir(str)
['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_formatter_field_name_split', '_formatter_parser', 'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
>>>

看完上面,字符串的內置方法仍是蠻多的。那麼咱們看看他們是如何使用的。ssh

字符串定義:
*1.引號包圍,不可變(指的是不能夠對字符串進行修改)得序列(凡是可以經過索引取值的都是序列)。
*2.不可變對象(字符串)在調用自身方法時,不會改變原有內容。函數

字符串建立:ui

     ' '
    " "
    """ 或者 '''

1.單引號和雙引號,字符串能夠嵌套使用,不能夠交叉使用。
2.三引號常常用於多行註釋url

>>> print '''hello,jim my name is bob!
... how are you?
... welcome to china!
... byebye
... '''

輸出結果:spa

hello,jim my name is bob!
how are you?
welcome to china!
byebye

3.字符串中的\轉義字符code

>>> 'let\'s go jim we are go to school!'
"let's go jim we are go to school!"

字符串中的\norm

>>> print '''hello,zhaoming\nhow are you?'''
hello,zhaoming
how are you?

4.字符串之 原始字符串 r對象

>>> print r'C:\now\abc\bcd\efg\aaa\nnn\bmb'
C:\now\abc\bcd\efg\aaa\nnn\bmb
>>> 'C:\now'
'C:\now'
>>> print 'C:\now'
C:
ow
>>> print 'C:\\now'
C:\now

5.字符串拼接 (經過加號+拼接)

>>> name = "zhangshan"
>>> age = '25'
>>> name + age
'zhangshan25'
>>> name = "zhangshan"
>>> age = 25
>>> name + str(age)
'zhangshan25'
>>> name + str(age) + 'how are you?'
'zhangshan25how are you?

6.字符串格式化輸出
1.經過% 格式化操做 %s替換全部類型 %d替換整型 %f替換浮點型

>>> name = 'lishi'
>>> age = 155
>>> 'hello,%s my age is %s'%(name,age)
'hello,lishi my age is 155'
>>> 'hello,%s my age is %s'%(age,name)
'hello,155 my age is lishi'
>>> 'hello,%d my age is %s'%(name,age)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: %d format: a number is required, not str
>>> 'hello,%s my age is %d'%(name,age)
'hello,lishi my age is 155'

7.判斷變量類型內置函數

type(a)
isinstance(a,b) a爲變量,b爲類型 檢查是否匹配 匹配爲真 不匹配爲假
>>> isinstance(111,int)
True
>>> isinstance('',int)
False
>>> isinstance('',str)
True
>>> isinstance(11.00,float)
True

8.字符串複製 *

>>> 'hello' + 'zhanshan' + 'nihao---->'*3
'hellozhanshannihao---->nihao---->nihao---->'

9.字符串判斷

>>> 'zhang' in 'zhangshan'
True
>>> '12' in 'zhangshan'
False
>>> 'zhang' not in 'zhangshan'
False

10.字符串索引
索引從0開始,默認取值方向從左到右。單個取值

>>> 'hello_world'
'hello_world'
>>> 'hello_world'[0]
'h'
>>> 'hello_world'[1]
'e'
>>> 'hello_world'[2]
'l'

普通截取 [開始端:結束端] 包含開始端 不包含結尾端

>>> 'hello_world'
>>> demo[0:11]
'hello_world'
>>> demo[:]
'hello_world'
>>> demo[0:4]
'hell'
>>> demo[0:3]
'hel'

步長截取 [開始端:結束端:步長值] 包含開始端 不包含結尾端 步長按照步長值減1隔取

>>> demo = 'hello_world'
>>> demo[::2]
'hlowrd'
>>> demo[::]
'hello_world'
>>> demo[::2]
'hlowrd'
>>> demo[:5:2]
'hlo'
>>> demo[:5:2]
>>> demo[::3]
'hlwl'

反向截取 [開始端:結束端] 包含開始端 不包含結尾端

>>> demo = 'hello_world'
>>> demo[-1]
'd'
>>> demo[-2]
'l'
>>> demo[-3]
'r'
>>> demo[-5:-1]
'worl'
>>> demo[-5:0]
''
>>> demo[-5:]
'world'

特殊狀況

>>> demo = 'hello_world'
>>> demo[5:0]
''
>>> demo[5:0]
''
>>> demo[0:12]
'hello_world'
>>> demo[0:13]
'hello_world'
>>> demo = 'hello_world'
>>> demo[-1:-5]
''
>>> demo[-3:-5]
''
>>> demo[-20:]
'hello_world'

11.字符串經常使用操做函數

dir(str) 查看字符串的用法

1.字符串-find()函數
能夠查找字符串中的元素的索引位,若是查詢一個不存在的元素返回值爲-1,若是能查到指定元素
那麼就會返回該元素對應的索引位。

>>> demo = 'hello_world'
>>> demo.find('e')
1
>>> demo.find('m')
-1
>>> demo = 'hello_werld'
>>> demo.find('e')
1
>>> demo.find('w')
6

2.字符串-split()函數(分隔函數)

>>> demo = 'hello_werld'
>>> demo.split('e')
['h', 'llo_w', 'rld']
>>> demo = 'hello_world'
>>> demo.split('e')
['h', 'llo_world']
>>> demo.split('_')
['hello', 'world']
>>> demo.split('')

3.字符串-upper()函數 將字符串中全部的字符變成大寫
(不可變對象調用自身方法不會改變自身的原有內容)

>>> demo = 'hello_world'
>>> demo.upper()
'HELLO_WORLD'
>>> demo
'hello_world'
>>> abc=demo.upper()
>>> abc
'HELLO_WORLD'
>>> demo
'hello_world'
>>>

4.字符串-lower()函數 將字符串中全部的字符變成大寫

>>> abc='HELLO_WORLD'
>>> abc
'HELLO_WORLD'
>>> abc.lower()
'hello_world'
>>>

5.字符串的替換-replace(a,b) a是要替換的原內容 b是替換的新內容

>>> url='www.baidu.com'
>>> url
'www.baidu.com'
>>> url.replace('baidu','sina')
'www.sina.com'
>>> url
'www.baidu.com'
>>> demo=url.replace('baidu','sina')
>>> demo
'www.sina.com'

6.字符串的- join函數(分隔)

>>> url='www.baidu.com'
>>> ':'.join(url)
'w:w:w:.:b:a:i:d:u:.:c:o:m'
>>> username='zhangshan,lishi,wangwu'
>>> ':'.join(username)
'z:h:a:n:g:s:h:a:n:,:l:i:s:h:i:,:w:a:n:g:w:u'
>>> username='zhangshan,lishi,wangwu'
>>> username.split(',')[0]
'zhangshan'
>>> username.split(',')[1]
'lishi'
>>> username.split(',')[2]
'wangwu'

7.字符串的strip 忽略字符串先後空格

>>> username=' zhangshan,lishi,wangwu '
>>> username
' zhangshan,lishi,wangwu '
>>> username.strip()
'zhangshan,lishi,wangwu'

(轉載請標明出處,謝謝!)

相關文章
相關標籤/搜索