python字符串的定義、切片、格式化、函數

字符串html

  • 單引號、雙引號均可以定義字符串,三引號容許一個字符串跨多行
  • name1='Honey'  #單引號
    name2="Tom"    #雙引號
    html='''       #三引號
    <html>
    <head></head>
    <body>
        <p>你好,2018!</p>
    </body>
    </html>
    '''
    print(html,name1,name2)

切片python

  • 能夠使用中括號和下標來獲取單個字符或截取字符串,格式爲[]、[ : ]、[ : : ]
  • str="569809857@qq.com";
    print(str[0]);#第一個字符
    print(len(str));#獲取str的長度
    print(str[15]);#獲取最後一個字符
    print(str[len(str)-1]);#獲取最後一個字符
    print(str[-1]);#獲取最後一個字符
    print(str[:5]);#表示截取從下標0開始,到下標4結束(不包含5)
    print(str[:]);#表示獲取全部
    print(str[5:]);#表示截取從下標5開始,到結尾結束
    print(str[-5:]);#"-"號表示從後往前數,表示截取從下標-5開始,到結尾結束
    print(str[-5:-2]);#表示截取從下標-5開始,到下標-2結束(不包含-2)
    print(str[::]);#表示獲取全部
    print(str[-1:-5:-1]);#表示從下標-1開始,倒數到-5結束
    print(str[::-1]);#表示倒敘

字符串一些用法git

  • in:判斷是否在些字符串中存在 bool
  •  not in:判斷是否不在此字符串中
  •  r/R:原樣輸出字符串,如一些特殊字符串"\n",'\t'
  • #字符串一些用法:
    email="hang@bdqn.cn";
    print("an in email:"+ str('an' in email));#in 用於判斷某些字符是否存在在某個值內
    print("at not in email:"+ str('at' not in email));#not in 用於判斷某些字符是否不存在在某個值內
    # r/R:原樣輸出字符串,如一些特殊字符串"\n",'\t'
    print("hello\tpython");#\t 表明一個製表符(空格)
    print(R"\n 換行符");

字符串格式化api

  • %s格式化字符串、%d 格式化整數、%f 浮點數、%2f 保留兩位小數且四捨五入
  • .format()格式化:若是以name開頭,其後的變量均需以鍵值的形式出現
  • #字符串格式化:%s字符 %d整數 %f浮點型 %.2f保留兩位小數且四捨五入
    print("name:%s"%'tom');
    print("name:%s age:%d money:%.2f"%('tom',33,90.456))
    #.format()格式化:若是以name開頭,其後的變量均需以鍵值的形式出現
    print("name:{0},age:{1}".format("趙博",25));
    print("name:{name} age:{age}".format(name="趙博",age=25));
    #想輸出{}則輸出兩個{{}}、想輸出{0}則輸出兩個{{}}
    print("name={{0}}".format("tom"));
    print("name={{{0}}}".format("tom"));

字符串中的函數函數

  • #字符串中的函數:
    word="Hello python";
    print(len(word));#字符串長度
    #count(str,start=0,end=len(word));#用於查詢字符串中某個值出現的次數
    print("字符串中O的次數:{0}".format(word.count("on"),0,7));#0,7的含義是從0開始,到7結束,規定查找範圍
    print(word.capitalize());#將字符串中的第一個字符轉換爲大寫
    print(word.title());#將每一單詞首字母大寫
    #find() vs index():若是找不到,index()產生異常,find()則返回-1
    print("h in word of index:{0}".format( word.find('q')));
    #rfind 從右面開始找 beg-end 指定一個範圍
    print("h in word of index:{0}".format( word.rfind('h',-13,-1)));
    #index():沒有則拋出異常。
    print("h in word of index:{0}".format( word.index('h')));
    #replace():mystr.replace("ll","LL"),可是原字符串不會被改變
    print(word.replace("hello","nihao:"));
    word=word.replace("hello","nihao:");
    print(word);
    #split(str="", num=string.count(str));若是split()什麼都不寫,就是將經過\t和空格進行拆分 num=分割幾回
    s=word.split("l",3);
    print(s);

小練習:驗證郵箱是否合法,要求:@在.的前邊,若是合法獲取用戶名部分orm

  • email=input("請輸入您的郵箱:");
    a=email.find("@");
    if a==-1:
     print("郵箱錯誤 沒有包含 @ ");
    elif(a==0):
     print("郵箱錯誤 @不能出如今第一位 ");
    elif(email.find(".")==-1):
     print("郵箱錯誤 沒有包含 . ");
    elif(email.find(".")<email.find("@")):
     print("郵箱錯誤  . 的位置應該在@ 後面。。 ");
    else:
     print("郵箱合法 用戶名是{0}".format( email[:a] ));

驗證以XX開頭htm

  • #驗證以XX開頭
    phone="15510000000@163.com";
    print(phone.startswith("155"));
    print(phone.endswith("1040"));
    print(phone.upper().lower());
    name="  liSi";
    #字符串輸出時怎樣對齊,括號裏寫大小 達到一個新的高度 以什麼填充
    name=name.ljust(10," ");
    print(name);
    #strip(),lstrip(),rstrip()#去除空格
    print(name.strip());#去除空格
    print(name.lstrip());#去除左空格
    print(name.rstrip());#去除右空格
    name="hello-python-world";
    print(name.split("-"));#拆分
    print(name.partition(" "));#partition();mystr.partition("xxx")以此字符串爲節點拆分
    # 返回頭、分割符、尾三部分 返回頭、尾兩個空元素的3個元組。
    name="hellopython\nworld說的";
    #splitlines(bool keepends):按照換行符進行拆分,
    print(name.splitlines(True)[0]);
    # isalpha():判斷字符串是不是字母 true false
    print(name.isalpha())
    # isdigit():判斷字符串是不是數字 true false
    name="33890的見解";
    #isdigit():判斷字符串是不是全是數字 true false
    print(name.isdigit())
    # isalnum():判斷字符串是不是數字和字母 true false
    name="發abc123";
    print(name.isalnum())
    #join(sequence): 將列表組成新的字符串,
    # mystr.join(" sequence") sequence 表示要拼接列表 mystr表示鏈接項
    s="-";
    word=("a",'b','c');
    print(s.join(word))
相關文章
相關標籤/搜索