Python方法的一些整理

startswith()

startwith 方法是用来测试字符串是否以 给定字符串开始

name = 'Swaroop' # This is a string object
if name.startswith('Swa'):
    # startwith 方法是用来测试字符串是否以 给定字符串开始
    print('Yes, the string starts with "Swa"')

find()

find 方法用来找出给定字符串在另一个字符串中的位置,或者返回 -1 以表示找
不到子字符串

name = 'Swaroop' 
if name.find('war') != -1:
    print('Yes, it contains the string "war"')

join()

join 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。

delimiter = '_*_'
mylist = ['Brazil', 'Russia', 'India', 'China']
print(delimiter.join(mylist))
Brazil_*_Russia_*_India_*_China

strip()

strip() 方法用于移除字符串头尾指定的字符(默认为空格)

delimiter = '_*_'
print(delimiter.strip('_'))  #*

replace()

replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。

delimiter = '_*_'
print(delimiter.replace('_','&')) #&*&

lower()

lower 方法转换字符串中所有大写字符为小写。

str = 'Asd'
print(str.lower())  #asd

lambda()

lambda只是一个表达式,函数体比def简单很多
lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去
lambda函数拥有自己的名字空间,且不能访问自有参数列表之外或全局名字空间里的参数
虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率
g = lambda x:x+1
print(g(1))
sum = lambda  x, y : x + y
print(sum(2, 3))  # 5

filter()

filter 返回所有不满足的值

reslut = filter(None, [1, 0, False, True])
print(list(reslut))  # [1, True]
reslut = filter(lambda num: num % 2, range(10) )

print(list(reslut))

locals()

locals 返回一个名字/值对的字典。这个字典的键字是字符串形式的变量名字,字典的值是变量的实际值。
locals 可以用于所有类型的变量。

def text(arg):
    z = 1
    print(locals())
    # 函数 foo 在它的局部名字空间中有两个变量:arg(它的值被传入函数),和 z(它是在函数里定义的)。
text(4)
def foo():
    _locals = locals()
    exec ('a=4',globals(),_locals)
    a=_locals['a']
    print(a)
foo()  #4
#执行过程首先有locals()函数生成一个字典{'a':'4'}
#然后globals返回一个全局变量的字典_locals,最后exec调用 

split()

split(str="", num=string.count(str)).,通过指定分隔符对字符串进行切片,如果参数num有指定值,则仅分隔num个字符串

ten_things = "Apples Oranges Crows Telephone Light Sugar"
print(ten_things.split(" ",3)) # 指定前3个元素用" "分隔,其余的作为一个整字符串,也就是说打印结果的列表中有3+1个元素
#打印结果:['Apples', 'Oranges', 'Crows', 'Telephone Light Sugar']

你可能感兴趣的:(Python方法的一些整理)