Python函数式编程面试题四

226 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第26天,点击查看活动详情

1、查看一个对象的类型关键字是什么?查看对象的内存地址关键字是什么

查看对象的类型使用type()这个方法

list1 = [1,2,3,4,5,67,9]
print(type(list1))

此时运行结果为<class 'list'>,表示list1是一个列表

查看对象的内存地址使用id()这个方法

list1 = [1,2,3,4,5,67,9]
print(id(list1))

此时运行结果为“140661953106880”,表示list1在内存的地址这个。

2、怎么获取字符串的索引信息

使用index()查询字符在字符串中的索引

str1="abcdefdfdfdf"
print(str1.index("f"))

此时运行结果为5,表示字母f在字符串str1中第5个索引的位置,如果有相同的,会返回第一个索引的值。

3、举例说明列表推导式的使用

推导式公式:【表达式 for 迭代变量 in 可迭代对象 if 条件表达式】

list1 = [ i for i in range(0,11) if i %2 ==0]
print(list1)

此时运行结果为[0, 2, 4, 6, 8, 10],获取10以内的偶数,包含10,最后获得一个列表。

4、怎么理解函数的返回值

函数体中return语句有指定返回值时返回的就是其值

函数体重没有return语句时,运行结束会隐含返回None作为返回值,类型是NoneType,与return、return None等效

def func(a,b):
    num = a+b
    return num
print(func(1,2))

此时运行结果为3,函数中返回a+b值,在调用的时候a传的是1,b传的是2,1+2=3,所以最后返回一个3

5、字符串与列表之间的互相转换

字符串转化成列表

str1 = "Python,你好,测试一下"
list_str = str1.split(",")
print(list_str)
print(type(list_str))

此时运行结果为['Python,你好,测试一下'] <class 'list'> 生成一个列表

列表转化成字符串

list1 = ["test","加油","你好","1234"]
str1 ="".join(list1)
print(str1)
print(type(str1))

此时运行结果为test加油你好1234 <class 'str'>,把列表转化成一个字符串。注意:列表转化字符串时列表中不能有数字,要不转化的时候会报错。

6、字符串的替换使用到的方法是?

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

dict1 = {"name":"admin","age":18,"passwd":"123456"}
for key,value in dict1.items():
    if "admin"==value:
        item = value.replace("admin","亲爱的用户名")
        print(item)

此时运行结果为“亲爱的用户名”,把admin替换成了“亲爱的用户名”返回一个新的字符串。