二、字符串類型

字符串類型 str

用途:存描述性信息的數據,如我的簡介,姓名等python

定義方式git

  1. 單引號 ' '
  2. 雙引號 " "
  3. 三引號 ''' ''' 或者""" """

三種方式沒有區別,可是同一級引號不能混用,字符串內套字符串,需用不一樣引號code

字符串前面加個小寫的r,表示轉義,將字符串內有特殊意義的字符,所有轉成普通字符串orm

用引號引發的部分,所有轉成字符串對象

print("不換行\r","打印")# >>>打印
print(r"不換行\r")# >>>不換行\r

內置方法索引

1.索引取值(正向從0開始,反向從-1開始),只能取,不能存ip

s1 = "15,4'shen',[2]"
print(s1[2])# 正向取>>>,
print(s1[-3])# 反向取>>>[

2.索引切片 :截取字符串中的一小段字符,(顧頭不顧尾)第三個爲步長unicode

s1 = "hello,world"
print(s1[0:5])
print(s1[:5])# 取前5個數
print(s1[::-1])# 反向取
print(s1[-5:])# 取後五個數
print(s1[0:7:2])# 以步長爲2取

3.成員運算:in 和 not in 返回的是布爾值字符串

s1 = "hello,world"
print("o"in s1)# >>>True
print("e" not in s1)# >>>False

4..strip():去除字符串左右兩邊指定的字符input

s1 = input(">>>").strip()# 去除字符串兩邊的空格
s2 = input(">>>").strip("*")# 去除輸入兩邊的*
s3 = "***shen****"
print(s3.strip("*"))# 去除兩邊的*

5.len():獲取字符串中字符的個數,列表中,值的個數,字典中鍵值對個數

s1 = "hello world"
print(len(s1))# >>>11(空格也算)

6..split():切分:對字符串按照指定的分隔符進行從左往右切分,能夠指定切分次數,返回的是一個列表

s1 = "python hello world"
print(s1.split())
s1 = "python|hello|world"
print(s1.split("|"))
print(s1.split("|",1))# 指定切分次數,從左往右切
s1 = "python\hello\world"
print(s1.split("\\"))# 需兩個\\前面一個爲轉義\特殊意義的,python中\\表明自身\

7.for 變量 in 可迭代對象:循環取值:字符串、列表、字典中能索引取值的

s1 = "hello world"
for i in s1:
    print(i)

8..rstrip()/lstrip():去除字符串右邊/左邊的指定字符

s3 = "***shen****"
print(s3.strip("*"))
print(s3.rstrip("*"))
print(s3.lstrip("*"))

9..lower()/.upper():轉換大小寫

用於寫登陸驗證碼時可以使用

s1 = "Hello WorlD"
print(s1.lower())# 所有字母轉成小寫
print(s1.upper())# 所有字母轉成大寫

10..startswith()/.endswith():判斷是否以。。字符開頭或者以。。字符結尾,返回的是布爾值

s1 = "hello world"
print(s1.startswith("h"))
print(s1.endswith("ld"))

11.字符串格式化,%s,%d,.format(),f-string

  • %s和%d

%s能夠接收任意字符,%d只能接收數字類型而且輸出轉換成整型

name = input("輸入名字:")
age = input("輸入年齡:")
#age = int(age)#%d只能接收數字類型,故須要轉換成數字類型
age = eval(age)#%d只能接收數字類型,故須要轉換成數字類型
print("my name is %s" % name)
print("my name is %s , my age is %d" % (name, age))
print("my name is %s , my age is %s" % (name, age))
  • .format()

三種玩法

  1. 「{}{}」.format(xxx,yyy)#按照順序往花括號裏放值
  2. "{1}".format(xxx,yyy,zzz)#按照索引往花括號裏放值
  3. "{name}".format(name=xxx)#指定放值
name = "shen"
age = 18
hobby = "study"
#按順序往{}裏放值
print("個人名字是{}個人年齡{}".format(name, age, hobby))
#按索引放值
print("個人名字是{0}個人年齡{2}".format(name, hobby, age))
#按指定放值
print("個人名字是{mz}個人年齡{nn}".format(mz=name, nn=age))
  • f-string (python3.6版本以後纔有的功能)

f"{xxx}"

name = "shen"
age = 18
habby = "study"
print(f"個人名字是{name},個人年齡是:{age}個人愛好是{hobby}")

12..rslipt():切分,從右往左切,能夠指定切分次數,返回列表

s1 = "python|hello|world"
print(s1.split("|",1))
print(s1.rsplit("|"))
print(s1.rsplit("|",1))

13..join():按照分隔符將加入純字符串組成的可迭代對象中元素拼成字符串

s1 = ["1","8","shen"]
print("*".join(s1))# 將*加入到純字符串列表中拼接成字符串
s1 = {"name":"shen","age":18}
print("$".join(s1))#字典拼接的是key關鍵字
s1 = "sean"
print("$".join(s1))# 字符串按照每個字符中間插入拼成新的字符串

14..replace():將字符串中字符按照舊值,新值進行替換

s1 = "hello world"
print(s1.replace("hello", "hi"))# >>>hi world
print(s1)# >>>"hello world"

15..isdigit():判斷當前字符串中的數據,是否爲存數字(整數),返回是布爾值

識別bytes和unicode
s1 ="123"
s2 = "123,321"
print(s1.isdigit())# >>>True
print(s2.isdigit())# >>>False

16..find()、.index():查找字符在字符串中的索引位置

s1 = "hello"
print(s1.find("l",0,2))# >>>找不到返回的是-1
print(s1.find("e"))# >>>找到直接返回從左到右第一個索引位置
print(s1.index("l"),1,2)# >>>找不到會報錯
print(s1.index("e"))# >>>找到返回從左到右第一個索引值

17..count():統計字符在字符串中的個數

s1 = "hello"
print(s1.count("l",0,-1))# >>>2

18.字符串拼接

只能進行相加和相乘

s1 = "hello"
s2 = 'world'
print(s1 + s2)# >>>helloworld
print(s1 * 2)# >>>hellohello

能夠索引取值,有序,值變id變因此是不可變類型,只能存一個值

相關文章
相關標籤/搜索