溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python進(jìn)制轉(zhuǎn)換和字符串切片的使用方法

發(fā)布時間:2021-06-25 14:07:13 來源:億速云 閱讀:375 作者:chen 欄目:編程語言

本篇內(nèi)容主要講解“Python進(jìn)制轉(zhuǎn)換和字符串切片的使用方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Python進(jìn)制轉(zhuǎn)換和字符串切片的使用方法”吧!

前言時刻

又是很水的一上午,不過也學(xué)習(xí)到了一些新知識,比如st.isnum、st.isalpha等等

來來總結(jié)一波:

今天講的有:進(jìn)制轉(zhuǎn)換、str字符串函數(shù)的用法:切片、replace、split、isalpha、strip、count、join。

差不多就這些了,學(xué)就完事了,總結(jié)那是必須的。

1、進(jìn)制轉(zhuǎn)換

常用的就是10進(jìn)制、2進(jìn)制(binary)、8進(jìn)制(octonary)、16進(jìn)制(hexadecimal),他們之前的轉(zhuǎn)換是需要掌握的。

1.1、10進(jìn)制向2、8、16進(jìn)制轉(zhuǎn)換

主要就是這三個內(nèi)置函數(shù):bin、oct、hex,其分別是2進(jìn)制、8進(jìn)制、16進(jìn)制的英文縮寫,具體可看上面。

# 1、進(jìn)制轉(zhuǎn)換

tmp = 5

# 10進(jìn)制轉(zhuǎn)2進(jìn)制
print(bin(tmp))    # 0b101

# 10進(jìn)制轉(zhuǎn)8進(jìn)制
print(oct(tmp))    # 0o5

# 10進(jìn)制轉(zhuǎn)16進(jìn)制
print(hex(tmp))   # 0x5

# 返回數(shù)的二進(jìn)制有效位數(shù)
print(tmp.bit_length())    # 3  對應(yīng)二進(jìn)制:0b101正好是3位

1.2、2/8/16進(jìn)制向10進(jìn)制轉(zhuǎn)換

主要用到 int(str, num) 函數(shù)進(jìn)行互轉(zhuǎn),具體用法見下方。

#  2/8/16進(jìn)制向10進(jìn)制轉(zhuǎn)換

# 1、2進(jìn)制轉(zhuǎn)10進(jìn)制
print(int("0b101", 2))   # 5

# 2、8進(jìn)制轉(zhuǎn)10進(jìn)制
print(int("0o17", 8))    # 15

# 3、16進(jìn)制轉(zhuǎn)10進(jìn)制
print(int("0x14", 16))      # 20

# 4、8進(jìn)制轉(zhuǎn)2進(jìn)制
print(bin(int("0o17", 8)))   # 0b1111

# 其他的也同理,使用int作為中間量,進(jìn)行互轉(zhuǎn)。

下面介紹的都是字符串的種種操作方法,記住即可。

2、字符串切片

直接看例子吧,三種用法都有。

st = "thepathofpython"

# 1、一般切片
print(st[0:3])   # the  區(qū)間包前不包后

# 2、帶步長的切片  **
print(st[0:8:3])   # tph  最后面的一個參數(shù)是步長

# 3、從后往前掃描 切片
print(st[-6:])   # python      右區(qū)間若無值,則默認(rèn)包括末尾 到底

# 3.1、從后往前掃描 + 步長
print(st[-6::-2])   # potph   步長為負(fù)數(shù) 表示從右到左掃
print(st[-6::2])   # pto      步長為正數(shù) 表示從左到右掃

# 4、重點(diǎn) 面試題???nbsp;翻轉(zhuǎn)字符串 ***
print(st[::-1])   # nohtypfohtapeht    左區(qū)間若無值,則默認(rèn)從首位開始

3、字符串字母大小寫

將字符串中的所有字母轉(zhuǎn)成大寫或者小寫,upper和lower函數(shù)

tmp = "xiYuanGongZi"

# 字符串字母全部變成大寫
print(tmp.upper())   # XIYUANGONGZI

# 字符串中字母全部變成小寫
print(tmp.lower())   # xiyuangongzi

4、startswith和endswith

判斷字符串開頭和尾端是否等于某一字符串。

tmp = "thepathofpython"

print(tmp.startswith('the'))   # True
print(tmp.startswith('zhe'))   # False

print(tmp.endswith("python"))   # True

5、Replace函數(shù)

tmp.replace(old, new, count)

