1. 写函数,函数可以支持接收任意数字(位置传参)并将所有数据相加并返回。

    答案

    def func(*args):
    count = 0
    for i in args:
    count += i
    return count
    print(func(1,2,3,4)) # 输出结果
    10
  2. 看代码写结果

    def func():
    return 1,2,3 val = func()
    print( type(val) == tuple )
    print( type(val) == list )

    答案

    True
    Flase
    # 知识点,ruturn后面接多个值返回的是一个元组
  3. 看代码写结果

    def func(*args,**kwargs):
    pass # a. 请将执行函数,并实现让args的值为 (1,2,3,4)
    # b. 请将执行函数,并实现让args的值为 ([1,2,3,4],[11,22,33])
    # c. 请将执行函数,并实现让args的值为 ([11,22],33) 且 kwargs的值为{'k1':'v1','k2':'v2'}
    # d. 如执行 func(*{'武沛齐','金鑫','女神'}),请问 args和kwargs的值分别是?
    # e. 如执行 func({'武沛齐','金鑫','女神'},[11,22,33]),请问 args和kwargs的值分别是?
    # f. 如执行 func('武沛齐','金鑫','女神',[11,22,33],**{'k1':'栈'}),请问 args和kwargs的值分别是?

    答案

    a.
    def func(*args,**kwargs):
    return args
    print(func(1,2,3,4))
    # 结果
    (1, 2, 3, 4) b.
    def func(*args,**kwargs):
    return args
    ret = func([1,2,3,4],[11,22,33])
    print(ret)
    # 结果
    ([1, 2, 3, 4], [11, 22, 33]) c.
    def func(*args,**kwargs):
    return args,kwargs
    ret = func([11,22],33,k1='v1',k2='v2')
    print(ret)
    # 结果
    (([11, 22], 33), {'k1': 'v1', 'k2': 'v2'}) d.
    args:('武沛齐','金鑫','女神')
    kwargs:{} # **kwargs什么都没有接收到 e.
    args: ({'女神', '金鑫', '武沛齐'}, [11, 22, 33])
    kwargs: {} f.
    args:('武沛齐','金鑫','女神',[11,22,33])
    kwargs:{'k1':'栈'}
  4. 看代码写结果

    def func(name,age=19,email='123@qq.com'):
    pass # a. 执行 func('alex') ,判断是否可执行,如可以请问 name、age、email 的值分别是?
    # b. 执行 func('alex',20) ,判断是否可执行,如可以请问 name、age、email 的值分别是?
    # c. 执行 func('alex',20,30) ,判断是否可执行,如可以请问 name、age、email 的值分别是?
    # d. 执行 func('alex',email='x@qq.com') ,判断是否可执行,如可以请问 name、age、email 的值分别是?
    # e. 执行 func('alex',email='x@qq.com',age=99) ,判断是否可执行,如可以请问 name、age、email 的值分别是?
    # f. 执行 func(name='alex',99) ,判断是否可执行,如可以请问 name、age、email 的值分别是?
    # g. 执行 func(name='alex',99,'111@qq.com') ,判断是否可执行,如可以请问 name、age、email 的值分别是?

    答案

    a.
    可以执行
    alex 19 123@qq.com b.
    可以执行
    alex 20 123@qq.com c.
    可以执行
    alex 20 30 d.
    可以执行
    alex 19 x@qq.com e.
    可以执行
    alex 99 x@qq.com f.
    不能执行
    关键字参数要在位置参数的后边 g.
    不能执行
    关键字参数要在位置参数的后边
  5. 看代码写结果

    def func(users,name):
    users.append(name)
    return users result = func(['武沛齐','李杰'],'alex')
    print(result)

    答案

    (['武沛齐','李杰','alex'])
    
    
  6. 看代码写结果 #此题有坑

    def func(v1):
    return v1* 2 def bar(arg):
    return "%s 是什么玩意?" %(arg,) val = func('你')
    data = bar(val)
    print(data)

    答案


  7. 看代码写结果

    def func(v1):
    return v1* 2 def bar(arg):
    msg = "%s 是什么玩意?" %(arg,)
    print(msg)
    # 没有return返回为None
    val = func('你')
    data = bar(val)
    print(data)

    答案

    你你 是什么玩意?
    None
  8. 看代码写结果

    v1 = '武沛齐'
    
    def func():
    print(v1) func()
    v1 = '老男人'
    func()

    答案

    武沛齐
    老男人
  9. 看代码写结果

    v1 = '武沛齐'
    
    def func():
    v1 = '景女神'
    def inner():
    print(v1)
    v1 = '肖大侠'
    inner()
    func()
    v1 = '老男人'
    func()

    答案

    肖大侠
    肖大侠
  10. 看代码写结果【可选】

    def func():
    data = 2*2
    return data new_name = func
    val = new_name()
    print(val) # 注意:函数类似于变量,func代指一块代码的内存地址。

    答案

    4
    
    
  11. 看代码写结果【可选】

    def func():
    data = 2*2
    return data data_list = [func,func,func]
    for item in data_list:
    v = item()
    print(v) # 注意:函数类似于变量,func代指一块代码的内存地址。

    答案

    4
    4
    4
  12. 看代码写结果(函数可以做参数进行传递)【可选】# 此题有异议

    def func(arg):
    arg() def show():
    print('show函数') func(show)

    答案

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

    答案

    def func(*args)
    count = 0
    for i in args:
    count += i
    return count
    func(1,2,3,4,5,6) # 结果
    21
  14. 读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什么?

