1.继续整理函数相关知识点。

2.写函数,接收n个数字,求这些参数数字的和。(动态传参)

  1. def func(*args,**kwargs):
  2. num_sum = 0
  3. num_dic = []
  4. num = args
  5. num_dic = list(kwargs.values())
  6. for i in num:
  7. num_sum += i
  8. for j in num_dic:
  9. num_sum += j
  10. return num_sum
  11. res = func(1,2,3,4,5,6,a=1,b=5,c=4)
  12. print(res)

3.读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什么?

  1. a=10
  2. b=20
  3. def test5(a,b):
  4. print(a,b)
  5. c = test5(b,a)
  6. print(c)
  1. 20 10 #因为test5的形参传过来的a = 20,b = 10
  2. None # test5因为没有return,所以返回None

4.读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什么?

  1. a=10
  2. b=20
  3. def test5(a,b):
  4. a=3
  5. b=5
  6. print(a,b)
  7. c = test5(b,a)
  8. print(c)
  1. 3 5 #因为在test5中a和b属于局部变量,分别被赋值3和5
  2. None # test5因为没有return,所以返回None

5.传入函数中多个列表和字典,如何将每个列表的每个元素依次添加到函数的动态参数args里面?如何将每个字典的所有键值对依次添加到kwargs里面?

  1. def func(*args,**kwargs):
  2. print(args,kwargs)
  3. tu = (1,2,3,4,5,6)
  4. dic = {"k1":1,"k2":2,"k3":3}
  5. func(*tu,**dic)

6.下面代码成立么?如果不成立为什么报错?怎么解决?
6.1

  1. a = 2
  2. def wrapper():
  3. print(a)
  4. wrapper()
  5. 结果:
  6. 2

6.2

  1. a = 2
  2. def wrapper():
  3. a += 1
  4. print(a)
  5. wrapper()
  6. 结果:
  7. 报错 因为wrapper函数里没有a这个变量,所以无法自增 wrapper函数里设置global a

6.3

  1. def wrapper():
  2. a = 1
  3. def inner():
  4. print(a)
  5. inner()
  6. wrapper()
  7. 结果:
  8. 1

6.4

  1. def wrapper():
  2. a = 1
  3. def inner():
  4. a += 1
  5. print(a)
  6. inner()
  7. wrapper()

7.写函数,接收两个列表,将列表长度比较小的列表返回.

  1. def func(lst1,lst2):
  2. return lst1 if len(lst1) < len(lst2) else lst2
  3. print(func([1,2,3,4,5],[6,7,8]))

8.写函数,接收一个参数(此参数类型必须是可迭代对象),将可迭代对象的每个元素以’ _’相连接,形成新的字符串,并返回.
例如 传入的可迭代对象为[1,'老男孩','宝元']返回的结果为’1 _老男孩 _宝元’

  1. def func(s):
  2. lst = []
  3. for i in s:
  4. lst.append(str(i))
  5. return "_".join(lst)
  6. print(func((1,'老男孩','宝元')))

9.有如下函数:

  1. def wrapper():
  2. def inner():
  3. print(666)
  4. wrapper()

你可以任意添加代码,执行inner函数.

  1. def wrapper():
  2. def inner():
  3. print(666)
  4. return inner()
  5. wrapper()

10.补充代码,可以使以下的代码可以运行

  1. a = 10
  2. def func():
  3. a += 1
  4. print(a)
  5. func()
  1. a = 10
  2. def func():
  3. global a
  4. a += 1
  5. print(a)
  6. func()

