欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python學(xué)習(xí)之字符串函數(shù)使用詳解

 更新時(shí)間:2021年12月18日 10:59:48   作者:滌生手記大數(shù)據(jù)  
Python的友好在于提供了非常好強(qiáng)大的功能函數(shù)模塊,對(duì)于字符串的使用,同樣提供許多簡(jiǎn)單便捷的字符串函數(shù)。Python 字符串自帶了很多有用的函數(shù),快來(lái)跟隨小編學(xué)習(xí)一下這些函數(shù)的應(yīng)用詳解吧

Python的友好在于提供了非常好強(qiáng)大的功能函數(shù)模塊,對(duì)于字符串的使用,同樣提供許多簡(jiǎn)單便捷的字符串函數(shù)。Python 字符串自帶了很多有用的函數(shù),在字符串函數(shù)之前先介紹一個(gè)非常實(shí)用的dir()內(nèi)置函數(shù),因?yàn)閷?duì)每一個(gè)初學(xué)者還是大佬級(jí)別的python程序員,都不能完全記住所有方法。而該函數(shù)可以查看所有這些函數(shù),可調(diào)用 dir 并將參數(shù)指定為任何字符串(如 dir("")),其返回值包括字符串可以使用的變量、方法和定義的類(lèi)型。

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

其也提供對(duì)功能函數(shù)的查詢(xún),比如經(jīng)常使用的math()函數(shù),所以無(wú)論是對(duì)后面所闡述的字符串函數(shù)還是其它函數(shù),我們都可以用dir()內(nèi)置函數(shù)來(lái)了解其它函數(shù)的類(lèi)型、定義等等。下面所講述的字符串函數(shù)會(huì)區(qū)分其不同功能來(lái)分開(kāi)介紹,其函數(shù)的實(shí)現(xiàn)功能大致包含以下六個(gè)功能:索引特殊字符串、設(shè)置字符格式、修改字符串大小寫(xiě)、查看字符串特定格式、替換特定字符串、拆分特定字符串。

1 搜索字符串函數(shù)

假如我們需要在一段字符串中查找特定的子串時(shí),通常涉及以下幾個(gè)函數(shù):

雖然這幾個(gè)函數(shù)都實(shí)現(xiàn)了搜索特定字符串的功能,但還是包含一些區(qū)別的:

1. 函數(shù) index 和 find 之間的差別在于沒(méi)有找到指定子串時(shí)的情形 ,示例如下:

函數(shù)index會(huì)拋出異常 ValueError,而如果沒(méi)有找到指定的子串,函數(shù)find將返回 -1。

2.字符串搜索函數(shù)通常從左往右(從開(kāi)頭往末尾)搜索,但以 r 打頭的函數(shù)從右往左搜索。例如:

可以看到, 函數(shù) find 和 index 返回傳入字符串第一次出現(xiàn)時(shí)的起始位置索引,而 rfind 和 rindex 返回傳入字符串最后一次出現(xiàn)時(shí)的起始位置索引。

2 設(shè)置字符串格式函數(shù)

下表列出了一些設(shè)置字符串格式的函數(shù):

center(),ljust()和rjust()函數(shù)在日常用的使用很少,反倒是Python2.6以后的format()受到了廣大字符串處理者的使用。使用format函數(shù)需要給它提供變量或者值,一個(gè)簡(jiǎn)單的例子:字符串中的 {0} 和 {1} 引用 format 的參數(shù):它們將被替換為相應(yīng)字符串或變量的值。也可以使用關(guān)鍵字參數(shù)的名稱(chēng),

>>> '{0} like eat {1}'.format('Wangzi','banana')
'Wangzi like eat banana'
>>> '{who} {id} is Linda'.format(who='My',id='name')
'My name is Linda'

