菜单

python数字、字符串

2019年4月16日 - 皇家赌场系统

参数


字符串的变形

[terry笔记]Python字符串,terrypython

正如学习python的字符串用法。

print(dir(str))

[‘__add__’, ‘__class__’, ‘__contains__’, ‘__delattr__’,
‘__dir__’, ‘__doc__’, ‘__eq__’, ‘__format__’,
‘__ge__’, ‘__getattribute__’, ‘__getitem__’,
‘__getnewargs__’, ‘__gt__’, ‘__hash__’, ‘__init__’,
‘__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’]

如上是字符串的全体办法,3个四个看,共四十一个

 

一.赶回第三个假名大写

   capitalize(…)

      capitalize() -> string

1 2 3 4 >>>a = 'hello world' >>> b = a.capitalize() >>> print (b) Hello world

二.按内定长度填充特定字符

    center(…)

      S.center(width[, fillchar]) -> string

1 2 3 4 5 6 7 >>> a = 'linux' >>> print a.center(7,'h') hlinuxh >>> print a.center(8,'h') hlinuxhh >>> print a.center(9,'h') hhlinuxhh

三.查找某字符串出现的次数

    count(…)

      S.count(sub[, start[, end]]皇家编程,) -> int

1 2 3 4 5 6 7 8 9 >>> a = "this is my dog, i love this dog and it's a good dog!" >>> print a.count('dog') 3 >>> print a.count('dog',15) 2 >>> print a.count('dog',15,30) 0 >>> print a.count('dog',15,32) 1

四.以钦命的编码格式解码字符串。暗中认可编码为字符串编码(适合python第22中学处理汉语)

    decode(…)

      S.decode([encoding[,errors]]) ->object

1 2 3 b = 'strid' >>> b.decode('utf-8') u'strid'

伍.用来剖断字符串是或不是以钦命后缀结尾,假如以钦赐后缀结尾重返True,否则重临False。可选参数”start”与”end”为寻找字符串的起先与结束地方

    endswith(…)

    S.endswith(suffix[,start[, end]]) ->bool

1 2 3 4 5 6 7 >>> shaw = 'I am shaw,what\'s your name ?' >>> shaw.endswith('?') True >>> shaw.endswith('w',7,9) True >>> shaw.endswith('w',7,8) False

陆.把字符串中的 tab 符号(‘\t’)转为空格,tab 符号(‘\t’)默许的空格数是8,tabsize — 钦点调换字符串中的 tab 符号(‘\t’)转为空格的字符数。

    expandtabs(…)

    S.expandtabs([tabsize])-> string

1 2 3 4 5 6 7 >>> info = 'today is a good d\tay' >>> print info.expandtabs() today is a good d       ay >>> print info.expandtabs(4)   # 把tab装换成4个空格 today is a good d   ay         >>> printinfo.expandtabs(1) today is a good d ay          # 把tab装换成1个空格

七.检查实验字符串中是还是不是带有子字符串 str ,倘使钦赐 beg(开端)和 end(截止)范围,则检查是还是不是含有在钦定范围内,要是带有子字符串,则赶回开头的索引值,不然再次来到-1。

    find(…)

    S.find(sub [,start [,end]])-> int

1 2 3 4 5 6 7 >>> a = 'stivenwang' >>> a.find('w') 6 >>> a.find('w',9) -1 >>> a.find('w',9,11) -1

捌.格式换字符串输出(方法与%相似,但足以内定顺序)

    format(…)

    S.format(*args, **kwargs)-> string

1 2 3 4 5 6 7 8 >>> name = 'StivenWang' >>> fruit = 'apple' >>> print 'my name is {},I like {}'.format(name,fruit) my name is StivenWang,I like apple >>> print 'my name is {1},I like {0}'.format(fruit,name) my name is StivenWang,I like apple >>> print 'my name is {mingzi},I like{shuiguo}'.format(shuiguo=fruit,mingzi=name) my name is StivenWang,I like apple

九.检验字符串string中是不是包涵子字符串 str ,借使存在,则赶回str在string中的索引值,如果钦定beg(开头)和 end(甘休)范围,则检查是还是不是带有在钦赐范围内,该办法与 python find()方法同样,只但是借使str不在 string中会报二个分外(ValueError: substring not found)。

   index(…)

    S.index(sub [,start [,end]])-> int

