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 ...
随机推荐
- OOP 面向对象 七大原则 (一)
OOP 面向对象 七大原则 (一) 大家众所周知,面向对象有三大特征继承封装多态的同时,还具有这七大原则,三大特征上一篇已经详细说明,这一篇就为大家详解一下七大原则: 单一职责原则,开闭原则,里氏 ...
- Qt QImage与OpenCV Mat转换
本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/51029382 应一个朋友的要求,整理总 ...
- 如何用Vim提高开发效率
即可 ●输入m获取到文章目录 推荐↓↓↓ C/C++编程 更多推荐<18个技术类公众微信> 涵盖:程序人生.算法与数据结构.黑客技术与网络安全.大数据技术.前端开发.Java.Python ...
- CAD教程----圆的优化命令viewres
CAD软件为了节省内存加快打开图纸的速度,会在显示圆形的时候,用很粗燥的直线表示园,这时我们可以不节省内存,使用viewres将圆形完整的显示出来. 这个值设置的越大,圆越圆(好绕口!)
- [GraphQL] Fetch Server Data and Client-side State in One Query using React Apollo + GraphQL
In this lesson we look at how the Apollo @client directive can be used to fetch client-side state al ...
- Django -> debug模式下的静态文件服务(/media/)
正式公布django项目的时候,假设存在静态文件(通常会统一放在名称为media或static的文件夹下),则须要建立url到文件系统的映射,比如.使用nginx的时候我们须要进行这种配置. # Dj ...
- Spark SQL with Hive
前一篇文章是Spark SQL的入门篇Spark SQL初探,介绍了一些基础知识和API,可是离我们的日常使用还似乎差了一步之遥. 终结Shark的利用有2个: 1.和Spark程序的集成有诸多限制 ...
- 转换Arcgis Server REST接口实现OL2直接调用
概述: 本文解说怎样通过Arcgis Server REST 的导出地图(Export)接口.实如今OL2中直接以WMS的方式调用Arcgis Server REST服务. 实现思路: 1.rest的 ...
- filezilla的root账户无法连接服务器解决办法
lz一直都是用filezilla上传文件到vm虚拟机的,用的是ubuntu14.04的系统.最近自己重新搭了lamp去做thinkphp的学习,lz有两个账户,一个是kin,另外一个是root.大家都 ...
- ROS-导航功能-RVIZ
前言:slam使用激光雷达完成了地图构建,现在介绍一下自主导航.move_base用于实现最优路径规划,amcl用于实现机器人定位. 前提:已下载并编译了相关功能包集,如还未下载,可通过git下载:h ...