a=10
b=20
def test5(a,b): print(a,b) c = test5(b,a)
print(c)

答案

a:20
b:10
c:None
  1. 读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什么?
a=10
b=20
def test5(a,b):
a=3
b=5
print(a,b)
c = test5(b,a)
print(c)

答案

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

答案

def func(*args,**kwargs)
return args
ret = func(*[1,2,3,4],*['a','b','c'],**{'name':'alex','age':98})
print(ret)
  1. 写函数,接收两个数字参数,将较小的数字返回.

答案

def func(x,y):
return x if x > y else y
print(func(1,2))
# 结果
2
  1. 写函数,接收一个参数(此参数类型必须是可迭代对象),将可迭代对象的每个元素以’_’相连接,形成新的字符串,并返回.

例如 传入的可迭代对象为[1,'老男孩','武sir']返回的结果为’1_老男孩_武sir’

答案


19.有如下函数:

def wrapper():

	def inner():

		print(666)

 wrapper()

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

答案

def wrapper():

	def inner():

		print(666)
inner()
wrapper(inner)
  1. 相关面试题:

写出下列代码结果:

def foo(a,b,*args,c,sex=None,**kwargs):

	print(a,b)

	print(c)

	print(sex)

	print(args)

	print(kwargs)

\# foo(1,2,3,4,c=6)

\# foo(1,2,sex='男',name='alex',hobby='old_woman')

\# foo(1,2,3,4,name='alex',sex='男')

\# foo(1,2,c=18)

\# foo(2, 3, [1, 2, 3],c=13,hobby='喝茶')

\# foo(*[1, 2, 3, 4],**{'name':'太白','c':12,'sex':'女'})

答案

1 2
6
(3,4)
None
{} 报错 报错

