zoukankan      html  css  js  c++  java
  • Python开发 基礎知識 3.類別&方法 (bool & str) (未完待續)

    類別

    可使用type()查看

    內建 [ 布爾:bool (Boolen)  字串:str (String)  數字:int (Integer)  小數:float 列表:list  元祖:tuple  字典:dict ]

    亦可用class宣告新類別

    布爾值  (用於比較、邏輯、成員判定之運算)

    以 1=True,  0=False 紀錄於記憶體中

    資料判定上,有東西 or 判定為真=True,沒東西( "", [ ], ( ), { }, 0 )or判定為假=False

    有邏輯運算 ( and   or   not)

    有關係符 ( < (小於)   <= (小於等於)   == (等於)  >= (大於等於)  > (大於)  != or <> (不等於) )

    字串 (用於算術、賦值運算)

    常用之方法: join  split  strip  find  upper  lower  replace 

    索引與獲取   test [位置] 

    片段   test [ 起始 : 終點之前]

    長度   len( 字符串 )

    大小写转换

    str.capitalize()  首字母大寫

    str.casefold()  轉為對應之小寫(含符號式小寫)

    str.sapcase()

    str.lower()  全英文小寫  

    str.upper()  全英文大寫  

    str.title()  每個字首都轉大寫

    def capitalize(self, *args, **kwargs):
    def lower(self, *args, **kwargs):
    def upper(self, *args, **kwargs):
    def casefold(self, *args, **kwargs):
    def swapcase(self, *args, **kwargs):
    def title()(self, *args, **kwargs):

    判定系列

    str.islower()  是否為全英文小寫  str.isuuper  是否為全英文大寫

    str.isalnum()  是否只為數字or字符(無空白)  str.isalpha()  是否只為字符

    str.isdicimal()  是否為十進制的數字  str.isdigit()  是否為數字  str.isnumeric()  是否為數字(含中文數字)

    str.isidentifier()  是否為字母、數字、下划線

    str.isprintable()  是否有不可見的功能字符(ex: , 等)

    str.isspace()  是否全是空白格

    str.istitle()  是否字首都為大寫

    def isupper(self, *args, **kwargs):
    def islower(self, *args, **kwargs):
    def isalnum(self, *args, **kwargs):
    def isalpha(self, *args, **kwargs):def isdecimal(self, *args, **kwargs): def isdigit(self, *args, **kwargs): def isidentifier(self, *args, **kwargs): def isnumeric(self, *args, **kwargs): def isprintable(self, *args, **kwargs): def isspace(self, *args, **kwargs): def istitle(self, *args, **kwargs):

    字符串格式输出

    str.Center(  width[, fillchar]  )  設定寬度並將物件置中,其於以填充物填補,若無標示則默認為space

    str.ljust( width[, fillchar]  )  設定寬度並將物件置左,其於以填充物填補,若無標示則默認為space

    str.rjust(  width[, fillchar]  )  設定寬度並將物件置右,其於以填充物填補,若無標示則默認為space

    str.zfill(  width  )  設定寬度並將物件左側以0塞滿

    def center(self, *args, **kwargs):
    def ljust(self, *args, **kwargs):
    def rjust(self, *args, **kwargs):
    def zfill(self, *args, **kwargs):

      

    str.format(*args, **kwargs)

    def format(self, *args, **kwargs):

    # default arguments print("Hello {}, your balance is {}.".format("Adam", 230.2346)) # positional arguments print("Hello {0}, your balance is {1}.".format("Adam", 230.2346)) # keyword arguments print("Hello {name}, your balance is {blc}.".format(name="Adam", blc=230.2346)) # mixed arguments print("Hello {0}, your balance is {blc}.".format("Adam", blc=230.2346))

    #dictionry
    print("Hello {0}, your balance is {blc}.".format(**{"Adam", blc=230.2346})

    亦可作為數值格式調整

    : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填

    ^, <, > 分别是居中、左对齐、右对齐(默認),后面带宽度 (ex {:^10d} )

    .nf 表示至小數下第n位 

    正数前显示 +,负数前显示 -  (空格)表示在正数前加空格 (ex: {:+.2f} )

    b、d、o、x 分别是二进制、十进制、八进制、十六进制

    # integer numbers with minimum width
    print("{:5d}".format(12))
    # width doesn't work for numbers longer than padding
    print("{:2d}".format(1234))
    # padding for float numbers
    print("{:8.3f}".format(12.2346))
    # integer numbers with minimum width filled with zeros
    print("{:05d}".format(12))
    # padding for float numbers filled with zeros
    print("{:08.3f}".format(12.2346))

    12
    1234
    12.235
    00012
    0012.235

    str.format_map(mapping) mapping 是一个字典对象

    def format_map(self, mapping):

    point = {'x':4,'y':-5} print('{x} {y}'.format_map(point))

    str.expandtabs(tabsize=8)

    用指定的空格替代横向制表符,使得相邻字符串之间的间距保持在指定的空格数以内,可搭配 斷句、 換行使用。

    def expandtabs(self, *args, **kwargs):

    字符串搜索定位

    str.count( "目標"[, 起始=none, 結束=none] )  尋找子序列的出現次數,不可為int(數字)  左側依序以0開始,往右隨之遞增,最右側起始為 -1,往左隨之遞減 (end位置數值不包含本身) 

    def count(self, sub, start=None, end=None) 

    str,endwith( "目標"[, 起始=none, 結束=none] )  是否以目標結尾,不可為int(數字)  左側依序以0開始,往右隨之遞增,最右側起始為 -1,往左隨之遞減 (end位置數值不包含本身)  

    str.startwith( "目標"[, 起始=none, 結束=none] )  是否以目標開頭,不可為int(數字)  左側依序以0開始,往右隨之遞增,最右側起始為 -1,往左隨之遞減 (end位置數值不包含本身)  

    def endswith(self, suffix, start=None, end=None):
    def startswith(self, prefix, start=None, end=None): 

    str.find( "目標"[, 起始=none, 結束=none] )  從左側找起,目標為第幾個,不可為int(數字)  左側依序以0開始,往右隨之遞增,最右側起始為 -1,往左隨之遞減 (end位置數值不包含本身,若無發現目標則以-1表示)

    str.rfind( "目標"[, 起始=none, 結束=none] )  從右側找起,目標為第幾個,不可為int(數字  左側依序以0開始,往右隨之遞增,最右側起始為 -1,往左隨之遞減 (end位置數值不包含本身,若無發現目標則以-1表示)  

    def find(self, sub, start=None, end=None):
    def rfind(self, sub, start=None, end=None):  

    str.index( "目標"[, 起始=none, 結束=none] )  約等於find,但無發現時程式無法執行

    str.rindex( "目標"[, 起始=none, 結束=none] )  約等於rfind,但無發現時程式無法執行

    def index(self, sub, start=None, end=None):
    def rindex(self, sub, start=None, end=None): 
    

      

    字符串搜索与替换

    str.replace(old, new[, count])  count默認為全部

    def replace(self, *args, **kwargs):
    

    str.strip([chars])  依序從兩端去除指定物內的子集物,直到無法刪除則停止,chars值若為none則去除所有空白格及 、

    str.lstrip([chars])   依序從左側去除指定物內的子集物,直到無法刪除則停止,chars值若為none則去除所有空白格及 、

    str.rstrip([chars])  依序從右側去除指定物內的子集物,直到無法刪除則停止,chars值若為none則去除所有空白格及 、

    def strip(self, *args, **kwargs):
    def lstrip(self, *args, **kwargs): 
    def rstrip(self, *args, **kwargs):

    static str.maketrans(x[, y[, z]])  對應表

    str.translate(table)  制換

    def maketrans(self, *args, **kwargs):
    def translate(self, *args, **kwargs):

    maketrans可以為直接以(  )指定,但前後對應表需具有相同字元數,亦可用字典帶入參數

    a = 'dobi is a dog'
    table = str.maketrans('dobi', 'alph')
    a.translate(table)
    # 'alph hs a alg'
    (d=>a o=>l b=>p i =>h) table = str.maketrans('dobi', 'alph', 'o') a.translate(table) # 'aph hs a ag'
    (第三個參數,表示將原先的o,改對應成none)

    字符串的联合与分割

    str.partition(sep)  從左側找到第一個符合的目標後,以目標作前後切割,獲得三份資料

    str.rpartition(sep)  從右側找到第一個符合的目標後,以目標作前後切割,獲得三份資料

    str.split(sep=None, maxsplit=-1)  從左側找到第一個符合的目標後,將目標切除,獲得兩份資料,目標若無指定則默認為全數切分

    str.rsplit(sep=None, maxsplit=-1)  從右側找到第一個符合的目標後,將目標切除,獲得兩份資料,目標若無指定則默認為全數切分

    str.splitlines([keepends])  從左側起找行界符,如果keepend為True則保留,若無指定則默認將行界符切除

    def partition(self, *args, **kwargs):
    def rpartition(self, *args, **kwargs):
    def split(self, *args, **kwargs):
    def
    rsplit(self, *args, **kwargs): def splitlines(self, *args, **kwargs):
    >>> 'ab c
    
    de fg
    kl
    '.splitlines()
    ['ab c', '', 'de fg', 'kl']
    >>> 'ab c
    
    de fg
    kl
    '.splitlines(keepends=True)
    ['ab c
    ', '
    ', 'de fg
    ', 'kl
    ']

    str.join(iterable) 用指定的字符串,连接元素为字符串的可迭代对象。若為字符串,則每個字符間均插入,若為 "abc" , "123" 等()[]{}集合,則將子集作連結 abc_123

    def join(self, ab=None, pq=None, rs=None):
    

    其他

    str.encode(encoding=”utf-8″, errors=”strict”)

    def encode(self, *args, **kwargs):

      

  • 相关阅读:
    Android开发之Sqlite的使用
    ZOJ 3607 Lazier Salesgirl
    ZOJ 3769 Diablo III
    ZOJ 2856 Happy Life
    Ural 1119 Metro
    Ural 1146 Maximum Sum
    HDU 1003 Max Sum
    HDU 1160 FatMouse's Speed
    Ural 1073 Square Country
    Ural 1260 Nudnik Photographer
  • 原文地址:https://www.cnblogs.com/pyleu1028/p/9882359.html
Copyright © 2011-2022 走看看