替換一些特定的字符串,少量推薦。若有大量的字符要替換,推薦使用re正則,后面會有介紹。

replace函數(shù)用法例子:

tmp = "thepathofthepython"

# tmp.replace(old, new, count)

# 1、簡單替換
print(tmp.replace("the", "study"))  # studypathofstudypython

# 2、限制替換次數(shù)
print(tmp.replace("the", "study", 1))   # studypathofthepython  第三個count 限制替換的old的次數(shù)

6、strip函數(shù)

# 左右兩端
st.strip()
st.strip("name")

# 單獨(dú)去除一端空白/自定義字符
st.lstrip()
st.rstrip()

默認(rèn)去除字符串兩端的空白字符如:空格、制表符\t、換行符\n。當(dāng)然你也可以設(shè)置自定義的字符。

strip例子:

tmp = "\n \tthepathof\tpython\n\t"

# 1、默認(rèn)兩端去除空白字符
# 兩端從頭掃描 去除空白字符,一旦碰到非空表字符,就停止掃描。所以of和python的\t沒有被移除
print(tmp.strip())   # thepathof	python 

tmp2 = "tthepathof\tpython"
# 2、設(shè)置特定字符
# 重點(diǎn)  strip中的字符串參數(shù) ,每一個字符都作為要消除的,并不是整體。兩端掃描,遇到參數(shù)字符串中的任意字符就消除,若沒遇到就停止掃描。
print(tmp2.strip("thpen"))   # athof	pytho

# 3、單端掃描
print(tmp2.lstrip("thpen"))   # athof	python  從首端掃描
print(tmp2.rstrip("thpen"))   # tthepathof	pytho  從未端掃描


# 總結(jié):這點(diǎn)有點(diǎn)繞,與replace不同是,strip是從兩端掃描,只要遇到非消除字符就停止掃描,結(jié)束。

7、split函數(shù)

st.split(char, count) ,split函數(shù)用于分割字符串 ,變成列表.

split用法例子:

tmp = "*the*path*of*python"# 1、普通分割print(tmp.split("*"))   # ['', 'the', 'path', 'of', 'python']# 2、限制分割數(shù)量print(tmp.split("*", 3))   # ['', 'the', 'path', 'of*python']   第二個參數(shù)count,限制分割的數(shù)量?# 沒啥難點(diǎn),注意分割會產(chǎn)生n+1的字符串(n是要分割的字符串在原字符串中的數(shù)量)

8、join函數(shù)

join函數(shù)語法:

str.join(sequence)# sequence -- 要連接的元素序列。

這個函數(shù)簡直就是split函數(shù)的cp,一個分割,一個合并。

join函數(shù)例子:

tmp = ['', 'the', 'path', 'of', 'python']print("*".join(tmp))   # *the*path*of*python

9、is系列

和C++中的用法差不多,連函數(shù)名稱都一樣,果然同宗生????。

str.isalpha()   # 字符串的所有字符是否都是字母str.isalnum()   # 字符串的所有字符是否都是字母或數(shù)字str.isdecimal()  # 字符串的所有字符是否都是十進(jìn)制數(shù)字

例子:

tmp = "zan66"tmp2 = "zan"tmp3 = "666"print(tmp.isalnum())  # True 字符串的所有字符是否都是字母或數(shù)字print(tmp2.isalpha())  # True 字符串的所有字符是否都是字母print(tmp3.isdecimal())  # True 字符串的所有字符是否都是十進(jìn)制數(shù)字

10、count函數(shù)

主要與統(tǒng)計某個字符在字符串中出現(xiàn)的次數(shù)。

count函數(shù)例子:

tmp = "thepathofpython"print(tmp.count("t"))   # 3print(tmp.count("z"))   # 0

11、in/not in用法

一般用于列表中,判斷某成員是否在列表中。

例子:

tmp = ['the', 'path', 'of', 'python']print('python' in tmp)   # Trueprint('love' not in tmp)  # True

總結(jié):

肝的我背疼,歇歇,總算是寫完了。本來不想寫的,但是必須的堅持,每天必定要完成計劃。跟著計劃走才會有有進(jìn)步。

全程手敲,對知識的理解又加深了,明天繼續(xù)加油。

參考鏈接:

https://www.runoob.com/python/att-string-join.html

https://www.zwjjiaozhu.top

到此,相信大家對“Python進(jìn)制轉(zhuǎn)換和字符串切片的使用方法”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI