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 ...
随机推荐
- 轻量级Java EE开发框架设计系统应用架构
首先来说一下Java EE 概述 其中常说的三大框架即是:ssh Spring:功能强大的组件粘合济,能够将你的所有的java功能模块用配置文件的方式组合起来(还让你感觉不到spring的存在)成为一 ...
- 解析xml文件,遍历输出xml文件中的所有节点, 最终模仿实现struts2框架自动封装参数的功能
程序结构:src文件夹下存放xml文件 该文件内容: <?xml version="1.0" encoding="UTF-8"?> <myst ...
- [SharePoint2010开发入门经典]SPS2010列表编程
本章概要: 1.理解SPS2010列表的结构和功能 2.使用客户端和服务器端对象模型,web service,wcf和RESTful service进行列表编程. 3.理解方法的使用 4.类表编程
- xml解析之----DOM解析
DOM模型(documentobject model) •DOM解析器在解析XML文档时,会把文档中的全部元素.依照其出现的层次关系.解析成一个个Node对象(节点). •在dom中.节点之间关系例如 ...
- WebService概述和CXF入门小程序
一. 什么是WedService? WebService不是框架, 甚至不是一种技术, 而是一种跨平台,跨语言的规范, WebService的出现是为了解决这种需求场景: 不同平台, 不同语言所编写的 ...
- HIbernate中openSession和getCurrentSession
这两者的差别网上非常多资源,我这里就copy一下了,然后有点问题的是今天遇到的问题. openSession和getCurrentSession的根本差别在于有没有绑定当前线程,所以,用法有差 ...
- fgets()函数和sscanf()函数的使用方法
fgets 百度百科:从文件结构体指针stream中读取数据,每次读取一行.读取的数据保存在buf指向的字符数组中.每次最多读取bufsize-1个字符(第bufsize个字符赋'\0'),假设文件里 ...
- Map (就一个json.jar)
public static void main(String[] args) { List<Map<Integer, String>> m = new ArrayList< ...
- HTML5+Spring-MVC实现上传图片本地保存
以下就是具体的代码: 1.在jsp页面中的代码: <span style="font-size:24px;"><form method="post&qu ...
- synchronized同步机制,修饰类和修饰对象的区别
synchronized用法 synchronized修饰的对象有几种: 修饰一个类:其作用的范围是synchronized后面括号括起来的部分,作用的对象是这个类的所有对象: 修饰一个方法:被修饰的 ...