Python指令汇总(一)
- 一、BIF
- 1.help()
- 2.random.randint()
- 3.类型转换函数
- (1) int()
- (2) float()
- (3) str()
- (4) list([iterable])
- (5) tuple([iterable])
- 4.获取变量类型
- (1) type()
- (2) isinstance()
- 5.常用操作符
- (1)算数操作符
- (2)比较操作符
- (3)逻辑操作符
- 6.序列常用BIF
- (1)len(sub)
- (2)max()
- (3)min()
- (4)sum(iterable[,start])
- (5)sorted(iterable,key=None,reverse=False)
- (6)reversed(sequence)
- (7)enumerate(iterable)
- (8)zip(iter1[,iter2[...]])
- 二、分支与循环
- 1.if语句
- 条件表达式(三元操作符)
- 2.断言assert
- 3.while语句
- 4.for语句
- 5.range()
- 6.break语句
- 7.continue语句
- 三、列表、元组与字符串
- 1.列表
- (1)添加元素
- append()方法:
- extend()方法:
- insert()方法:
- (2)获取元素
- (3)删除元素
- remove()方法
- del语句
- pop()方法
- (4)列表分片
- (5)常用操作符
- > < =
- + *
- in、not in
- (6)其他方法
- count()
- index()
- reverse()
- sort()
- 2.元组
- 3.字符串
- (1)大小写转化
- capitalize()
- casefold()
- lower()
- upper()
- swapcase()
- title()
- (2)格式调整
- center(width,filter=' ')
- expandtabs([tabsize=8])
- join(sub)
- ljust(width)
- lstrip()
- rjust(width)
- rstrip()
- strip([chars])
- zfill(width)
- (3)检查字符串
- isalnum()
- isalpha()
- isdecimal()、isdigit()、isnumeric()
- islower()
- isupper()
- isspace()
- istitle()
- endwith(sub[,start[,end]])
- find(sub[,start[,end]])
- index(sub[,start[,end]])
- rfind(sub[,start[,end]])
- rindex(sub[,start[,end]])
- startwith(prefix[,start[,end]])
- (4)其他
- count(sub[,start[,end]])
- encode(encoding='utf-8',errors='strict')
- partition(sub)
- rpartition(sub)
- replace(old,new[,count])
- split(sep=None,maxsplit=-1)
- splitlines(([keepends=False]))
- translate(table)
- (5)格式化
- format()
- 格式化操作符:%
- 4.部分转义字符
一、BIF
BIF即Built-in Functions,意为内置函数。
可输入dir(_ _ builtins _ _)查看Python提供的内置函数列表。
>>> dir(__builtins__)
['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning', 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError', 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EnvironmentError', 'Exception', 'False', 'FileExistsError', 'FileNotFoundError', 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'InterruptedError', 'IsADirectoryError', 'KeyError', 'KeyboardInterrupt', 'LookupError', 'MemoryError', 'ModuleNotFoundError', 'NameError', 'None', 'NotADirectoryError', 'NotImplemented', 'NotImplementedError', 'OSError', 'OverflowError', 'PendingDeprecationWarning', 'PermissionError', 'ProcessLookupError', 'RecursionError', 'ReferenceError', 'ResourceWarning', 'RuntimeError', 'RuntimeWarning', 'StopAsyncIteration', 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'TimeoutError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning', 'ValueError', 'Warning', 'WindowsError', 'ZeroDivisionError', '_', '__build_class__', '__debug__', '__doc__', '__import__', '__loader__', '__name__', '__package__', '__spec__', 'abs', 'all', 'any', 'ascii', 'bin', 'bool', 'breakpoint', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip']
1.help()
用于显示BIF的功能描述
>>> help(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.
2.random.randint()
调用random模块,使用randint函数,返回一个随机的整数,可限制取值范围
>>> import random
>>> i = random.randint(1,10)
>>> i
5
>>> i = random.randint(1,10)
>>> i
9
3.类型转换函数
(1) int()
转化为整型
>>> a = '1'
>>> b = int(a)
>>> a,b
('1', 1)
>>> a = 3.1
>>> b = int(a)
>>> a,b
(3.1, 3)
注意浮点型转化为整型是直接将小数部分去掉,不是四舍五入
(2) float()
转化为浮点型
>>> a = '1'
>>> b = float(a)
>>> a,b
('1', 1.0)
>>> a = 1
>>> b = float(a)
>>> a,b
(1, 1.0)
(3) str()
转化为字符串
>>> a = 1
>>> b = str(a)
>>> a,b
(1, '1')
>>> a = 1e5
>>> b = str(a)
>>> a,b
(100000.0, '100000.0')
>>> a = 5.99
>>> b = str(a)
>>> a,b
(5.99, '5.99')
(4) list([iterable])
把一个可迭代对象转换为列表
>>> # 创建一个空列表
>>> a = list()
>>> a
[]
>>> #将字符串中的每个字符迭代存放到列表中
>>> b = list('love')
>>> b
['l', 'o', 'v', 'e']
>>> #将元组中的每个元素迭代存放到列表中
>>> c = list((1,1,2,3,5,6,9,8,7))
>>> c
[1, 1, 2, 3, 5, 6, 9, 8, 7]
(5) tuple([iterable])
把一个可迭代对象转换为元组,用法与list()类似
4.获取变量类型
(1) type()
输入一个变量,返回变量的类型
>>> type('1')
<class 'str'>
>>> type(1)
<class 'int'>
>>> type(1.0)
<class 'float'>
>>> type(1e5)
<class 'float'>
>>> type(True)
<class 'bool'>
(2) isinstance()
输入一个待确定类型的数据,再输入一个数据类型,返回True或False,True表示类型一致,False表示类型不一致
>>> a = '1'
>>> isinstance(a,str)
True
>>> isinstance(1,float)
False
>>> isinstance(1,int)
True
5.常用操作符
(1)算数操作符
+ - * / % ** //
+、-、*、/对变量自身进行运算时,可以进行简化,如:
>>> a = b = c = d = 10
>>> a += 1
>>> b -= 3
>>> c *= 5
>>> d /= 2
>>> a,b,c,d
(11, 7, 50, 5.0)
//意为地板除法,即计算结果取比商大的最小整型,也就是舍弃小数
>>> 3 // 2
1
>>> 3.0 // 2
1.0
>>> 3.2 // 1.4
2.0
%表示求余数
>>> 20 % 5
0
>>> 20 % 3
2
>>> 20.5 % 3
2.5
>>> 20.5 % 2.5
0.5
**表示幂运算
>>> 3 ** 2
9
>>> 3.0 ** 2.0
9.0
>>> 3.0 ** 2.1
10.04510856630514
>>> -3 ** 2
-9
>>> 3** -2
0.1111111111111111
(2)比较操作符
< <= > >= == !=
比较操作符根据表达式的真假返回布尔类型的值
>>> 2 < 3
True
>>> 2 <= 3
True
>>> 2 > 3
False
>>> 2 >= 3
False
>>> 2 == 3
False
>>> 2 != 3
True
(3)逻辑操作符
and or not
三者优先级不同:not>and>or
>>> 1 and 3
3
>>> 0 and 3
0
>>> 3 and 1
1
>>> 3 and 0
0
>>> 1 or 3
1
>>> 0 or 3
3
>>> 3 or 1
3
>>> 3 or 0
3
>>> not 0
True
>>> not 3
False
在Python中,以下被视为False:
NONE;False(布尔类型);所有的值为零的数;0(整型);0.0(浮点型);0L(长整型);0.0+0.0j(复数);
“”(空字符串);[](空列表 );()(空元组);{}(空字典)
6.序列常用BIF
(1)len(sub)
返回sub参数的长度
>>> str1 = 'I love you'
>>> len(str1)
10
>>> list1 = [1,2,3,4,5,6,7,8,9,1,2]
>>> len(list1)
11
>>> tuple1 = (1,2,3,4,5,6,7,8,9)
>>> len(tuple1)
9
(2)max()
返回序列或参数集合中的最大值,序列中所有元素类型必须一致
>>> str1
'I love you'
>>> max(str1)
'y'
>>> list1
[1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2]
>>> max(list1)
9
>>> tuple1
(1, 2, 3, 4, 5, 6, 7, 8, 9)
>>> max(tuple1)
9
>>> list2 = [1,5,3,8,6,'a']
>>> max(list2)
Traceback (most recent call last):
File "<pyshell#56>", line 1, in <module>
max(list2)
TypeError: '>' not supported between instances of 'str' and 'int'
(3)min()
返回序列或参数集合中的最小值,序列中所有元素类型必须一致
(4)sum(iterable[,start])
返回序列的总和,用法与max()、min()一样,但有一个可选参数start,默认为0,表示从该值开始加起
>>> list1
[1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2]
>>> sum(list1)
48
>>> sum(list1,21)
69
(5)sorted(iterable,key=None,reverse=False)
返回一个排序的列表,与方法sort()不同的是,sorted()返回的是一个新的列表
>>> list1 = [1,596,7,3,85,123]
>>> list2 = list1[:]
>>> list1.sort()
>>> sorted(list2)
[1, 3, 7, 85, 123, 596]
>>> list1
[1, 3, 7, 85, 123, 596]
>>> list2
[1, 596, 7, 3, 85, 123]
(6)reversed(sequence)
返回逆向迭代序列的值。与方法reverse()不同的是,reverse()是列表原地翻转,而reversed()是返回一个翻转后的迭代器对象。如果想将其作为对应种类的序列使用,需要使用转变类型的命令
>>> list1
[1, 3, 7, 85, 123, 596]
>>> reversed(list1)
<list_reverseiterator object at 0x001D3BC8>
>>> for each in reversed(list1):
print(each,end = ',')
596,123,85,7,3,1,
(7)enumerate(iterable)
生成由二元组构成的一个迭代对象,每个二元组由可迭代参数的索引号及其对应的元素组成
>>> str1
'I love you'
>>> for each in enumerate(str1):
print(each)
(0, 'I')
(1, ' ')
(2, 'l')
(3, 'o')
(4, 'v')
(5, 'e')
(6, ' ')
(7, 'y')
(8, 'o')
(9, 'u')
(8)zip(iter1[,iter2[…]])
返回由各个可迭代参数共同组成的元组
>>> list1
[1, 3, 7, 85, 123, 596]
>>> str1
'I love you'
>>> for each in zip(list1,str1):
print(each)
(1, 'I')
(3, ' ')
(7, 'l')
(85, 'o')
(123, 'v')
(596, 'e')
二、分支与循环
1.if语句
if 条件:
print(1)
else:
print(0)
if 条件1:
print(1)
elif 条件2:
print(2)
else :
print(3)
条件表达式(三元操作符)
a = x if 条件 else y
if x < y:
small = x
else:
small = y
可转化为
small = x if x < y else y
2.断言assert
当assert后面的条件为假时,程序自动崩溃并抛出AssertionError的异常。可以用于测试程序,在程序中置入检查点
>>> assert 3 < 4
>>> assert 3 > 4
Traceback (most recent call last):
File "<pyshell#78>", line 1, in <module>
assert 3 > 4
AssertionError
3.while语句
while 条件:
循环体
4.for语句
计数器循环
>>> str = 'I love you'
>>> for i in str:
print(i,end = '')
I love you
5.range()
range([start,]stop[,step = 1])
共有三个参数,其中用[]括起来的参数表示这一参数可选。step = 1表示第三个参数的默认值是1。。
生成一个从start参数的值开始,到stop参数的值结束的数字序列
>>> for i in range(5):
print(i)
0
1
2
3
4
>>> for i in range(2,9):
print(i)
2
3
4
5
6
7
8
>>> for i in range(2,9,2):
print(i)
2
4
6
8
6.break语句
break语句的作用是终止当前循环,跳出循环体
7.continue语句
continue语句的作用是终止本轮循环并开始下一轮循环(在开始下一轮循环之前,要先测试循环条件)
三、列表、元组与字符串
1.列表
(1)添加元素
append()方法:
向列表末尾添加一个参数
>>> number
[1, 2, 3, 4, 5, 6]
>>> number.append(7)
>>> number
[1, 2, 3, 4, 5, 6, 7]
extend()方法:
向列表末尾添加多个元素(以一个列表的形式)
>>> number
[1, 2, 3, 4, 5, 6]
>>> number.extend([7,8])
>>> number
[1, 2, 3, 4, 5, 6, 7, 8]
insert()方法:
向列表的任意位置插入元素,有两个参数,第一个表示在列表中的位置,第二个参数是要插入的元素
>>> number
[1, 2, 3, 4, 5, 6, 7, 8]
>>> number.insert(1,1.5)
>>> number
[1, 1.5, 2, 3, 4, 5, 6, 7, 8]
(2)获取元素
直接从索引值中获取
>>> number
[1, 1.5, 2, 3, 4, 5, 6, 7, 8]
>>> number[2]
2
(3)删除元素
remove()方法
删除特定元素而不需要知道它的位置
>>> number
[1, 1.5, 2, 3, 4, 5, 6, 7, 8]
>>> number.remove(1.5)
>>> number
[1, 2, 3, 4, 5, 6, 7, 8]
del语句
删除某个位置的元素或删除列表
>>> number
[1, 2, 3, 4, 5, 6, 7, 8]
>>> del number[1]
>>> number
[1, 3, 4, 5, 6, 7, 8]
>>> del number
>>> number
Traceback (most recent call last):
File "<pyshell#18>", line 1, in <module>
number
NameError: name 'number' is not defined
pop()方法
默认弹出列表的最后一个元素。如果加入索引值作为参数后,可以弹出索引值对应的元素
>>> number
[1, 3, 4, 5, 6, 7, 8]
>>> number.pop()
8
>>> number
[1, 3, 4, 5, 6, 7]
>>> number.pop(2)
4
>>> number
[1, 3, 5, 6, 7]
(4)列表分片
>>> number
[1, 2, 3, 4, 5, 6]
>>> number[0:2]
[1, 2]
>>> number[:2]
[1, 2]
>>> number[3:]
[4, 5, 6]
>>> number[:]
[1, 2, 3, 4, 5, 6]
分片时还可加入第三个参数即步长
>>> number[1:4:2]
[2, 4]
>>> number[::2]
[1, 3, 5]
>>> number[::-1]
[6, 5, 4, 3, 2, 1]
(5)常用操作符
> < =
列表可以比较大小,但大小比较是各个元素依次比较
>>> list1 = [123,234]
>>> list2 = [234,123]
>>> list1 < list2
True
+ *
列表可以通过加号(+)与乘号(*)进行拼接与复制
>>> list1 + list2
[123, 234, 234, 123]
>>> list1 *= 5
>>> list1
[123, 234, 123, 234, 123, 234, 123, 234, 123, 234]
in、not in
成员关系操作符,可以测试列表中是否有某元素
>>> 123 in list2
True
>>> 345 not in list2
True
>>> list1
[1, 2, 3, [4, 5], 6]
>>> 4 in list1
False
>>> 4 in list1[3]
True
可以看出,in 和 not in只能判断一个层次的成员关系
(6)其他方法
count()
计算它的参数在列表中出现的次数
>>> list1 = [1,1,2,2,2,3,4,5,5,6,6,6,6]
>>> list1.count(1)
2
>>> list1.count(6)
4
index()
返回它的参数在列表中的位置
>>> list1.index(1)
0
可以看出,返回的是第一个“1”在list1中的位置,还可以加入两个参数用于限定查找的范围,如
>>> start = list1.index(1) + 1
>>> stop = len(list1)
>>> list1.index(1,start,stop)
1
reverse()
将整个列表原地翻转
>>> list1 = [1,2,3,4,5,6,7,8,9]
>>> list1.reverse()
>>> list1
[9, 8, 7, 6, 5, 4, 3, 2, 1]
sort()
用指定方式对列表成员进行排序,默认不需要参数,从小到大排序
>>> list1 = [8,6,4,3,9,7,2,5,1]
>>> list1.sort()
>>> list1
[1, 2, 3, 4, 5, 6, 7, 8, 9]
可以通过修改参数实现从大到小排序
>>> list1 = [8,6,4,3,9,7,2,5,1]
>>> list1.sort(reverse=True)
>>> list1
[9, 8, 7, 6, 5, 4, 3, 2, 1]
2.元组
元组不可改变,创建时一般用()
更新元组需要用分片的方法将元组拆分为两部分,然后再使用连接操作符“+”连同要加入的元素一起合并成一个新元组,再将原来的变量名指向这一新元组。
如果要删除元素也可以用相同的方法,将元组分片后再重新组合。
删除元组可以使用del语句,也可以弃之不管,Python会在元组不再被用到时将其回收。
可以用在元组上的操作符有拼接操作符(+)、重复操作符(*)、关系操作符(< > <= >= !=)、逻辑操作符(and、or、not)、成员关系操作符(in、not in)
3.字符串
(1)大小写转化
capitalize()
把字符串的第一个字符改成大写,其他字符都改成小写
>>> str1 = 'aBcDeFgH'
>>> str1.capitalize()
'Abcdefgh'
casefold()
把整个字符串中的所有字符改成小写
>>> str1 = 'aBcDeFgH'
>>> str1.casefold()
'abcdefgh'
lower()
转换字符串中所有大写字符为小写(仅英文字符)
>>> str1 = 'aBcDeFgH'
>>> str1.lower()
'abcdefgh'
upper()
转换字符串中所有小写字符为大写
>>> str1 = 'aBcDeFgH'
>>> str1.upper()
'ABCDEFGH'
swapcase()
翻转字符串中的大小写
>>> str1 = 'aBcDeFgH'
>>> str1.swapcase()
'AbCdEfGh'
title()
返回标题化(所有单词都是以大写开始,其余字母均小写)的字符串
>>> str1 = 'i love yOU'
>>> str1.title()
'I Love You'
(2)格式调整
center(width,filter=’ ')
返回以原字符串为中心向两边填充的新字符串,填充物为filter,默认为ASCII空格。填充长度为width,若width小于原字符串长度,则返回原字符串副本
>>> str1 = 'aBcDeFgH'
>>> str1.center(10)
' aBcDeFgH '
>>> str1 = 'aBcDeFgH'
>>> str1.center(6)
'aBcDeFgH'
>>> str1 = 'aBcDeFgH'
>>> str1.center(12,'1')
'11aBcDeFgH11'
expandtabs([tabsize=8])
把字符串中的tab符号(\t)转换为空格,如不指定参数,默认空格数是tabsize=8
str1 = 'I love\tyou'
print(str1)
print(str1.expandtabs())
print(str1.expandtabs(0))
print(str1.expandtabs(1))
print(str1.expandtabs(2))
print(str1.expandtabs(3))
print(str1.expandtabs(4))
print(str1.expandtabs(5))
print(str1.expandtabs(6))
print(str1.expandtabs(7))
print(str1.expandtabs(8))
print(str1.expandtabs(9))
print(str1.expandtabs(10))
print(str1.expandtabs(11))
I love you
I love you
I loveyou
I love you
I love you
I love you
I love you
I love you
I love you
I love you
I love you
I love you
I love you
I love you
join(sub)
以字符串作为分隔符,插入到sub中所有的字符之间
>>> str1 = 'abcdefgh'
>>> str2 = '1'
>>> str2.join(str1)
'a1b1c1d1e1f1g1h'
ljust(width)
返回一个左对齐的字符串,并使用空格填充长度为width的新字符串
>>> str1
'abcdefgh'
>>> str1.ljust(6)
'abcdefgh'
>>> str1.ljust(10)
'abcdefgh '
>>> str1.ljust(10,'1')
'abcdefgh11'
lstrip()
去掉字符串左边的所有空格
>>> str1 = ' sfasgsdg '
>>> str1.lstrip()
'sfasgsdg '
rjust(width)
返回一个右对齐的字符串,并使用空格填充长度为width的新字符串
>>> str1 = 'abcdefgh'
>>> str1.rjust(6)
'abcdefgh'
>>> str1.rjust(10)
' abcdefgh'
>>> str1.rjust(10,'1')
'11abcdefgh'
rstrip()
删除字符串末尾的空格
>>> str1 = ' sfasgsdg '
>>> str1.rstrip()
' sfasgsdg'
strip([chars])
删除字符串前边和后边所有的空格,chars参数可以定制删除的字符,可选
>>> str1 = ' sfasgsdg '
>>> str1.strip()
'sfasgsdg'
>>> str1 = '1afsa1vdag1'
>>> str1.strip('1')
'afsa1vdag'
zfill(width)
返回长度为width的字符串,原字符串右对齐,前边用0填充
>>> str1 = 'dagsdgaa'
>>> str1.zfill(6)
'dagsdgaa'
>>> str1.zfill(10)
'00dagsdgaa'
(3)检查字符串
isalnum()
如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False
>>> str1 = ''
>>> str2 = 'fa513'
>>> str3 = ' afsaf56'
>>>> str1.isalnum()
False
>>> str2.isalnum()
True
>>> str3.isalnum()
False
isalpha()
如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False。为防止将不同系列中的相同的字符都判断为字母,可以先将数据encode成utf-8的形式再进行判断
>>> 'A'.isalpha()
True
>>> 'A'.encode(encoding='utf-8').isalpha()
True
>>> 'Α'.isalpha()
True
>>> 'Α'.encode(encoding='utf-8').isalpha()
False
>>> 'А'.isalpha()
True
>>> 'А'.encode(encoding='utf-8').isalpha()
False
第一个“A”为英文字母,第二个和第三个分别为希腊字母与俄文字母
isdecimal()、isdigit()、isnumeric()
都用于判断字符串中是否包含数字,区别如下:
isdecimal:是否为十进制数字符,包括Unicode数字、双字节全角数字,不包括罗马数字、汉字数字、小数;
isdigit:是否为数字字符,包括Unicode数字,单字节数字,双字节全角数字,不包括汉字数字,罗马数字、小数
isnumeric:是否所有字符均为数值字符,包括Unicode数字、双字节全角数字、罗马数字、汉字数字,不包括小数。
>>> def isnumber(s):
print(s+'isdigit: ',s.isdigit())
print(s+'isdecimal: ',s.isdecimal())
print(s+'isnumeric: ',s.isnumeric())
>>> isnumber('123')
123isdigit: True
123isdecimal: True
123isnumeric: True
>>> isnumber('123.0')
123.0isdigit: False
123.0isdecimal: False
123.0isnumeric: False
>>> isnumber('一二三')
一二三isdigit: False
一二三isdecimal: False
一二三isnumeric: True
>>> isnumber('壹贰叁')
壹贰叁isdigit: False
壹贰叁isdecimal: False
壹贰叁isnumeric: True
>>> isnumber('ⅠⅡⅢ')
ⅠⅡⅢisdigit: False
ⅠⅡⅢisdecimal: False
ⅠⅡⅢisnumeric: True
islower()
如果字符串中至少包含一个区分大小写的字符,并且这些字符都是小写,则返回True,否则返回False
isupper()
如果字符串中至少包含一个区分大小写的字符,并且这些字符都是小写,则返回True,否则返回False
isspace()
如果字符串中只包含空格,则返回True,否则返回False
istitle()
如果字符串是标题化(所有的单词都是以大写开始,其余字母均小写),则返回True,否则返回False
endwith(sub[,start[,end]])
检查字符串是否以sub子字符串结束,如果是,返回True,否则返回False。start和end参数表示范围,可选
sub不仅可以是一个字符串,也可以由多个字符串组成的元组,只要满足其中一个就返回True
>>> 'I Love You'.endswith('You')
True
>>> 'I Love You'.endswith(('You','Him','Her','Me'))
True
find(sub[,start[,end]])
检查sub是否包含在字符串中,如果有则返回索引值,否则返回-1,start和end参数表示范围,可选
>>>'Hello world'.find('o')
4
>>> 'Hello world'.find('i')
-1
index(sub[,start[,end]])
跟find方法一样,不过如果sub不在字符串中会产生异常
>>> 'Hello world'.index('o')
4
>>> 'Hello world'.index('i')
Traceback (most recent call last):
File "<pyshell#28>", line 1, in <module>
'Hello world'.index('i')
ValueError: substring not found
rfind(sub[,start[,end]])
类似于find()方法,不过是从右边开始查找
>>> 'Hello world'.rfind('o')
7
>>> 'Hello world'.rfind('i')
-1
rindex(sub[,start[,end]])
类似于index()方法,不过是从右边开始查找
>>> 'Hello world'.rindex('o')
7
>>> 'Hello world'.rindex('i')
Traceback (most recent call last):
File "<pyshell#32>", line 1, in <module>
'Hello world'.rindex('i')
ValueError: substring not found
startwith(prefix[,start[,end]])
检查字符串是否以prefix子字符串开头,如果是,返回True,否则返回False。start和end参数表示范围,可选
prefix不仅可以是一个字符串,也可以由多个字符串组成的元组,只要满足其中一个就返回True
>>> 'I Love You'.startswith('I')
True
>>> 'I Love You'.startswith(('I','You','He','She'))
True
(4)其他
count(sub[,start[,end]])
返回sub在字符串里边出现的次数,start和end参数表示范围,可选
>>> 'Hello world'.count('l')
3
>>> 'Hello world'.count('i')
0
encode(encoding=‘utf-8’,errors=‘strict’)
以encoding指定的编码格式对字符串进行编码
基本的编码类型有ASCII编码(英文)、GB2312编码(中文)、Unicode编码(各语言统一)、Utf-8编码(由Unicode转化而来)等
partition(sub)
找到子字符串sub,把字符串分成一个3元组(pre_sub,sub,fol_sub),如果字符串不包含sub则返回(‘原字符串’,’ ‘,’ ')
>>> 'I Love You'.partition(' ')
('I', ' ', 'Love You')
>>> 'I Love You'.partition('p')
('I Love You', '', '')
rpartition(sub)
类似于partition()方法,不过是从右边开始查找
>>> 'I Love You'.rpartition(' ')
('I Love', ' ', 'You')
>>> 'I Love You'.rpartition('p')
('', '', 'I Love You')
replace(old,new[,count])
把字符串中的old子字符串替换成new子字符串,如果count指定,则替换不超过count次
>>> 'Hello world'.replace('l','i')
'Heiio worid'
>>> 'Hello world'.replace('l','i',2)
'Heiio world'
split(sep=None,maxsplit=-1)
不带参数默认是以空格为分隔符切片字符串,如果maxsplit参数有设置,则仅分隔maxsplit个字符串,返回切片后的字符串拼接的列表
str1 = ''
print('0:%s'%str1.split('/'))
print('1:%s'%str1.split('/')[0])
print('2:%s'%str1.split('/')[6])
print('3:%s'%str1.split('/')[-1])
print('4:%s'%str1.split('/')[-7])
print('5:%s'%str1.split('/',-1))
print('6:%s'%str1.split('/',0))
print('7:%s'%str1.split('/',1))
print('8:%s'%str1.split('/',2))
print('9:%s'%str1.split('/',3))
print('10:%s'%str1.split('/',4))
print('11:%s'%str1.split('/',5))
print('12:%s'%str1.split('/',6))
print('13:%s'%str1.split('/',7))
print('14:%s'%str1.split('/',8))
print('15:%s'%str1.split('/',9))
0:['https:', '', 'blog.csdn.net', 'mozheng_zy', 'article', 'details', '10406479']
1:https:
2:10406479
3:10406479
4:https:
5:['https:', '', 'blog.csdn.net', 'mozheng_zy', 'article', 'details', '10406479']
6:['']
7:['https:', '/blog.csdn.net/mozheng_zy/article/details/10406479']
8:['https:', '', 'blog.csdn.net/mozheng_zy/article/details/10406479']
9:['https:', '', 'blog.csdn.net', 'mozheng_zy/article/details/10406479']
10:['https:', '', 'blog.csdn.net', 'mozheng_zy', 'article/details/10406479']
11:['https:', '', 'blog.csdn.net', 'mozheng_zy', 'article', 'details/10406479']
12:['https:', '', 'blog.csdn.net', 'mozheng_zy', 'article', 'details', '10406479']
13:['https:', '', 'blog.csdn.net', 'mozheng_zy', 'article', 'details', '10406479']
14:['https:', '', 'blog.csdn.net', 'mozheng_zy', 'article', 'details', '10406479']
15:['https:', '', 'blog.csdn.net', 'mozheng_zy', 'article', 'details', '10406479']
splitlines(([keepends=False]))
按照’\n’、’\r’或‘\r\n’分隔,返回一个包含各行作为元素的列表,默认不包含换行符,若keepends=True,则包含换行符
str = '''从明天起,做一个幸福的人
喂马、劈柴,周游世界
从明天起,关心粮食和蔬菜
我有一所房子,面朝大海,春暖花开
从明天起,和每一个亲人通信
告诉他们我的幸福
那幸福的闪电告诉我的
我将告诉每一个人
给每一条河每一座山取一个温暖的名字
陌生人,我也为你祝福
愿你有一个灿烂的前程
愿你有情人终成眷属
愿你在尘世获得幸福
我只愿面朝大海,春暖花开'''
print(str.splitlines())
print(str.splitlines(True))
['从明天起,做一个幸福的人', '喂马、劈柴,周游世界', '从明天起,关心粮食和蔬菜', '我有一所房子,面朝大海,春暖花开', '', '从明天起,和每一个亲人通信', '告诉他们我的幸福', '那幸福的闪电告诉我的', '我将告诉每一个人', '', '给每一条河每一座山取一个温暖的名字', '陌生人,我也为你祝福', '愿你有一个灿烂的前程', '愿你有情人终成眷属', '愿你在尘世获得幸福', '我只愿面朝大海,春暖花开']
['从明天起,做一个幸福的人\n', '喂马、劈柴,周游世界\n', '从明天起,关心粮食和蔬菜\n', '我有一所房子,面朝大海,春暖花开\n', '\n', '从明天起,和每一个亲人通信\n', '告诉他们我的幸福\n', '那幸福的闪电告诉我的\n', '我将告诉每一个人\n', '\n', '给每一条河每一座山取一个温暖的名字\n', '陌生人,我也为你祝福\n', '愿你有一个灿烂的前程\n', '愿你有情人终成眷属\n', '愿你在尘世获得幸福\n', '我只愿面朝大海,春暖花开']
split与splitlines的区别:
>>> print('hello\n'.splitlines(),'hello\n'.split('\n'))
['hello'] ['hello', '']
translate(table)
根据table的规则(可以由str.maketrans(‘a’,‘b’)定制)转换字符串中的字符
(5)格式化
format()
format()方法接受位置参数与关键字参数
位置参数:
>>> '{0} love {1}{2}'.format('I','you','!')
'I love you!'
关键字参数:
>>> '{a} love {b}{c}'.format(a='I',b='you',c='!')
'I love you!'
如果要将位置参数与关键字参数结合使用,必须把位置参数放在关键字参数之前,否则会出错:
>>> '{0} love {b}{c}'.format('I',b='you',c='!')
'I love you!'
>>> '{a} love {b}{0}'.format(a='I',b='you','!')
SyntaxError: positional argument follows keyword argument
在格式化中,如果想让最终的结果显示{},可以在它外面再包一层{}:
>>> '{{0}}'.format('123')
'{0}'
特殊功能:
>>> '{0:.2f}'.format(3.14159)
'3.14'
“:”表示格式化符号的开始,“.2”表示四舍五入保留两位小数点,f表示定点数
格式化操作符:%
符号 | 含义 |
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同%e,用科学计数法格式化浮点数 |
%g | 根据值的大小决定用%f或%e |
%G | 作用同%g,根据值的大小决定使用%f或%E |
>>> '%c'%33
'!'
>>> '%c'%103
'g'
>>> '%d转化为八进制是:%o'%(234,234)
'234转化为八进制是:352'
>>> '%d转化为十六进制是:%x'%(234,234)
'234转化为十六进制是:ea'
>>> '%f'%123456
'123456.000000'
>>> '%.1f'%123456
'123456.0'
>>> '%e'%123456
'1.234560e+05'
>>> '%E'%123456
'1.234560E+05'
>>> '%g'%123456
'123456'
>>> '%g'%51686262843512689365
'5.16863e+19'
>>> '%g'%1.265955995296
'1.26596'
辅助指令
符号 | 含义 |
m.n | m是显示的最小总宽度,n是小数点后的位数 |
- | 结果左对齐 |
+ | 在正数前面显示加号(+) |
# | 在八进制前面显示‘0o’,在十六进制前面显示‘0x’或’0X’ |
0 | 显示的数字前面填充‘0’代替空格 |
>>> '%6.2f'%3.14159
' 3.14'
>>> '%06.2f'%3.14159
'003.14'
>>> '%-6.2f'%3.14159
'3.14 '
>>> '%-06.2f'%3.14159
'3.14 '
>>> '%-+6.2f'%3.14159
'+3.14 '
>>> '%#o'%123
'0o173'
>>> '%#x'%123
'0x7b'
>>> '%#X'%123
'0X7B'
4.部分转义字符
符号 | 说明 |
\’ | 单引号 |
\" | 双引号 |
\a | 发出系统响铃声 |
\b | 退格符 |
\n | 换行符 |
\t | 横向制表符(TAB) |
\v | 纵向制表符 |
\r | 回车符 |
\f | 换页符 |
\o | 八进制数代表的字符 |
\x | 十六进制数代表的字符 |
\0 | 表示一个空字符 |
\ | 反斜杠 |