百万年薪python之路 -- 函数的动态参数练习的更多相关文章

  1. 百万年薪python之路 -- 函数的动态参数

    1.函数的动态参数 1.1 动态接收位置参数 在参数位置用*表示接受任意参数 def eat(*args): print('我想吃',args) eat('蒸羊羔','蒸熊掌','蒸鹿尾儿','烧花鸭 ...

  2. 百万年薪python之路 -- 函数名的第一类对象及使用

    函数名是一个变量, 但它是一个特殊的变量, 与括号配合可以执行函数的变量 1.1.函数名的内存地址 def func(): print("呵呵") print(func) 结果: ...

  3. 百万年薪python之路 -- 函数初始

    1.函数 1.1 认识函数 定义一个事情或者是功能,等到需要的时候直接去用就好了.那么这里定义东西就是一个函数 函数:对代码块和功能的封装和定义 函数的好处: 减少代码的重复性 代码可读性高 将功能进 ...

  4. 百万年薪python之路 -- 函数初始练习

    1.整理函数相关知识点 2.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. def func(lst): lst = lst[1::2] return l ...

  5. 百万年薪python之路 -- 内置函数二 -- 最常用的内置函数

    1.内置函数 1.1 匿名函数 匿名函数,顾名思义就是没有名字的函数(其实是有名字的,就叫lambda),那么什么函数没有名字呢?这个就是我们以后面试或者工作中经常用匿名函数 lambda,也叫一句话 ...

  6. 百万年薪python之路 -- 生成器

    1.生成器 #本质就是迭代器 1.1 生成器的构建方式 在python中有三种方式来创建生成器: ​ 1.通过生成器函数 ​ 2.通过生成器推导式 ​ 3.python内置函数或者模块提供 1.2 生 ...

  7. 自学python day 10 函数的动态参数、命名空间、作用域

    作业提升: s为字符串 s.isalnum() 所有字符都是字母或者数字 s.isalpha() 所有字符都是字母 s.isdigit() 所有字符否是数字 2. for i in range(1,1 ...

  8. 百万年薪python之路 -- 内置函数练习

    1.整理今天笔记,课上代码最少敲3遍. 2.用列表推导式做下列小题 过滤掉长度小于3的字符串列表,并将剩下的转换成大写字母 lst = [["a","b"],[ ...

  9. 百万年薪python之路 -- 内置函数

    内置对象(68个)第一部分 内置函数一共68个 一些可以重要性不高的内置函数,只需了解即可 all() any() bytes() callable() chr() ord() complex() d ...

随机推荐

  1. 【Django】ModelForm

    ModelForm 1.Model与Form内容回顾 Model - 数据库操作 - 验证 class A(MOdel): user = email = pwd = Form - class Logi ...

  2. Python学习笔记整理总结【MySQL】

    一. 数据库介绍 1.什么是数据库?数据库(Database)是按照数据结构来组织.存储和管理数据的仓库.每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据.我们也可以将 ...

  3. C# 反射Reflection——反射反射程序员的快乐

    一.什么是反射 反射Reflection:System.Reflection,是.Net Framework提供的一个帮助类库,可以读取并使用metadata. 反射是无处不在的,MVC-Asp.Ne ...

  4. 读《深入理解Elasticsearch》点滴-multi_match

    区分按字段为中心的查询.词条为中心的查询 注意高频词项被高得分词项(冷僻的词项)取代的问题 1.best_fields :适用于多字段查询且查询相同文本:得分取其中一个字段的最高分.可通过tie_br ...

  5. JavaScript总结(一)

    一.JavaScript 简介 1.1 .什么是 JavaScript? JavaScript 的简称:JS. JavaScript 是一个脚本.(不需要经过编译器编译的语言就叫做脚本) JavaSc ...

  6. JAVA面试题 (一)

    java作用域public private protected 不写-friendly的区别? public:可以被任何类引用. protected:除了其他包不能使用,当前类,子孙类,同一包下的所有 ...

  7. 长短时记忆神经网络(LSTM)介绍以及简单应用分析

    本文分为四个部分,第一部分简要介绍LSTM的应用现状:第二部分介绍LSTM的发展历史,并引出了受众多学者关注的LSTM变体——门控递归单元(GRU):第三部分介绍LSTM的基本结构,由基本循环神经网络 ...

  8. Python之——爱心代码参与情人节

    一行代码实现输出爱心图,参考https://zhuanlan.zhihu.com/p/23321351 原理: 1.借助数学函数——((x * 0.05) ** 2 + (y * 0.1) ** 2 ...

  9. 快学Scala 第二十课 (trait的构造顺序)

    trait的构造顺序: 首先调用超类构造器 特质构造器在超类构造器之后,类构造器之前执行 特质从左向右被构造 每个特质当中,父特质先被构造 如果多个特质共有一个父特质,而那个父特质已经被构造,则不会被 ...

  10. vue运行报错webpack-dev-server: command not found

    翻译过来就是: 'webpack-dev-server' 不是内部或外部命令,也不是可运行的程序 解决方法: 然后总结下成功的步骤: 1. 直接在项目目录下: cnpm install npm run ...