這是一些比較簡(jiǎn)單的例子,還有更多細(xì)節(jié)方面的使用可以參考string — Common string operations — Python 3.10.1 documentation。下面舉一個(gè)在抓取jmx數(shù)值的實(shí)際使用案例。在大數(shù)據(jù)組件使用過(guò)程中,我們通常抓取jmx接口的數(shù)據(jù)獲取詳情,然后將數(shù)據(jù)接到相關(guān)的展示系統(tǒng)中來(lái)監(jiān)控和展示:例如我們需要抓取一個(gè)隊(duì)列任務(wù)扥id,使用者,運(yùn)行時(shí)間等指標(biāo)值(此處IP做了處理,有問(wèn)題可以咨詢(xún)博主)。

import json
import urllib3
import re
 
def get_ative_resourcemanager(rm1, rm2):
    http = urllib3.PoolManager()
    rm_list = [rm1, rm2]
    for resourcemanager in rm_list:
        url = 'http://{0}/ws/v1/cluster/info'.format(resourcemanager)
        response = http.request('GET', url)
        data = json.loads(response.data)
        ha_state = data['clusterInfo']['haState']
        if ha_state == "ACTIVE":
            return resourcemanager
'''Conversion time function'''
# 毫秒級(jí)轉(zhuǎn)化為hour/minutes
def conver_time(allTime):
 
    hours = (allTime/(60*60*1000))
    return hours
 
'''get active resourcemanager yarn application metrics'''
def get_queue_metrics():
    active_resoucemanager = get_ative_resourcemanager('ip1:port',
                                                      'ip2:port')
    http = urllib3.PoolManager()
    url = 'http://{0}/ws/v1/cluster/apps'.format(active_resoucemanager)
    response = http.request('GET', url)
    data = json.loads(response.data).get('apps').get('app')
    length = len(data)
    for i in range(length):
        '''判斷application狀態(tài)'''
        application_state = data[i]['state']
        queue = data[i]['queue']
        queue_name = re.findall(r'root.*',queue,re.IGNORECASE)
        #print(mobdi_queue)
        if (application_state == 'RUNNING' or application_state == 'ACCEPTED'):
            if queue_name:
                id_metric = data[i]['id']
                user_metric = data[i]['user']
                queue_metrics = data[i]['queue']
                elapsed_time = data[i]['elapsedTime']
                runtime_metric = conver_time(elapsed_time)
                print(str(id_metric) + " " + str(user_metric) + " " + str(queue_metrics) + " " + str(runtime_metric))
 
if __name__ == '__main__':
    ''''''
    get_queue_metrics()

執(zhí)行結(jié)果:

3 改變字符串大小寫(xiě)函數(shù)

提供改變字符串大小寫(xiě)的函數(shù)有以下五個(gè)函數(shù):

Python 提供了各種修改字母大小寫(xiě)的函數(shù),如上表。但注意標(biāo)紅的地方,Python并沒(méi)有修改字符串,而是在這幾個(gè)函數(shù)中,創(chuàng)建并返回一個(gè)新字符串,并沒(méi)有真正修改string源字符串。

4 選定字符串函數(shù)

選定字符串函數(shù)通常用于刪除字符串開(kāi)頭或者末尾多余的字符串,具體有striip,lstrip和rstrip三個(gè)函數(shù)。

1.如果不加字符串,將刪除空白字符串:

2.刪除字符串情況:

5 拆分字符串函數(shù)

Python提供了以下幾個(gè)拆分字符串的函數(shù),主要將字符串拆分成多個(gè)子串。