1 2 3 4 5 6 7 8 >>> str1 = "this is string example....wow!!!" >>> str2 = "exam" >>> print str1.index(str2) 15 >>> print str1.index(str2,20) Traceback (most recent call last):   File "<input>",line 1, in <module> ValueError: substringnot found报错

10.检验字符串是还是不是由字母或数字组合。

    isalnum(…)

    S.isalnum() -> bool

1 2 3 4 5 6 7 8 9 10 11 12 >>> a = '123' >>> a.isalnum() True >>> b = 'shaw' >>> b.isalnum() True >>> c = 'shaw123' >>> c.isalnum() True >>> d = 'th 123' >>> d.isalnum() False

1一.检查评定字符串是不是只由字母组成

    isalpha(…)

    S.isalpha() -> bool

1 2 3 4 5 6 7 8 9 10 11 12 >> a = '123' >>> a.isalpha() False >>> b = '123shaw' >>> b.isalpha() False >>> c = 'shaw' >>> c.isalpha() True >>> d = 'sha w' >>> d.isalpha() False

1二.检查评定字符串是还是不是只由数字组成。

    isdigit(…)

    S.isdigit() -> bool

1 2 3 4 5 6 7 8 9 >>> a = '123' >>> a.isdigit() True >>> b = 'shaw' >>> b.isdigit() False >>> c = '123shaw' >>> c.isdigit() False

一三.检查测试字符串是还是不是由小写字母组成。

    islower(…)

    S.islower() -> bool

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 >>> a = 'shaw' >>> a.islower() True >>> b = '123' >>> a.islower() True >>> c = '123shaw' >>> c.islower() True >>> d = 'SHAW' >>> d.islower() False >>> e = '123SHAW' >>> e.islower() False

1四.检验字符串是或不是只由空格组成。

    isspace(…)

    S.isspace() -> bool

1 2 3 4 5 6 7 8 9 >>> a = ' ' >>> a.isspace() True >>> a = '123' >>> a.isspace() False >>> a = 'shaw' >>> a.isspace() False

15.检查评定字符串中具备的单词拼写首字母是或不是为大写,且其余字母为小写。

    istitle(…) 

    S.istitle() -> bool

1 2 3 4 5 6 7 8 9 >>> a = 'Shaw' >>> a.istitle() True >>> a = 'Shaw123' >>> a.istitle() True >>> a = '123' >>> a.istitle() False

1陆.检查实验字符串中持有的假名是还是不是都为题写

    isupper(…)

      S.isupper() -> bool

1 2 3 4 5 6 7 8 9 10 11 12 >>> a = '123' >>> a.isupper() False >>> a = 'Shaw' >>> a.isupper() False >>> a = 'Shaw123' >>> a.isupper() False >>> a = 'SHAW123' >>> a.isupper() True

17.用以将系列中的成分以内定的字符连接生成3个新的字符串。

join(…)

    S.join(iterable) ->string

1 2 3 4 >>> a = '-' >>> b = 'shaw' >>> print a.join(b) s-h-a-w

1八.重临八个原字符串左对齐,并选择空格填充至钦命长度的新字符串。假使钦命的长短小于原字符串的长短则赶回原字符串。

    ljust(…)

    S.ljust(width[, fillchar])-> string

    width — 钦赐字符串长度

    fillchar — 填充字符,默以为空格

1 2 3 4 5 >>> s = 'shaw' >>> s.ljust(10) 'shaw      ' >>> s.ljust(10,'8') 'shaw888888'

1玖.改动字符串中颇具大写字符为小写。

    Lower(…)

    S.lower() -> string

1 2 3 4 5 6 >>> s = 'PYTHON' >>> s.lower() 'python' >>> s = 'PYTHON123' >>> s.lower() 'python123'

20.用来截掉字符串左边的空格或钦赐字符。

    lstrip(…)

    S.lstrip([chars]) ->string or unicode

1 2 3 4 5 6 >>> s = '%%%shaw' >>> s.lstrip('%') 'shaw' >>> s = '   shaw' >>> s.lstrip() 'shaw'

二壹.基于钦定的相间符将字符串实行划分(再次回到一个三元的元组,第三个为分隔符左侧的子串,第②个为分隔符本身,第六个为分隔符左边的子串)

    partition(…)

    S.partition(sep) ->(head, sep, tail)

1 2 3 >>> S = 'are you know:lilin is lowser' >>> S.partition('lilin') ('are you know:', 'lilin', ' is lowser')

