開始文字列から自己のpython

    字符串方法很重要,因为无论我们是要搞爬虫,还是大数据,都需要数据清洗,而字符串方法就是我们必备的知识。
	首先我们看看自学最常用的一个函数print().
help(print)#用python的帮助函数获得print函数信息
Help on built-in function print in module builtins:

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
    
    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:  a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.
#我们来看一下,python的函数特点,看看调用print都有哪些参数
#value:函数打印的值
#sep:默认参数是一个空格
#end:默认参数是换行符
#file:默认参数是标准输出
#flush:默认参数是布尔值False
#下面看看各个参数的作用
print(1,2,3,end='###')#把end关键字参数设置#字符串,会在最后打印的末尾加上#号
print()
print(1)
print(1,2,sep='--',)
#把end关键字参数设置*字符串,会在最后打印的末尾加上星号
print(1,2,3,sep='---')
#输出:
1 2 3###
1
1--2
1---2---3

これらは、現在のレベルなぜなら、これら2つのパラメータが早すぎる、印刷ではなく、詳細なsys.stdoutのとフラッシュのトリックのいくつかです。
文字列の様々な方法で見てみましょう:

print(dir(str))#用dir函数列出字符串类的所有方法
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__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', 'isascii', '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']

文字列の方法は、より多くの一つ一つで見てみましょう、次のとおりです。
まず、スライスは、スライススライス方法がサポートされている値の順序付けられたシーケンスです。

a='abc123'
print(a[0],a[-1],a[0:],a[0:3],a[0::3])#用下标取值,下标都从0开始,这种取值方式叫切片[start:end:sep]
print(a[-1::-1])#发挥你的想象力,如何倒着打印字符串
print(a+a)#字符串相加
print(a*2)#字符串相乘
#输出
a 3 abc123 abc a1
321cba
abc123abc123
abc123abc123

スライス法では、我々は、文字列のすべての値を取得することができ
、私は、いわゆる機能は、私たちが入ってくるのパラメータについて何かを行うことができるということです理解し、いわゆる法は、このタイプのデータがないことができている
のは、文字列を見てみましょうその方法は、文字列のみメソッドは呼び出すことができます。

'''有关大小写转换的字符串方法'''
name='tom smith**isgood'
print(name.upper())#所有字母大写
print(name.title())#单词首字母大写
print(name.lower())#所有字母小写
print(name.capitalize())#注意和title方法区分,这个只有首字母大写
print(name.casefold())#与lower方法看似一样实则功能更强大,lower只对英文字母有效,而casefold对非汉语和英文的其他字符串也有效。
print(name.swapcase())#把大写的变小写,小写的变大写
'''输出'''
TOM SMITH**ISGOOD
Tom Smith**Isgood#注意title方法是所有单词首字母大写
tom smith**isgood
Tom smith**isgood
tom smith**isgood
TOM SMITH**ISGOOD
name='abc'
print(name.ljust(6,'#'))#左对齐,第二个参数可以是任意字符串,填充数量为第一个参数减去字符串长度
print(name.rjust(6,'*'))#右对齐,
print(name.center(5,'%'))#居中对齐
'''输出'''
abc###
***abc
%abc%
name='abdccdaa'
print(name.find('d'))#在字符串中从左向右查找字母'd',并返回第一个找到的下标如果没有该字符返回-1
print(name.rfind('d'))#在字符串中从右向左查找字母'd',并返回第一个找到的下标,如果没有该字符返回-1
print(name.index('d'))#返回字符串的位置下标,如果没有该字符,引发错误
print(name.rindex('d'))#返回字符串的最大下标,如果没有该字符引发错误
#以上四种方法看似相似,实际上应用的场景是不同的,find是你不知道字符串李有没有这个字符,index一般应用在已知有该字符,想要取得下标的情况
'''输出'''
2
-1
2
5
name='www.baidu.com'
name_list=name.split('.')#用给定的字符,分割字符串,分割的结果是一个列表,这将是我们很常用的一个方法
#还有一个str.splitlines( keepends=False)根据换行符\n,\r,分割字符串
print(name_list)
name_str='.'.join(name_list)#split方法的逆向操作,再用点字符把列表转换成字符串,name_list中各个元素必须都为字符串
print(name_str)
print(name.partition('.'))#用给定的字符把字符串分成三个部分,从左向右第一次匹配到给定字符的位置开始分割
print(name.rpartition('.'))#用给定的字符把字符串分成三个部分,从右向左第一次匹配到给定字符的位置开始分割
'''输出'''
['www', 'baidu', 'com']
www.baidu.com
('www.baidu.com', '', '')
('www.baidu', '.', 'com')
'''注意各个方法的返回值,split方法返回的是列表,而partition返回的是元组
'''
num='aaa1113334'
print(num.count('a'))#对给定的字符,查找在字符串中出现的次数
print('我是{}'.format(num))#字符串格式化方法,字符串中用{}当作占位符
#str.format_map()同样是字符串格式化方法
print(num.replace('a','*'))#替换字符串中的字母,查找字符串中的a字母替换成星号
print(num.zfill(15))#用0补足15位
print('我从哪里来'.encode('utf8'))#返回utf8编码的比特类型
print('我从哪里来'.encode('gbk'))#返回gbk编码的比特类型
'''输出'''
3
我是aaa1113334
***1113334
00000aaa1113334
b'\xe6\x88\x91\xe4\xbb\x8e\xe5\x93\xaa\xe9\x87\x8c\xe6\x9d\xa5'
b'\xce\xd2\xb4\xd3\xc4\xc4\xc0\xef\xc0\xb4'

