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

歡迎訪問 生活随笔!

生活随笔

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

python

python基本字符_Python基本字符串,基础,之

發布時間:2024/4/14 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python基本字符_Python基本字符串,基础,之 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一:字符串

很多人初學編程時,總是擔心自己數學不行,潛意識里認為數學好才能編程。實際上,大多數程序員打交道最多的是“字符串”而不是“數字”。因為,編程是用來解決現實問題的,因此邏輯思維的重要性遠遠超過數學能力。

字符串的本質是:字符序列。Python的字符串是不可變的,我們無法對原字符串做任何修改。但可以將字符串的一部分復制到新創建的字符串,以達到“看起來修改”的效果。

1.1 字符串的編碼

Python3直接支持Unicode,可以表示世界上任何書面語言的字符。Python3的字符默認就是16位Unicode編碼,ASCII碼是Unicode編碼的子集(ASCII碼只能表示英文與數字,一個字節,每個字節8位)。

使用內置函數==ord()

可以把字符轉換成對應的Unicode碼

使用內置函數

chr()==可以把十進制數字轉換成對應的字符

print(ord('A'))# 65

print(ord('高'))# 39640

print(chr(65))# A

print(chr(39640))# 高

1.2 創建字符串

a = "I teach Chinese KongFu"

b = 'who are you?'

# 創建多行字符串

c = '''name="Bruce Lee"

company="sxt"

age = 32

lover = KongFu

'''

print(c)

多行字符串輸出結果:

name="Bruce Lee"

company="sxt"

age = 32

lover = KongFu

1.3 字符串長度

使用len()函數計算字符串的長度

a = ''# Python允許空字符串的存在

b = 'Bruce Lee 李小龍'

print(len(a))# 0

print(len(b))# 13 (包含空格,因為使用的是Unicode編碼所以一個中文漢字就是一個字符)

1.4 replace()實現字符串替換

字符串是“不可改變的”,我們通過[]可以獲取字符串指定位置的字符,但是我們不能改變字符串,當嘗試改變字符串中某個字符,會報錯:

a = 'see you again'

a[2] = 'a'

print(a)

報錯信息如下:

TypeError: 'str' object does not support item assignment

當需要改變某些字符時,就可以使用replace()

a = 'see you again'

b = a.replace('s', 'l')

print(a)# see you again

print(b)# lee you again

整個過程中,實際上我們是創建了新的字符串對象,并賦值給了變量b,而變量a則無變化

1.5 slice切片

切片slice操作可以讓我們快速的提取字符串,標準格式為:

[起始偏移量 start: 終止偏移量 end: 步長 step]

典型操作(三個量為正數)的情況:

其他操作(三個量為負數)的情況:

1.6 split()分割

split()可以基于指定分隔符將字符串分隔成多個子字符串(存儲到列表中)。如果不指定分隔符,則默認使用空白字符(換行符/空格/制表符)。

a = 'to be or not to be'

b = a.split()

print(b)# ['to', 'be', 'or', 'not', 'to', 'be']

指定分隔符進行分隔

a = 'to be or not to be'

b = a.split('be')

print(b)# ['to ', ' or not to ', '']

1.7 join()合并

join()的作用與split()作用剛好相反,用于將一系列子字符串連接起來。

a = ['sxt', 'sxt100', 'sxt200']

b = '*'.join(a)# 指定使用*號將列表中的元素連接起來(也可以不指定,為空)

print(b)# sxt*sxt100*sxt200

使用字符串拼接符+,會生成新的字符串對象,因此不推薦使用+號來進行拼接字符串操作。

推薦使用join函數,因為join函數在拼接字符串之前會計算所有字符串的長度,然后逐一拷貝,僅新建一次對象。

1.8 字符串駐留機制

字符串駐留:僅保存一份相同且不可變字符串的方法,不同的值被存放在字符串駐留池中。

Python支持字符串駐留機制,對于符合標識符規則的字符串(僅包含下劃線 _、字母和數字)會啟用字符串駐留機制。

a = 'abd_33'

b = 'abd_33'

print(a is b)# True (變量a和b都指向同一塊內存地址)

# 下面使用的python版本為3.7.4,帶特殊字符#號,也是符合標識符規則的字符串;早期版本下面為False,內存地址也不一樣

c = 'dd#'

d = 'dd#'

print(c is d)# True (is 比較的是內存地址)

print(c == d)# True(== 比較的是value)

print(id(c))# 1922673958320