2二.把字符串中的 old(旧字符串)替换来 new(新字符串),若是钦命第一个参数max,则替换不超过 max 次。

    replace(…)

    S.replace(old, new[,count]) -> string

1 2 3 >>> S = 'shaw' >>> S.replace('sh','LI') 'LIaw'

23.重返字符串最终贰次面世的职分,借使未有相配项则赶回-一。

    rfind(…)

    S.rfind(sub [,start[,end]]) -> int

    str — 查找的字符串

    beg — 开头查找的职位,暗中认可为0

    end — 甘休查找地点,默以为字符串的尺寸。

1 2 3 4 5 >>> s = 'lilin is good li lao ban' >>> s.rfind('li') 14 >>> s.rfind('li',0,8) 2

贰4.再次来到子字符串 str 在字符串中最终出现的岗位,假诺未有相称的字符串会报万分,你能够钦点可选参数[beg:end]设置查找的间距。

    rindex(…)

    S.rindex(sub [,start[,end]]) -> int

    语法:

      str.rindex(str,beg=0 end=len(string))

1 2 3 4 5 6 7 8 9 >>> s = 'my name is shaw' >>> s.rindex('s') 11 >>> s.rindex('s',5,10) 9 >>> s.rindex('s',2,8) Traceback (most recent call last):   File "<input>",line 1, in <module> ValueError: substring not found

25.回到的原/新字符串右对齐,且暗中认可使用空格填充至钦赐长度(width)的新字符串。假如内定的尺寸(width)小于原字符串的尺寸则赶回原字符串

    rjust(…)

    S.rjust(width[, fillchar])-> string

    语法:

      str.rjust(width[,fillchar])

       width — 内定填充钦命字符后新字符串的路途度.

       fillchar– 要填写的字符,默以为空格。

1 2 3 4 5 6 7 >>> s = 'sch' >>> s.rjust(20) '                 sch' >>> s.rjust(20,'0') '00000000000000000sch' >>> s.rjust(20,'H') 'HHHHHHHHHHHHHHHHHsch'

贰6.删减 string 字符串末尾的钦赐字符(私下认可为空格).

    rstrip(…)

    S.rstrip([chars]) ->string or unicode

    语法:

      str.rstrip([chars])

1 2 3 >>> s = 'shaw\n' >>> s.rstrip('\n') 'shaw'

二七.由此点名分隔符对字符串实行切开,如若参数num有钦定值,则仅相隔 num 个子字符串

    split(…)

    S.split([sep [,maxsplit]])-> list ofstrings

    语法:

   str.split(str=””,num=string.count(str)).

1 2 3 4 5 >>> s = 'shaw\nlinux\nmac' >>> s.split('\n') ['shaw', 'linux', 'mac'] >>> s.split('\n',1) ['shaw', 'linux\nmac']

2八.遵照行分隔,重返3个分包各行作为成分的列表,假若 num 钦命则仅切成片 num 个行.

    splitlines(…)

    S.splitlines(keepends=False)-> list ofstrings

    语法:

      str.splitlines( num=string.count(‘\n’))

       num — 分割行的次数。

1 2 3 4 5 6 >>> s = 'what\'s your name?\n my name is shaw\n how old areyou?' >>> s.splitlines() ["what's your name?", ' my name is shaw', ' how old areyou?'] >>> s.splitlines(1) ["what's your name?\n", ' my name is shaw\n', ' how old areyou?'] >>> s.splitlines(3)

2玖.用于检查字符串是不是是以内定子字符串开首,要是是则赶回 True,否则重返 False。假若参数 beg 和 end钦赐值,则在内定范围内检查。

    startswith(…)

    S.startswith(prefix[,start[, end]]) ->bool

    语法:

    str.startswith(str,beg=0,end=len(string))

    str — 检查测试的字符串。

    strbeg — 可选参数用于安装字符串检查实验的早先地点。

    strend — 可选参数用于安装字符串检查实验的扫尾地点。

1 2 3 4 5 >>> s = 'my name is shaw' >>> s.startswith('my') True >>> s.startswith('my',10,15) False

30.用来移除字符串头尾钦赐的字符(默感觉空格)。

    strip(…)

    S.strip([chars]) ->string or unicode

1 2 3 >>> s = 'my name is sam' >>> s.strip('m') 'y name is sa'