注意示例中存在string和string1兩個(gè)字符串,函數(shù) partition 和 rpartition 將字符串拆分為3部分,這兩個(gè)函數(shù)總是返回一個(gè)這樣的值:由3個(gè)字符串組成, 形式為 (head, sep, tail) ;而函數(shù) split 以指定字符串為分隔符,將 字符串劃分為一系列子串,返回一個(gè)字符串列表,列表總是分別以 [ 和 ] 打頭和結(jié)尾,并用逗號(hào)分隔元素。splitlines函數(shù)按照行('\r', '\r\n', \n')分隔,返回一個(gè)包含各行作為元素的列表,使用很少,而且會(huì)自行判斷字符串是否包含換行符。

6 替換字符串函數(shù)

Python內(nèi)置兩個(gè)字符串替換函數(shù),包括:

到此這篇關(guān)于Python學(xué)習(xí)之字符串函數(shù)使用詳解的文章就介紹到這了,更多相關(guān)Python字符串函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • opencv python簡(jiǎn)易文檔之圖像處理算法

    opencv python簡(jiǎn)易文檔之圖像處理算法

    OpenCV是一個(gè)開(kāi)源庫(kù),包含了許多計(jì)算機(jī)視覺(jué)算法,它在計(jì)算機(jī)視覺(jué)和圖像處理中起著重要作用,用于實(shí)時(shí)操作,其效率足以滿(mǎn)足工業(yè)上的要求,這篇文章主要給大家介紹了關(guān)于opencv python簡(jiǎn)易文檔之圖像處理算法的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • python?遠(yuǎn)程執(zhí)行命令的詳細(xì)代碼

    python?遠(yuǎn)程執(zhí)行命令的詳細(xì)代碼

    有時(shí)會(huì)需要在遠(yuǎn)程的機(jī)器上執(zhí)行一個(gè)命令,并獲得其返回結(jié)果。對(duì)于這種情況,python 可以很容易的實(shí)現(xiàn)。今天通過(guò)實(shí)例代碼介紹下python?遠(yuǎn)程執(zhí)行命令的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2022-02-02
  • Anaconda+pycharm安裝及環(huán)境配置全過(guò)程

    Anaconda+pycharm安裝及環(huán)境配置全過(guò)程

    在使用pyCharm進(jìn)行開(kāi)發(fā)時(shí),需要用到Anaconda創(chuàng)建的環(huán)境,下面這篇文章主要給大家介紹了關(guān)于Anaconda+pycharm安裝及環(huán)境配置的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • python3 如何解壓縮.gz文件

    python3 如何解壓縮.gz文件

    這篇文章主要介紹了python3 如何解壓縮.gz文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Python中os模塊功能與用法詳解

    Python中os模塊功能與用法詳解

    這篇文章主要介紹了Python中os模塊功能與用法,總結(jié)分析了Python os模塊基本功能、內(nèi)置函數(shù)、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2020-02-02
  • Python selenium 父子、兄弟、相鄰節(jié)點(diǎn)定位方式詳解

    Python selenium 父子、兄弟、相鄰節(jié)點(diǎn)定位方式詳解

    這篇文章主要介紹了Python selenium 父子、兄弟、相鄰節(jié)點(diǎn)定位方式詳解的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-09-09
  • python palywright庫(kù)基本使用

    python palywright庫(kù)基本使用

    這篇文章主要介紹了python palywright庫(kù)的基本使用,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-01-01
  • Python帶你從淺入深探究Tuple(基礎(chǔ)篇)

    Python帶你從淺入深探究Tuple(基礎(chǔ)篇)

    大家都知道Python中的元組容器序列(tuple)與列表容器序列(list)有很多相同之處,他們雖然都可以存儲(chǔ)任意類(lèi)型的數(shù)據(jù),但是一個(gè)元組定義好之后就不能夠再進(jìn)行修改,對(duì)Python Tuple相關(guān)知識(shí)感興趣的朋友一起看看吧
    2021-05-05
  • Python獲取運(yùn)行目錄與當(dāng)前腳本目錄的方法

    Python獲取運(yùn)行目錄與當(dāng)前腳本目錄的方法

    這篇文章主要介紹了Python獲取運(yùn)行目錄與當(dāng)前腳本目錄的方法,涉及Python目錄操作與系統(tǒng)相關(guān)變量的獲取技巧,需要的朋友可以參考下
    2015-06-06
  • 如何利用Python合并兩張圖片

    如何利用Python合并兩張圖片

    在Python中可以使用PIL庫(kù)(Python Imaging Library)來(lái)合并兩張圖片,這篇文章主要給大家介紹了關(guān)于如何利用Python合并兩張圖片的相關(guān)資料,文中給了詳細(xì)的代碼示例,需要的朋友可以參考下
    2024-03-03

最新評(píng)論