python之道10
写函数,函数可以支持接收任意数字(位置传参)并将所有数据相加并返回。
答案
def func(*args):
count = 0
for i in args:
count += i
return count
print(func(1,2,3,4)) # 输出结果
10
看代码写结果
def func():
return 1,2,3 val = func()
print( type(val) == tuple )
print( type(val) == list )
答案
True
Flase
# 知识点,ruturn后面接多个值返回的是一个元组
看代码写结果
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':'栈'}
看代码写结果
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.
不能执行
关键字参数要在位置参数的后边看代码写结果
def func(users,name):
users.append(name)
return users result = func(['武沛齐','李杰'],'alex')
print(result)
答案
(['武沛齐','李杰','alex'])看代码写结果 #此题有坑
def func(v1):
return v1* 2 def bar(arg):
return "%s 是什么玩意?" %(arg,) val = func('你')
data = bar(val)
print(data)答案
看代码写结果
def func(v1):
return v1* 2 def bar(arg):
msg = "%s 是什么玩意?" %(arg,)
print(msg)
# 没有return返回为None
val = func('你')
data = bar(val)
print(data)答案
你你 是什么玩意?
None看代码写结果
v1 = '武沛齐' def func():
print(v1) func()
v1 = '老男人'
func()答案
武沛齐
老男人看代码写结果
v1 = '武沛齐' def func():
v1 = '景女神'
def inner():
print(v1)
v1 = '肖大侠'
inner()
func()
v1 = '老男人'
func()答案
肖大侠
肖大侠看代码写结果【可选】
def func():
data = 2*2
return data new_name = func
val = new_name()
print(val) # 注意:函数类似于变量,func代指一块代码的内存地址。答案
4看代码写结果【可选】
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看代码写结果(函数可以做参数进行传递)【可选】# 此题有异议
def func(arg):
arg() def show():
print('show函数') func(show)答案
show函数写函数,接收n个数字,求这些参数数字的和。(动态传参)
答案
def func(*args)
count = 0
for i in args:
count += i
return count
func(1,2,3,4,5,6) # 结果
21读代码,回答:代码中,打印出来的值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
- 读代码,回答:代码中,打印出来的值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
- 传入函数中多个列表和字典,如何将每个列表的每个元素依次添加到函数的动态参数args里面?如何将每个字典的所有键值对依次添加到kwargs里面?
答案
def func(*args,**kwargs)
return args
ret = func(*[1,2,3,4],*['a','b','c'],**{'name':'alex','age':98})
print(ret)
- 写函数,接收两个数字参数,将较小的数字返回.
答案
def func(x,y):
return x if x > y else y
print(func(1,2))
# 结果
2
- 写函数,接收一个参数(此参数类型必须是可迭代对象),将可迭代对象的每个元素以’_’相连接,形成新的字符串,并返回.
例如 传入的可迭代对象为[1,'老男孩','武sir']返回的结果为’1_老男孩_武sir’
答案
19.有如下函数:
def wrapper():
def inner():
print(666)
wrapper()
你可以任意添加代码,执行inner函数.
答案
def wrapper():
def inner():
print(666)
inner()
wrapper(inner)
- 相关面试题:
写出下列代码结果:
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的更多相关文章
- Python补充06 Python之道
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python有一个彩蛋,用下面语句调出: import this 该彩蛋的文档记录 ...
- 彩蛋 Python之道
彩蛋 Python之道 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 使用下面的语句可以调出Python中的一个彩蛋, impo ...
- 【转】Python之道
作者:Vamei 出处:http://www.cnblogs.com/vamei Python有一个彩蛋,用下面语句调出: import this 该彩蛋的文档记录于PEP 20. 语句执行之后,终端 ...
- Building Python 2.7.10 with Visual Studio 2010 or 2015 - Google Chrome
您的浏览器(Chrome 33) 需要更新.该浏览器有诸多安全漏洞,无法显示本网站的所有功能. 了解如何更新浏览器 × p-nand-q.com C++ Python Programming L ...
- python入门(10)使用List和tuple
python入门(10)使用List和tuple list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可 ...
- Python之道(一)之安装Python
"Python之道"首先介绍一下在windows系统下怎样安装Python开发环境. (1)下载MSI安装文件 进入网址www.python.org,点击Downloads进入下载 ...
- Python web前端 10 bootstrp
Python web前端 10 bootstrp 1.媒体查询 <style> *{ margin: 0; padding: 0; } div{ width: 110px; height: ...
- 万门大学Python零基础10天进阶班视频教程
点击了解更多Python课程>>> 万门大学Python零基础10天进阶班视频教程 课程简介: 旨在通过两周的学习,让学生不仅能掌握python编程基础从而进行计算机程序的开发, 还 ...
- 一入python深似海--python之道
python社区不乏幽默.先来看"python之道"这首诗. 导入this包: import this 输出是一首诗,这首诗总结了Python的风格,能够指导Python程序猿的编 ...
随机推荐
- 3dmax tcb控制器
https://wenku.baidu.com/video/course/v/3a0e059d884c4d0b03bf85441b87311b 7.48开始 tcb控制器比较适合产生平滑动画 张力Te ...
- unity5.5打包
https://docs.unity3d.com/ScriptReference/BuildPipeline.BuildAssetBundles.html 5.34升5.5打包bundle遇到问题 A ...
- 洛谷P1228 地毯填补问题
P1228 地毯填补问题 题目描述 相传在一个古老的阿拉伯国家里,有一座宫殿.宫殿里有个四四方方的格子迷宫,国王选择驸马的方法非常特殊,也非常简单:公主就站在其中一个方格子上,只要谁能用地毯将除公主站 ...
- 洛谷P3003 [USACO10DEC]苹果交货Apple Delivery
P3003 [USACO10DEC]苹果交货Apple Delivery 题目描述 Bessie has two crisp red apples to deliver to two of her f ...
- 洛谷P1439 排列LCS问题
P1439 排列LCS问题 题目描述 给出1-n的两个排列P1和P2,求它们的最长公共子序列. 输入输出格式 输入格式: 第一行是一个数n, 接下来两行,每行为n个数,为自然数1-n的一个排列. 输出 ...
- 洛谷P3688/uoj#291. [ZJOI2017]树状数组
传送门(uoj) 传送门(洛谷) 这里是题解以及我的卡常数历程 话说后面那几组数据莫不是lxl出的这么毒 首先不难发现这个东西把查询前缀和变成了查询后缀和,结果就是查了\([l-1,r-1]\)的区间 ...
- 解决resignFirstResponder或者endEditing无效的办法
当你想要收回弹出的键盘时却发现平时用的resignFirstResponder和endEditing都失去作用时,应该考虑一下当前的TextField是否为第一响应者,如果不是第一响应者的话,自然下面 ...
- 配置vmware的固定ip
一 .概述 为什么要配置固定IP呀?这个很容易解释啊,因为配置集群要设置固定IP(主结点需要管理子结点,通过固定IP识别机器),因为你访问虚拟机方便(不固定IP访问前还需要先查下虚拟机当前分配IP,比 ...
- 解决sublime text无法安装插件问题
解决sublime text无法安装插件问题最近在sublime text3中使用命令ctrl+shift+p命令安装插件发现不能安装了,一会儿报错 这个错误表示没有可用的安装包,经过一番探索发现是配 ...
- Python内建函数一
内建函数 1. abs(number) 用法:返回数字的绝对值 2. all(iterable) 用法:如果iterable的所有元素都是真值,就返回True,否则返回False 3. any(ite ...