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

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

def func(*args,**kwargs):
    num_sum = 0
    num_dic = []
    num = args
    num_dic = list(kwargs.values())
    for i in num:
        num_sum += i
    for j in num_dic:
        num_sum += j
    return  num_sum

res = func(1,2,3,4,5,6,a=1,b=5,c=4)
print(res)

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

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

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

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

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

def func(*args,**kwargs):
    print(args,kwargs)

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

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

 a = 2
 def wrapper():
     print(a)
 wrapper()

 结果:
 2

6.2

 a = 2
 def wrapper():
     a += 1
     print(a)
 wrapper()

 结果:
 报错     因为wrapper函数里没有a这个变量,所以无法自增      在wrapper函数里设置global a

6.3

def wrapper():
     a = 1
     def inner():
         print(a)
     inner()
wrapper()

结果:
1

6.4

def wrapper():
     a = 1
     def inner():
         a += 1
         print(a)
     inner()
 wrapper()

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

def func(lst1,lst2):
    return lst1 if len(lst1) < len(lst2) else lst2

print(func([1,2,3,4,5],[6,7,8]))

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

def func(s):
    lst = []
    for i in s:
        lst.append(str(i))
    return "_".join(lst)

print(func((1,'老男孩','宝元')))

9.有如下函数:

def wrapper():
     def inner():
         print(666)
wrapper()

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

def wrapper():
    def inner():
        print(666)
    return inner()

wrapper()

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

a = 10
def func():

    a += 1
    print(a)
func()
a = 10
def func():
    global a
    a += 1
    print(a)

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. C++进程间通讯方式

    1.剪切板模式. 在MFC里新建两个文本框和两个按钮,点击发送按钮相当于复制文本框1的内容,点击接收按钮相当于粘贴到文本框2内: 发送和接收按钮处功能实现如下: void CClipboard2Dlg ...

  2. 利用Python进行数据分析:【IPython】

    一.IPython基础功能 1.IPython是交互式的Python命令行2.安装与使用 #安装:pip install ipython #使用:ipython与Python解释器的使用方法一致 注: ...

  3. java时间格式转换任意格式

    例如:20180918/120023转换成2018-09-18 12:00:23 //时间格式转换 public String getNomalTime(String oldTime){ String ...

  4. 限制页面被pc端访问

    在需要被pc端访问的页面的脚本里加上如下代码即可: <script>var system = {}; var p = navigator.platform; var u = navigat ...

  5. idea在debug模式下的启动特别慢?

    程序执行到这里时,一直卡着不动? 原因可能是在方法上打了断点导致的: 将方法上的断点去掉,点击[Done]即可.

  6. linux目录化结构

    初学Linux,首先需要弄清Linux 标准目录结构 / root --- 启动Linux时使用的一些核心文件.如操作系统内核.引导程序Grub等. home --- 存储普通用户的个人文件 ftp ...

  7. 利用JVM在线调试工具排查线上问题

    在生产上我们经常会碰到一些不好排查的问题,例如线程安全问题,用最简单的threaddump或者heapdump不好查到问题原因.为了排查这些问题,有时我们会临时加一些日志,比如在一些关键的函数里打印出 ...

  8. Hexo 博客快速整合gitalk组件,给静态博客添加动态评论功能!

    什么是 hexo-plugin-gitalk

  9. 洛谷 1552 [APIO2012]派遣

    题目背景 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿. 题目描述 在这个帮派里,有一名忍者被称之为Master.除了Master以外,每名忍者都有且仅有一个上级.为保密 ...

  10. Python玩转人工智能最火框架 TensorFlow应用实践 ☝☝☝

    Python玩转人工智能最火框架 TensorFlow应用实践 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌) 全民人工智能时代,不甘心只做一个旁观者,那就现在 ...