python_形参、实参
#参数:形参、实参
'''
def display_message(title):
print("My favourite book is %s" %title)
#return 0
#display_message('alice in Wonderland'.title())
def describe_pet(pet_name,animal_type="dog"):
"""显示宠物信息"""
print("My "+animal_type+"'s name is "+pet_name)
describe_pet(pet_name="Who") #该处实参使用形参的默认值,animal_type = dog
describe_pet(pet_name="Who",animal_type="cat") #animal_type提供了实参,Python将忽略形参的默认值
#describe_pet() #实参不匹配,没有指定任何参数,实参个数必须与形参个数一致
def null(x,y):
print(x)
print(y)
null(1,2)
print(display_message("mo"))
'''
#返回值
#让返回值变为可选的,只需要把可选的形参放在最后,并指定一个默认值——空字符串。但是在传实参时,位置与形参一一对应。
'''
def full_name(first_name,last_name,middle_name =''):
full_name = first_name+' '+middle_name+' '+last_name
return full_name.title()
name= full_name("liu","qian",'01')
print(name)
'''
#返回字典
'''
def info(name,age ,sex):
"""返回一个字典,其中包含有关一个人的信息"""
message = {'name':name,'age':age,'sex':sex}
return message
b=info("Monica",24,"F")
print(b)
def test1(**kwargs):
print(kwargs)
test1(name = "Lee",age = 24)
'''
#结合函数和while循环
def full_name(first_name,last_name):
full_name = first_name+' '+last_name
return full_name.title()
exit_flag = False
while not exit_flag:
print("Please input your name:","\n","(enter 'q' at any time to quit)")
f_name = input("First_name:") #输入first_name,last_name
if f_name == 'q':
#exit_flag = True
break
l_name = input("Last_name:")
if l_name == 'q':
exit_flag == 'q'
name = full_name(f_name,l_name) #调用方法传入实参
print(name)
----------------------------------------------------
def data(host,port=3396):
pass
data()
'''
#默认参数特点:调用函数时,默认参数非必传
#用途:1.默认安装值 2.数据库的端口号
'''
def test(**kwargs):
print(kwargs)
print(kwargs['name'])
test(name = 'Alex',age =22)
test(**{'name':'Alex','age':22})
'''
#*args接收N个位置参数,不能接收关键字参数,转换成元组的形式。
#kwargs把N个关键字参数,转换成字典的方式
def test2(name,hobby='tesla',*args,**kwargs):
info = {}
info['name']=name
info['hobby']=hobby
for key,value in kwargs.items():
info[key]=value
# print(name)
# print(kwargs)
return info
user_info =test2('alex','blue','apple',age=23,sex="f")
print(user_info)
python_形参、实参的更多相关文章
- python_形参何时影响实参
§对于绝大多数情况下,在函数内部直接修改形参的值不会影响实参.例如: >>> def addOne(a): print(a) a += 1 print(a) >>> ...
- python学习道路(day4note)(函数,形参实参位置参数匿名参数,匿名函数,高阶函数,镶嵌函数)
1.函数 2种编程方法 关键词面向对象:华山派 --->> 类----->class面向过程:少林派 -->> 过程--->def 函数式编程:逍遥派 --> ...
- C语言 01 形参实参
之前的都在印象笔记记录 continue 结束本轮循环体,进入下一次循环.break 直接结束整个while循环 形参:定时函数时函数名后面中的参数实参:调用函数时传入的具体数据基本数据类型作为形参, ...
- java 形参实参
java方法中传值和传引用的问题是个基本问题,但是也有很多人一时弄不清. (一)基本数据类型:传值,方法不会改变实参的值. public class TestFun { public static v ...
- day11函数(形参实参)
形参与实参 def fn(形参们): pass # 形参:定义函数,在括号内声明的变量名,用来结束外界传来的值# 实参:调用函数,在括号内传入的实际值,值可以为常量.变量.表达式或三者的组合 # 注: ...
- 关于函数传参的其他问题(const形参实参/可变形参)
const 形参和实参 当形参是 const 变量时,实参是 const 或者不是 const 变量都可以. 实参初始化形参时会忽略掉顶层 const: void gel(const int a){ ...
- 第十一篇 Python函数之定义&形参&实参&位置参数&关键字参数&可变长参数&默认参数
函数的定义:函数是为了完成某一特定功能的,函数是逻辑结构化和过程化的一种编程方法 函数的定义格式,函数一般都是有返回值的 #语法 #函数名要能反映其意义 def 函数名(参数1,参数2,参数3,... ...
- 【C++基础】形参实参
c++规定:一个函数的默认实参既可以在定义中,也可在声明中指定,但在一个文件(准确的说,是一个作用域)中只能为一个形参指定默认实参一次
- Javascript ----函数表达和形参实参
1.函数是对象,函数名实际上是函数对象的指针 1.函数声明方式 (函数声明提前) function sum(num1,num2){return num1+num2;} 2.函数表达式 var sums ...
随机推荐
- NOIP2018提高组金牌训练营——动态规划专题
NOIP2018提高组金牌训练营——动态规划专题 https://www.51nod.com/Live/LiveDescription.html#!#liveId=19 多重背包 二进制优化转化成01 ...
- 【UOJ#50】【UR #3】链式反应(分治FFT,动态规划)
[UOJ#50][UR #3]链式反应(分治FFT,动态规划) 题面 UOJ 题解 首先把题目意思捋一捋,大概就是有\(n\)个节点的一棵树,父亲的编号大于儿子. 满足一个点的儿子有\(2+c\)个, ...
- eclipse debug的时候提示debug Edit Source Lookup path
原因可能是代码资源包未加载到debug的路径中,解决方法如下: Debug 视图下 ->在调试的线程上 右键单击 ->选择Edit Source Lookup Path ->选择Ad ...
- 2、链接数据库+mongodb基础命令行+小demo
链接数据库并且打印出数据的流程:1.在CMD里面输入 mongod 2.在CMD里面输入 mongo 3.在输入mongodb命令行里面进行操作,首先输入 show dbs 来查看是否能够链接得上库4 ...
- springboot实现拦截器
你首先需要一个搭建好的springboot项目,具体怎么搭建我还没有相应的随笔可以交给你,可以自己上网上看一下,学习一下,之后我要是总结出来的话,这里面我会通知的 首先这个项目的目录结构是这样子的 首 ...
- asp.net MVC 自定义模型绑定 从客户端中检测到有潜在危险的 Request.QueryString 值
asp.net mvc 自定义模型绑定 有潜在的Requset.Form 自定义了一个模型绑定器.前端会传过来一些敏感字符.调用bindContext. valueProvider.GetValue( ...
- Ajax发送XML请求案例
Ajax发送XML请求需求: 根据输入的国家,输出这些国家下面的城市. 如果请求参数较多,而且请求参数的结构关系复杂,则可以考虑发送XML请求.XML请求的实质还是POST请求,只是在发送请求的客户端 ...
- snmp--CentOS安装Net-SNMP小计
http://blog.csdn.net/tmpbook/article/details/39620549
- Java泛型(一):入门、原理、使用
远在 JDK 1.4 版本的时候,那时候是没有泛型的概念的.当时 Java 程序员们写集合类的代码都是类似于下面这样: List list = new ArrayList(); list.add(&q ...
- Android网络编程(十)Retrofit2后篇[注解]
G相关文章 Android网络编程(一)HTTP协议原理 Android网络编程(二)HttpClient与HttpURLConnection Android网络编程(三)Volley用法全解析 An ...