print(id(d))# 1922673958320

1.9 格式排版

center(), ljust(), rjust()這三個函數用于對字符串實現排版

a = 'tom'

print(a.center(10, '*'))# ***tom****

print(a.center(10))# tom

print(a.ljust(10, '*'))# tom*******

1.10 字符串格式化

Python2.6 開始,新增了一種格式化字符串的函數 str.format(),它增強了字符串格式化的功能。

基本語法是通過 {} 和 : 來代替以前的 % 。

format 函數可以接受不限個參數,位置可以不按順序。

a = 'name is : {0}, age is : {1}'.format('Bruce Lee', 32)

b = 'name is : {}, age is : {}'.format('Jet Lee', 37)

c = 'name is: {0}, age is : {1}, {0} is a good guy'.format('Rambo', 22)

d = 'name is {name}, age is {age}'.format(name = 'Jacky', age = 33)

print(a)

print(b)

print(c)

print(d)

1.11 填充與對齊

填充常跟對齊一起使用

^、分別是居中、左對齊、右對齊,后面帶寬度

:號后面帶填充的字符,只能是一個字符,不指定的話默認是用空格填充

a = "{:*>8}".format('234')

print(a)# *****234

b = 'I am {0}, I love number {1:*^8}'.format('Bruce Lee', '666')

print(b)# I am Bruce Lee, I love number **666***

1.12 數字格式化

浮點數通過 f,整數通過 d 進行需要的格式化。

a = "我是{0},我的存款有{1:.2f}".format('Bruce Lee', 3888.234234)

b = "我是{0},我的存款有{1:d}".format('Bruce Lee', 3888)

print(a)# 我是Bruce Lee,我的存款有3888.23

print(b)# 我是Bruce Lee,我的存款有3888

其他格式,供大家參考:

數字

格式

輸出

描述

3.1415926

{:.2f}

3.14

保留小數點后兩位

3.1415926

{:+.2f}

3.14

帶符號保留小數點后兩位

2.71828

{:.0f}

3

不帶小數

5

{:.0>2d}

05

數字補零 (填充左邊, 寬度為 2)

5

{:x<4d}

5xxx

數字補 x (填充右邊, 寬度為 4)

10

{:x<4d}

10xx

數字補 x (填充右邊, 寬度為 4)

1000000

{:,}

1,000,000

以逗號分隔的數字格式

0.25

{:.2%}

25.00%

百分比格式

1000000000

{:.2e}

1.00E+09

指數記法

13

{:10d}

13

右對齊 (默認, 寬度為 10)

13

{:<10d}

13

左對齊 (寬度為 10)

13

{:^10d}

13

中間對齊 (寬度為 10)

1.13 可變字符串

在 Python 中,字符串屬于不可變對象,不支持原地修改,如果需要修改其中的值,智能創建新的字符串對象。但是,經常我們確實需要原地修改字符串,可以使用 io.StringIO對象或 array 模塊。

import io

s = 'hello, man'

sio = io.StringIO(s)

print(sio)

print(sio.getvalue())

print(sio.seek(7))# 將指針移動到索引7位置

print(sio.write('g'))# 將索引為7的字符修改為g

print(sio.getvalue())# hello, gan

1.14 其他常用方法

a = '''It's been a long day without you my friend,And I'll tell you all about it when I see you again,We've come a long way from where we began,Oh I'll tell you all about it when I see you again'''

print(len(a))# 計算字符串長度

print(a.startswith('I'))# 是否以什么開頭

print(a.endswith('n'))# 是否以什么結尾

print(a.find('long'))# 從左邊開始查找long第一次出現的位置

print(a.rfind('you'))# 從右邊開始查找you第一次出現的位置

print(a.count('see'))# 統計字符串中see出現的次數

print(a.isalnum())# 是否全部為數字或字母

print(a.capitalize())# 將首字母大寫

print(a.title())# 將每個單詞的首字母大寫

print(a.upper())# 全部轉化為大寫字母

print(a.lower())# 全部轉化為小寫字母

print(a.swapcase())# 將字符串中的大寫字母轉化為小寫,小寫轉化為大寫

print(a.isalpha())# 檢測字符串是否只由字母組成(含漢字)

print(a.isdigit())# 是否只由數字組成

print(a.isspace())# 是否為空白字符

print(a.isupper())

print(a.islower())

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的python基本字符_Python基本字符串,基础,之的全部內容,希望文章能夠幫你解決所遇到的問題。

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