python之道10的更多相关文章

  1. Python补充06 Python之道

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python有一个彩蛋,用下面语句调出: import this 该彩蛋的文档记录 ...

  2. 彩蛋 Python之道

    彩蛋 Python之道 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 使用下面的语句可以调出Python中的一个彩蛋, impo ...

  3. 【转】Python之道

    作者:Vamei 出处:http://www.cnblogs.com/vamei Python有一个彩蛋,用下面语句调出: import this 该彩蛋的文档记录于PEP 20. 语句执行之后,终端 ...

  4. Building Python 2.7.10 with Visual Studio 2010 or 2015 - Google Chrome

    您的浏览器(Chrome 33) 需要更新.该浏览器有诸多安全漏洞,无法显示本网站的所有功能. 了解如何更新浏览器 × p-nand-q.com C++  Python  Programming  L ...

  5. python入门(10)使用List和tuple

    python入门(10)使用List和tuple list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可 ...

  6. Python之道(一)之安装Python

    "Python之道"首先介绍一下在windows系统下怎样安装Python开发环境. (1)下载MSI安装文件 进入网址www.python.org,点击Downloads进入下载 ...

  7. Python web前端 10 bootstrp

    Python web前端 10 bootstrp 1.媒体查询 <style> *{ margin: 0; padding: 0; } div{ width: 110px; height: ...

  8. 万门大学Python零基础10天进阶班视频教程

    点击了解更多Python课程>>> 万门大学Python零基础10天进阶班视频教程 课程简介: 旨在通过两周的学习,让学生不仅能掌握python编程基础从而进行计算机程序的开发, 还 ...

  9. 一入python深似海--python之道

    python社区不乏幽默.先来看"python之道"这首诗. 导入this包: import this 输出是一首诗,这首诗总结了Python的风格,能够指导Python程序猿的编 ...

随机推荐

  1. Keras实现MNIST分类

      仅仅为了学习Keras的使用,使用一个四层的全连接网络对MNIST数据集进行分类,网络模型各层结点数为:784: 256: 128 : 10:   使用整体数据集的75%作为训练集,25%作为测试 ...

  2. CentOS设置代理, yum, wget

    /etc # vi yum.conf [main] cachedir=/var/cache/yum/basearch/releasever keepcache=0 debuglevel=2 logfi ...

  3. MyBatis二级缓存配置

    正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持 Mybatis二级缓存是SessionFactory,如果两次查询基于同一个SessionFactory,那么就从二级缓存 ...

  4. C 语言实例 - 判断奇数/偶数

    C 语言实例 - 判断奇数/偶数 C 语言实例 C 语言实例 以下实例判断用户输入的整数是奇数还是偶数. 实例 #include <stdio.h> int main() { int nu ...

  5. null is not an object (evaluating 'Picker._init')

    安装完react-native-picker后,init出现报错,其实是原生配置还没完全生效,重启项目就可以了

  6. 洛谷 P2895 [USACO08FEB]流星雨Meteor Shower 解题报告

    一起来看流星雨吧(话说我还没看到过流星雨呢) 题目 Problem 小A则听说另一个骇人听闻的消息: 一场流星雨即将袭击整个霸中,由于流星体积过大,它们无法在撞击到地面前燃烧殆尽,届时将会对它撞到的一 ...

  7. ELK系列(1) - Elasticsearch + Logstash + Kibana + Log4j2快速入门与搭建用例

    前言 最近公司分了个ELK相关的任务给我,在一边学习一边工作之余,总结下这些天来的学习历程和踩坑记录. 首先介绍下使用ELK的项目背景:在项目的数据库里有个表用来存储消息队列的消费日志,这些日志用于开 ...

  8. js 获取两个日期相差的天数--自定义方法

    //获取两个日期的相差天数 datedifference=function(sDate1, sDate2) { var dateSpan, tempDate, iDays; sDate1 = Date ...

  9. codeforces597C-树状数组优化dp

    因为整个序列为一个1-n的排列,所以可以这样dp dp[i][j]代表长度为i,以数字j结尾的子序列 dp[i][j]=dp[i-1][1,2,3...j-1]; 这道题的答案就是 dp[k+1][1 ...

  10. 无线网路由器的dBm值

    首先,我们需要知道的是无线信号 dbm都是负数,最大是0:dbm值只在一种情况下为0,那就是在理想状态下经过实验测量的结果,一般我们认为 dbm为0是其最大值,意味着接收方把发射方发射的所有无线信号都 ...