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']