阿布云

你所需要的,不仅仅是一个好用的代理。

Python的基础函数类型(一)

阿布云 发表于

5.png

1.字符串

类:str

方法:选中str,按住command(ctrl)+左键跳转至对应的方法

  • 创建

a = "hexin"a = str('hexin')

  • 转换

age = 19new_age = str(age)

  • 字符串的拼接

name = 'hexin'

gender = '女'

new_str = name + gender

print(new_str)

  • 字符串格式化 占位符

# name = '我叫李杰,性别:%s,我今年%s岁,我在说谎!'

# new_str = name %('男',19,)

# print(new_str)

name = '我叫李杰,性别:%s,我今年%s岁,我在说谎!' %('男',19,)

print(name)

判断子序列是否在其中

content = "123 前几天去泰国玩姑娘,一不小心染上了病,他的内心活动是,真该多来几个"

if "前几天去" in content:print('包含敏感字符')else:print(content)

  • 移除空白 strip 

a = '   he xin  'print(a)

new_a=a.strip()    #左右

new_a1=a.lstrip()       #左

new_a2=a.rstrip()  #右print(new_a)print(new_a1)print(new_a2)

输出

   he xin  

he xin

he xin  

   he xin

  • 分割

user_info = "ex|in s123 9"

v1 = user_info.split('|')

v2 = user_info.split('|',1)

v3 = user_info.rsplit(' ',1)print(v1)print(v2)print(v3)

输出

['ex', 'in s123 9']

['ex', 'in s123 9']

['ex|in s123', '9']

  • 长度    len()

user_info = "ex|in s123 9"

v1 = len(user_info)

print(v1)

输出

  • 索引

val = "exin"

v = val[0]

print(v)

val = input('>>>')

i = 0while i < len(val):

    print(val[i])

    i += 1

输出

e

>>>iiiiii

  • 切片

name = '我叫李杰,性别我今年岁,我在说谎!'

print(name[0])

print(name[0:2])

print(name[5:9])

print(name[5:])

print(name[5:-2])

print(name[-2:])

输出

我叫

性别我今

性别我今年岁,我在说谎!

性别我今年岁,我在说

谎!

字符串常用方法归纳如下:

  • 1)capitalize

功能:实现字符串首字母大写,自身不变,会生成一个新的值

例子:

1 #!/usr/bin/env python

2 # -*- coding:utf-8 -*-

3 name = 'hexin'

4 v = name.capitalize() #调用str类,执行其中capitalize的方法

5 print(v)

输出:

hexin

Hexin

  • 2)casefold

功能:将所有大写变成小写,另外支持多门语言变化

例子:

name = 'HexIn'2 v = name.casefold()3 print(name)4 print(v)

输出:

HexIn

hexin

  • 3)lower,upper

功能:

lower:将所有的大写变小写,局限英文

upper:将所有小写变大写

 lower

例子:

name = 'HeXin'2 v = name.lower()3 print(name)4 print(v)

结果:

HeXin

hexin

  • 4)center

功能:文本居中,空白处填充字符

参数1:表示总长度;参数2:空白处填充的字符(长度为1)

 center

例子:

name = 'HeXin'2 v = name.center(20,'*')3 print(name)4 print(v)

输出:

HeXin*******HeXin********

  • 5)count

功能:表示要查找的子序列在字符串中出现的次数

参数1:要查找的值(子序列);参数2:起始位置(索引);参数3:结束位置(索引)

 count

例子:

1 name = 'HeXinddaklfjsl;dfjcnljdajsflajdf'2 v = name.count('a')3 i = name.count('a',0,15)4 print(name)5 print(v)6 print(i)

输出:

  • 6)endswith

功能:判断是否以xx结尾

参数1:判断值;参数2,3:起始和结束的位置(个数)

 endswith

例子:

name = 'HeXinddaklfjsl;dfjcnljdajsflajdf'2 v = name.endswith('df')3 i = name.endswith('n',0,5)4 print(name)5 print(v)6 print(i)

输出:

HeXinddaklfjsl;dfjcnljdajsflajdfTrueTrue

  • 7)expandtabs

功能:找到制表符\t,进行替换(包含前面的值)

expandtabs

例子:

1 name = "al\te\tx\nalex\tuu\tkkk"

2 v = name.expandtabs(5)  #包含前面的值,5个长度

3 print(v)