str.maketrans(intab、outtab [、delchars ]) このメソッドは、3つのパラメータをとり、最初のパラメータは、二番目の引数は、対象変換を表す文字列に変換する文字を表す文字列です。2つの文字列の長さは、1対1の関係と同じでなければなりません。3番目のパラメータは、削除する文字列を示します。戻ってマップオブジェクトメソッド呼び出しの翻訳
返さmaketransオブジェクトをマップ受け、str.translate(maketraner)を、および置換文字列戻り
str.expandtabs(tabsize = 8)は、文字列のコピーを返します。だから、大きなスペースを使用して、元の文字列のタブ(「\ T」)。スペースを拡大するために、スペースを使用します。0-8文字列が8が変わるよりも大きい場合にのみ、tabsie文字列の間で変更されません。
あまり一般的に使用されているこれらの2つの方法は、単独の例を示すものではありません。

次の方法は、軍のSTR、TrueまたはFalseであるビットのブール値の戻り値を決定することです

name='my good day is  0916'
name1='1234'
name2='Abcd'
print(name.isalnum())#判断字符串是否都是字母或者数字
print(name1.isalnum())
print(name2.isalnum())
print((name1+name2).isalnum())#字符串相加结果就是拼接到一起生成一个新字符串

'''输出'''
False
True
True
True
name='my good day is  0916'
name1='1234'
name2='Abcd'
print(name.isalpha())#判断字符串是否完全由字母组成
print(name2.isalpha())
print(name.isascii())#判断字符串是否全由ascii码组成,ascii码就是所有我们电脑键盘上能打出来的各种字母符号,想要深入了解的请百度
'''输出'''
False
True
True
name='my good day is  0916'
name1='1234'
name2='Abcd'
print(name.isdecimal())#方法检查字符串是否只包含数字,包括unicode数字,全角数字
print(name1.isdecimal())
print('1.001'.isdecimal())#浮点数不行,
'''输出'''
False
True
False
name='my good day is  0916'
name1='1234'
name2='Abcd'
print(name.isdigit())#可判断是否全为unicode数字,全角数字,byte数字,罗马数字
print(name1.isdigit())
'''输出'''
False
True

print('_1122'.isidentifier())#判断字符串是否能作为python合法的变量名称。
print('aa aa'.isidentifier())
'''输出'''
True
False
print('aaccAA'.islower())#判断字符串是否全为小写
print('aavvccdee'.islower())

'''输出'''
False
True
print('AAAccdd'.isprintable())#检查字符串中的字符是否都可以打印,空格和换行,制表符等都会返回False
print('\n   aaaa'.isprintable())#\n,为python中的换行符
'''输出'''
True
False
print('   \n\t'.isspace())#判断字符串中是否均为空白字符
True
---------------------------------------------------
print('Abc daa'.istitle())#方法检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。
print('Abc Daa'.istitle())
'''输出'''
False
True
print('AAA123BBBB'.isupper())#判断字符串中所有字母都为大写
print('aaaaa bbb112'.islower())#判断字符串中所有字母都为小写
True
True

#これらは、すべてのメソッドの文字列があり、分割に参加など、私たちの多くは、頻繁に使用されますがあり、フォーマット
#演習
#名を=「私の名前であるジョン 」 プリントアウト「ジョン
#名=「12345」印刷逆name'54321「
#名=」AABBCC「文字の発生の統計数
#名=」AA BB CCは「AABBCC 『プリントアウト』

公開された23元の記事 ウォンの賞賛5 ビュー378

おすすめ

転載: blog.csdn.net/weixin_43287121/article/details/105098722