python基础面试题101-110

Python函数调用的时候参数的传递方式是值传递还是引用传递?

# Python的参数传递有:位置参数、默认参数、可变参数、关键字参数。
函数的传值到底是值传递还是引用传递,要分情况:

不可变参数用值传递:

# 像整数和字符串这样的不可变对象,是通过拷贝进行传递的,因为你无论如何都不可能在原处改变

不可变对象

# 可变参数是引用传递的:
# 比如像列表,字典这样的对象是通过引用传递、和C语言里面的用指针传递数组很相似,可变对象
# 能在函数内部改变。

对缺省参数的理解 ?

缺省参数指在调用函数的时候没有传入参数的情况下,调用默认的参数,在调用函数的同时赋值时,
所传入的参数会替代默认参数。
*args 是不定长参数,他可以表示输入参数是不确定的,可以是任意多个。
**kwargs 是关键字参数,赋值的时候是以键 = 值的方式,参数是可以任意多对在定义函数的时候
不确定会有多少参数会传入时,就可以使用两个参数。

为什么函数名字可以当做参数用?

Python中一切皆对象,函数名是函数在内存中的空间,也是一个对象。

Python中pass语句的作用是什么?

在编写代码时只写框架思路,具体实现还未编写就可以用 pass 进行占位,使程序不报错,不会进
行任何操作。

有这样一段代码,print c会输出什么,为什么?

a = 10
b = 20
c = [a]
a = 15
答:[10]对于字符串、数字,传递是相应的值。

map函数和reduce函数?

①从参数方面来讲:
map()包含两个参数,第一个参数是一个函数,第二个是序列(列表 或元组)。其中,函数(即 map
的第一个参数位置的函数)可以接收一个或多个参数。
reduce()第一个参数是函数,第二个是序列(列表或元组)。但是,其函数必须接收两个参数。
②从对传进去的数值作用来讲:
map()是将传入的函数依次作用到序列的每个元素,每个元素都是独自被函数“作用”一次 。
reduce()是将传人的函数作用在序列的第一个元素得到结果后,把这个结果继续与下一个元素作用
(累积计算)。

递归函数停止的条件?

'''
递归的终止条件一般定义在递归函数内部,在递归调用前要做一个条件判断,根据判断的结果选择
是继续调用自身,还是 return;返回终止递归。
终止的条件:
1.判断递归的次数是否达到某一限定值
2.判断运算的结果是否达到某个范围等,根据设计的目的来选择
'''

回调函数,如何通信的?

'''
回调函数是把函数的地址作为参数传递给另一个函数,将整个函数当作一个对象,赋值给调用的函
数。
'''

Python主要的内置数据类型都有哪些? print dir( ‘a ’) 的输出?

# 内建类型:布尔类型、数字、字符串、列表、元组、字典、集合;
# 输出字符串‘a’的内建方法;

print(list(map(lambda x: x * x, [y for y in range(3)])))的输出?

1. [0, 1, 4]
posted @ 2019-12-12 20:51  極9527  阅读(222)  评论(0编辑  收藏  举报