输出:

al   e    x

alex uu   kkk

  • 8)find

功能:找到指定子序列的索引位置,不存在返回-1

 find

例子:

1 name = 'hexin'2 v = name.find('0')3 i = name.find('x')4 print(v)5 print(i)

输出:

-1

2

  • 9)format,%s,format_map

功能:字符串格式化

 format

format_map

例子:

 1 tpl1 = "我是:%s;年龄:%s;性别:%s" %( 'hexin',18,'man')

 2 print(tpl1)

 3 

 4 tpl2 = "我是:{0};年龄:{1};性别:{2}"

 5 v2 = tpl2.format("李杰",19,'都行')

 6 print(v2)

 7 

 8 tpl3 = "我是:{name};年龄:{age};性别:{gender}"

 9 v3 = tpl3.format(name='李杰',age=19,gender='随意')10 print(v3)11 12 tpl4 = "我是:{name};年龄:{age};性别:{gender}"13 v4 = tpl4.format_map({'name':"李杰",'age':19,'gender':'中'})14 print(v4)

输出:

我是:hexin;年龄:18;性别:man

我是:李杰;年龄:19;性别:都行

我是:李杰;年龄:19;性别:随意

我是:李杰;年龄:19;性别:中

  • 10)isalnum

功能:是否是数字或汉字

 isalnum

例子:

name = 'hexin0好'2 v = name.isalnum()3 print(v)

输出:

True

  • 11)isdecimal,isdigit,isnumeric

功能:是否是数字

 isalnum

isdecimal

 isdigit

例子:

1 num = '二'2 v1 = num.isdecimal() # '123'3 v2 = num.isdigit()   # '123','②'4 v3 = num.isnumeric() # '123','二','②'5 print(v1,v2,v3)

输出:

False False True

  • 12)isidentifer

功能:是否是有效的标识符

isidentifier

例子:

1 n = '1name'2 u = 'name'3 v = n.isidentifier()4 i = u.isidentifier()5 print(v)6 print(i)

输出:

FalseTrue

  • 13)islower(isupper)

功能:是否全部是小写(大写)

 islower

例子:

1 name = 'hexin'2 name1 = 'Hexin'3 v = name.islower()4 i = name1.islower()5 print(v)6 print(i)

输出:

TrueFalse

  • 14)isprintable

功能:是否包含隐含的XX(包含\n,\t等不可见字符为False)

 

isprintable

例子:

name = 'hexindas\talj,hexin'2 v = name.isprintable()3 print(v)

输出:

False

  • 15)join

功能:元素拼接

 join

例子:

1 name = 'hexin'2 3 v = "_".join(name) # 内部循环每个元素4 print(v)5 6 name_list = ['1','2','3','4']7 v = "+".join(name_list)8 print(v)

输出:

h_e_x_i_n1+2+3+4

  • 16)rjust,ljust

功能:左右填充,类似center

 ljust

例子:

name = 'hexin'2 v = name.ljust(14,'*')3 i = name.rjust(6,'*')4 print(v)5 print(i)

输出

hexin*********

*hexin

  • 17)maketrans,translate

功能:创建对应关系,翻译转换

maketrans

例子:

1 m = str.maketrans('aeiou','12345') # 对应关系

2 name = "akpsojfasdufasdlkfj8ausdfakjsdfl;kjer09asdf"

3 v = name.translate(m)

4 print(v)

输出:

1kps4jf1sd5f1sdlkfj815sdf1kjsdfl;kj2r091sdf

  • 18)partition

功能:分割,保留分割的元素

partition

例子:

1 content = "9SB6SB6"

2 v = content.partition('SB') # partition

3 print(v)

输出:

('9', 'SB', '6SB6')

  • 19)replace

功能:替换

 replace

例子:

1 content = "1SB2SB3SB4"2 v = content.replace('SB','Love')3 print(v)4 v = content.replace('SB','Love',1)5 print(v)

输出:

1Love2Love3Love4

1Love2SB3SB4

  • 20)strip

功能:移除空白,\n,\t, 自定义

 strip

例子:

name = 'hexin \t'2 v = name.strip() # 空白,\n,\t3 print(v)

输出:

hexin

  • 21)zfill

功能:填充0

 zfill

例子:

name = 'hexin'2 v = name.zfill(20)3 print(v)

输出:

000000000000000hexin