打赏

Python基础(17)——函数、内置函数的用法、递归、程序执行的考试

1、列举布尔值为Flase的值

  0        None    空     Flase   []    ()   {}  ""

2、写函数:根据范围获取其中3和7整除的所有数的和,并返回调用者:符合条件的数字个数以及符合条件的数字的总和   如:def func(start,end):

def test(num):
    list1=[]
    for i in range(num):
        if i%3==0 and i%7==0:
            list1.append(i)
    return len(list1),sum(list1)
a=test(1000)
print(a)

3、函数的默认返回值是什么?    

  None

4、简述break    continue   return 区别

  break 打断循环跳出去

  continue 停止当前的循环,进入下个循环

  return 结束函数,返回值

5、函数传递参数时,作用域

  考的是函数作用域,参数的引用空间,     函数传递是给内部参数一个值,在函数内部起作用

6、简述三元运算

  i for i in range(100) i >5

7、lambda

  lambda x,y : (x+1,y+1) 

8、使用set集合获取两个列表中相同的元素集合

  & 合集                 |并集      -差集  

9、定义函数统计一个字符串中大写字母、小写字母、数字的个数,并以字典为结果

  islower 是否小写   isupper是否大写   isdecimal是否数字

10、简述函数的位置参数、关键字参数、默认参数、可变长参数

位置参数:按位置传入,一一对应

关键字参数,按形参名传入的参数

默认参数,形参给定默认的值,但是传实参的时候可以不管也可以改变他的值

可变长参数,*args  **kwargs ,前者对应列表等,当传入参数可变的情况下用,后者对应的是字典

11-16、检查代码

   略

17、python3和2中range区别

  3中的range等等都是返回对象,只有用的时候才能生成

  python2中的返回的是值

 18、书写执行结果

b = "old boy %d %%"%(12,)

print(b)

    结果为:  old boy 12 %

19、简述对象和类的关系

  类就是类型,各种数据类型现在也都归为类,而对象就是类的值

20、执行结果

def func(a1):
    return a1+100
func = lambda a1:a1+200
ret = func(10)
print(ret)

因为fun函数重名了,所以后面的函数把前面覆盖掉,那么结果就是执行后面一个函数  210

21、内置函数all和any的区别

  all 全真为真,否则为假, 空也为真

  any有一个为真就是真

22、文件打开模式'r'和'rb'区别

  r模式是只读模式,需要编码,默认是utf-8

  rb是二进制打开方式,省空间而且可以换平台

23、字符串‘老男人’转换成utf-8编码的字节类型

  字符串在内存中只有一种编码形式就是unicode,只有存储到磁盘的时候才有其他的编码

  两种方法

s = '老男孩'
a =bytes(s,encoding='utf-8')
print(a)

s.encode('utf-8')

24、二进制、八进制、十六进制 转换

  bin      oct   hex

25、globals(),locals()作用

  globals获取所有的全局变量

  locals获取局部变量

26、zip是把多个列表的元素,一一对应组合成元组,形成一个大的列表,多余的没有对应关系的元素抛弃掉

  

l1=['ale',1,2,3]
l2=['xiao',1,2,3]
s=zip(l1,l2)
print(list(s))

[('ale', 'xiao'), (1, 1), (2, 2), (3, 3)]

27、28、当调用一个函数作用是把外层的列表内的元素改变,那么是可行的,外面的列表会改变29、

30、函数就是变量,函数带()的就是值可以理解为变量的赋值,当引用函数名的时候就是引用了一个地址,而加上()就是运行这个函数要得到一个值

33、n的阶乘  

def func(n):
    if n == 1:
        return 1
    return n*func(n-1)
from functools import reduce

print(reduce(lambda x,y:x*y,[i for i in range(1,10)]))

 

posted on 2019-06-30 19:50  大有哥  阅读(211)  评论(0)    收藏  举报

导航