日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python核心数据类型_Python核心数据类型——字符串

發布時間:2023/12/20 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python核心数据类型_Python核心数据类型——字符串 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

字符串

Python的字符串是一個有序的字符集合,有序指的是可以通過偏移來訪問每個字符,每個字符有嚴格的從左到右的位置順序,類似于數組。Python中沒有單個字符的類型(C語言中的char),取而代之的是使用一個字符的字符串。字符串是不可變序列,不可以在原處修改,也就是無法執行類似str[0] = 'x'的操作,而執行合并(str1 + str2)、修改字符串(str.replace(..))及分片(s[1:3])等字符串操作都是生成新的對象。

1.?字符串的編寫方式

單引號括起來

>>> 'spa"m' #不可寫成'spa'm',這變成'spa' + m',第2個不完整。

'spa"m'

>>> 'spa''m' #'spa' + 'm'

'spam'

雙引號括起來(不是兩個單引號)

>>> "spa'm"

"spa'm"

三引號括起來(三個單引號或三個雙引號)

>>> '''spam'''

'spam'

>>> """spam"""

'spam'

只要不引起歧義,可以在字符串中直接嵌入單引號(')或雙引號(")而不用通過轉義字符(\',\")。

還可以利用三引號(三個單引號或三個雙引號)來注釋代碼塊

x = 1

'''

import os

print os.getcwd()

'''

y = 2

2. 轉義字符

轉義字符

說明

\

忽視(連續),如果語句太長一行寫不下,用\可以接到下一行。

\\

反斜線(保留\)

\'

單引號(保留')

\”

雙引號(保留”)

\a

響鈴

\b

倒退

\f

換頁

\n

換行

\r

回到行首

\t

水平制表符

\v

垂直制表符

\xhh

十六進制值,如\x00,\x08,\xff,h對應十六進制數。

\0oo

十六進制值,如\000,\077,o對應八進制數。

\0

NULL(不是字符串結尾),等價于\x00,Python中不是用\0來判斷字符串結尾,

每個字符串都存有字符串的長度,通過計數來判斷是否到達結尾。

raw字符串:如果字母r(大寫或小寫)出現在字符串的第一個引號前面,它將會關閉轉義機制

>>> myFile = open(r'c:\new\text.dat', 'w')

>>> myFile = open('c:\new\text.dat', 'w') #出錯,因為\n和\t是轉義字符,解析錯誤。

unicode字符串:在第一個引號前增加字母u(大寫或小寫),unicode字符串每個字符使用2個字節編碼,可以支持更豐富的字符集。

>>> u'spam'

u'spam'

>>> 'eggs' + u'spam' #混合數據類型,自動轉換成unicode

u'eggsspam'

>>> str(u'spam') #轉換成正常字符串

'spam'

>>> unicode('spam') #轉換成unicode字符串

u'spam'

允許混合row和unicode字符串,但是u必須在r前面(ur'.....')

>>> ur'c:\new\txt.dat'

u'c:\\new\\txt.dat'

3. 字符串格式化

字符串格式化語法:包含格式化代碼的要格式化的字符串% 要格式化的對象(多個的話,放在括號內)

格式化代碼

說明

%s

字符串(或任何對象),不是字符串會自動轉成字符串

%r

字符串,但使用repr,而不是str,repr顯示的是解釋器可讀的,str顯示的是人可讀的。也就是說repr是面向解釋器的,str是面向人的。在大部分情況下兩者顯示的值是相同的,但在一些特定的對象是不同的,如字符串。Str('a') == 'a',repr('a') == "'a'" ?('a'由雙引號“括起來)

%c

字符

%d

有符號整數(十進制)

%i

整數

%u

無符號整數(十進制)

%o

八進制整數

%x

十六進制整數

%X

十六進制整數,但打印時大寫

%e

浮點數,科學計數法表示

%E

浮點數,科學計數法表示,使用大E

%f

浮點數

%g

浮點數(根據值大小采用%e或%f)

%G

浮點數(根據值大小采用%E或%f)

%%

百分號標記

>>> '%d %s %d you' % (1, 'spam', 4)

'1 spam 4 you'

>>> '%s %s %s' % (42, 3.14, [1, 2, 3])

'42 3.14 [1, 2, 3]'

更高級的格式化,左側的格式化代碼:%[(name)][flags][width][.precision]code

[]:方括號內的表示可選

當要格式化的對象為字典時可以使用(name),name替換成鍵,但鍵必須是字符串才行。

flags:有三種標志,左對齊(-)、正負號(+)、補零(0)

width:寬度,不夠補零或空格,寬度包括小數點和正負號

.precision:精度,小數的位數

code:對應格式化代碼,如d,s

>>> x = 123

>>> '%d.%5d.%-5d.%05d' % (x, x, x, x)

'123. 123.123 .00123'

>>> x = 1.23

>>> '%-5.2f.%05.2f.%+06.1f' % (x, x, x)

'1.23 .01.23.+001.2'

>>> '%(n)d %(3)s' % {'n': 1, '3': 'spam'}

'1 spam'

4. 一些字符串相關方法介紹

單個字符轉換

>>> ord('a') #將字符轉換成對應的ASCII碼

97

>>> chr(97) #將ASCII碼轉換成對應的字符

'a'

replace方法:s.replace(源字符串, 目的字符串, n),第三個參數為可選,表示將第n個出現源字符串替換成目的字符串,默認為所有。

>>> s = 'aba'

>>> s.replace('a', 'c') #將所有的'a'替換成c

'cbc'

>>> s.replace('a', 'c', 1) #將第一個'a'替換成c

'cba'

join方法:分隔字符串.join(字符串列表),將字符串列表串在一起,成為一個新的字符串,用分隔字符串隔開。

>>> '123'.join(['eggs', 'ham'])

'eggs123ham'

>>> 'x'.join(['a', 'b', 'c'])

'axbxc'

split方法:s.split(分隔字符串),分隔字符串為可選參數,默認為空格,返回一個字符串列表。

>>> s = 'a b c'

>>> s.split()

['a', 'b', 'c']

>>> s = 'a,b,c'

>>> s.split(',')

['a', 'b', 'c']

>>> s = 'axxbxxc'

>>> s.split('xx')

['a', 'b', 'c']

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的python核心数据类型_Python核心数据类型——字符串的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。