31.用来对字符串的深浅写字母举行转移(小写转大写,大写转小写)

    swapcase(…)

    S.swapcase() -> string

1 2 3 4 5 6 >>> s = 'stiven' >>> s.swapcase() 'STIVEN' >>> s = 'SHAW' >>> s.swapcase() 'shaw'

3二.回到”标题化”的字符串,正是说全数单词都以以大写起始,别的字母均为小写。

    title(…)

    S.title() -> string

1 2 3 >>> s = 'my name is shaw' >>> s.title() 'My Name Is Shaw'

3三.基于参数table给出的表(包蕴 25陆 个字符)调换字符串的字符, 并重临翻译后的字符串。要过滤掉的字符放到del 参数中

    translate(…)

    S.translate(table [,deletechars])->string

    语法:

      str.translate(table[, deletechars])

       table — 翻译表,翻译表是通过maketrans方法转变而来。

      deletechars — 字符串中要过滤的字符列表。

1 2 3 4 5 6 7 8 9 >>> from string import maketrans suchas = maketrans('sm','@$') >>> s = 'this is sam\'s dog' >>> s "this is sam's dog" >>> s.translate(suchas) "[email protected] [email protected] @a$'@ dog" >>> s.translate(suchas,'dog') 去除d,o,g字符 "[email protected] [email protected] @a$'@ "

3四.将字符串中的小写字母转为大写字母

    upper(…)

    S.upper() -> string

1 2 3 4 5 6 7 8 9 >>> s = 'sam' >>> s.upper() 'SAM' >>> s = '23sam' >>> s.upper() '23SAM' >>> s = '23s am' >>> s.upper() '23S AM'

如下学习python的字符串用法。 print(dir(str)) [‘__add__’,
‘__class__’, ‘__contains__’, ‘__delattr__’, ‘__dir__’,
‘__doc__’, ‘__…

实例

以下实例体现了expandtabs()方法的实例:

#!/usr/bin/python3

str = "this is\tstring example....wow!!!"

print ("原始字符串: " + str)
print ("替换 \\t 符号: " +  str.expandtabs())
print ("使用16个空格替换 \\t 符号: " +  str.expandtabs(16))

如上实例输出结果如下:

原始字符串: this is     string example....wow!!!
替换 \t 符号: this is string example....wow!!!
使用16个空格替换 \t 符号: this is         string example....wow!!!

 

5.实例
str = "this is\tstring example....wow!!!"

print ("原始字符串: " + str)
print ("替换 \\t 符号: " +  str.expandtabs())
print ("使用16个空格替换 \\t 符号: " +  str.expandtabs(16))

结果

原始字符串: this is  string example....wow!!!
替换 \t 符号: this is string example....wow!!!
使用16个空格替换 \t 符号: this is         string example....wow!!!

 

语法

expandtabs()方法语法:

str.expandtabs(tabsize=8)

 

3.参数

tabsize — 钦点转变字符串中的 tab 符号(‘\t’)转为空格的字符数。


12mytest            错

返回值

该办法重回字符串中的 tab 符号(‘\t’)转为空格后生成的新字符串。

2.语法
str.expandtabs(tabsize=8)

In [13]: my_test.upper()
Out[13]: ‘HELLO PYTHON’

描述

expandtabs() 方法把字符串中的 tab 符号(‘\t’)转为空格,tab
符号(‘\t’)暗中认可的空格数是 捌。

4.返回值

该方法再次回到字符串中的 tab 符号(‘\t’)转为空格后生成的新字符串。


暗许去除两边的空格,去除内容能够指定

1.描述

expandtabs() 方法把字符串中的 tab 符号(‘\t’)转为空格,tab
符号(‘\t’)默许的空格数是 8。


myText (小驼峰式命名法)

%

取商,5//2得二;再次回到商的整数有的 9//二 输出结果 四 。

capitalize

将字符串填充到钦命的长度,不足地点用0从左开首补充

ljust

遵循顺序,将前面包车型客车参数字传送递给前方的大括号

取余

切开的语法:[起始:结束:步长]

index

In [9]: my_test.replace(“h”,”w”)

在意:选择的字符珠海不包尾

//

追寻,再次来到从右第一个钦定字符的目录,找不到报错

rindex

不能使用首要字命名:

七个对象相加 a + b 输出结果 7

暗中认可去除左侧的空格,去除内容能够钦命

获得负数或是贰个数减去另3个数 a – b 输出结果 3

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图