day8-函数
---def test(x): # def:定义函数的关键字,test:函数名, x相当于以前函数中的自变量
使用函数的好处:
1.代码重用
2.保持一致性,易于维护
3.可扩展性
def test(x): # def:定义函数的关键字,test:函数名, x相当于以前函数中的自变量
'''
2*x+1
:param x:整形数字
:return: 返回计算结果
'''
y=2*x+1
return y def test():
'''
2*x+1
:param x:整形数字
:return: 返回计算结果
'''
x=3
y=2*x+1
return y
a=test()
print(a)
---过程:就是没有返回值的函数
总结:
# 返回值数=0,返回None
# 返回值数=1,返回object(对象原本是什么,返回什么)
# 返回值数>1,返回tuple
def test01():
msg = 'test01'
print(msg) def test02():
msg = 'test02'
print(msg)
return msg def test03():
msg = 'test03'
print(msg)
return 1,2,3,4,'a',['alex'],{'name':'alex'},None def test04():
msg = 'test03'
print(msg)
return {'name':'alex'}
t1=test01()
t2=test02()
t3=test03()
t4=test04()
print(t1)
print(t2)
print(t3)
print(t4)
# test01
# test02
# test03
# test03
# None
# test02
# (1, 2, 3, 4, 'a', ['alex'], {'name': 'alex'}, None)
# {'name': 'alex'}
---函数参数
# 1.形参变量只有在被调用时才分配内存单元,调用结束时,即刻释放所分配的内存单元,(相当于门牌号)
# 因此,形参只在函数内部有效,函数,函数调用结束返回主调用函数后则不能再使用该形参变量
# 2.实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,他们都必须有确定的值,(基本数据类型)
# 以便把这些值传送给形参,因此应预先用赋值,输入的方法使参数获得确定值
def calc(x,y): #x=2,y=3
res=x**y
return x
return y
res=calc(2,3) # 实参:常量
# print(x)
# print(y)
print(res)
# a=10
# b=10
# calc(a,b) # 实参:变量 def test(x,y,z):#x=1,y=2,z=3
print(x)
print(y)
print(z)
#3.位置参数,必须一一对应,缺一不行多一也不行
# test(1,2,3) #4.关键字参数,无须一一对应,缺一不行多一也不行
# test(y=1,x=3,z=4) #位置参数必须在关键字参数左边
# test(1,y=2,3)#报错
# test(1,3,y=2)#报错
# test(1,3,z=2)
# test(1,3,z=2,y=4)#报错
# test(z=2,1,3)#报错
# type='mysql' 默认参数
# def handle(x,type='mysql'):
# print(x)
# print(type)
# handle('hello')
# handle('hello',type='sqlite')
# handle('hello','sqlite') # def install(func1=False,func2=True,func3=True):
# pass
#参数组:**字典 *列表
def test(x,*args):
print(x)
print(args) test(1)
#
# ()
test(1,2,3,4,5)
#
# (2, 3, 4, 5)
test(1,{'name':'alex'})
#
# ({'name': 'alex'},)
test(1,['x','y','z'])
#
# (['x', 'y', 'z'],)
test(1,*['x','y','z'])
#
# ('x', 'y', 'z')
test(1,*('x','y','z'))
#
# ('x', 'y', 'z') # def test(x,**kwargs):
# print(x)
# print(kwargs)
# test(1,y=2,z=3)
# test(1,1,2,2,2,2,2,y=2,z=3)
# test(1,y=2,z=3,z=3)#会报错 :一个参数不能传两个值 def test(x,*args,**kwargs):
print(x)
print(args,args[-1])
print(kwargs,kwargs.get('y'))
# test(1,1,2,1,1,11,1,x=1,y=2,z=3) #报错
test(1,1,2,1,1,11,1,y=2,z=3)
#
# (1, 2, 1, 1, 11, 1) 1
# {'y': 2, 'z': 3} 2 # test(1,*[1,2,3],**{'y':1})
day8-函数的更多相关文章
- python全栈开发-Day8 函数基础
python全栈开发-Day8 函数 一 .引子 1. 为何要用函数之不用函数的问题 #1.代码的组织结构不清晰,可读性差 #2.遇到重复的功能只能重复编写实现代码,代码冗余 #3.功能需要扩展时,需 ...
- Day8 函数指针做函数参数
课堂笔记 课程回顾 多态 virtual关键字 纯虚函数 virtual func() = 0; 提前布局vptr指针 面向接口编程 延迟绑定 多态的析构函数的虚函数. ...
- python基础一 day8 函数
函数的定义与函数的调用是两个部分 定义函数的时候里面的代码不执行,等到调用函数的时候再执行 只写return和不写return返回None 函数遇到return,这个函数就被结束 ...
- day8.函数基础
一.函数介绍 1.什么是函数 函数就是盛放代码的容器,把实现某一功能的一组代码丢到一个函数中 就做成了一个小工具 具备某一功能的工具->函数 事先准备工具的过 ...
- Learn day8 re正则表达式\search函数\反射\tcp发送消息(循环)\udp发送消息
1.匹配单个字符 # ### 正则表达式 - 单个字符匹配 import re ''' findall 把匹配的结果直接返回到列表中 lst = re.findall("正则表达式" ...
- python基础知识-day8(函数实战)
1 def out(): 2 username=input("请输入用户名:\n") 3 password=input("请输入密码:\n") 4 return ...
- python_way,day8 面向对象【多态、成员--字段 方法 属性、成员修饰符、特殊成员、异常处理、设计模式之单例模式、模块:isinstance、issubclass】
python_way day8 一.面向对象三大特性: 多态 二.面向对象中的成员 字段.方法属性 三.成员修饰符 四.特殊成员 __init__.__doc__.__call__.__setitem ...
- Python之路,Day8 - Socket编程进阶
Python之路,Day8 - Socket编程进阶 本节内容: Socket语法及相关 SocketServer实现多并发 Socket语法及相关 socket概念 socket本质上就是在2台 ...
- Day8 - Python网络编程 Socket编程
Python之路,Day8 - Socket编程进阶 本节内容: Socket语法及相关 SocketServer实现多并发 Socket语法及相关 socket概念 socket本质上就是在2台 ...
- ##DAY8 界面通信
##DAY8 界面通信 注意:延展中写的东西只能在类内使用 #pragma mark ———————属性传值—————————— (第一个页面往第二个页面传值) 一.属性传值:(第一个页面往第二个页面 ...
随机推荐
- springboot 快速开发的定制补充
增强 SpringBoot 快速开发工具 项目地址:https://gitee.com/sanri/web-ui 优点:这是一个 web 通用配置的组件,即插即用,可用于新项目或私活.是对 Sprin ...
- PHP list的赋值
List右边的赋值对象是一个以数值为索引的数组,左边的变量的位置和赋值对象的键值一一对应,有些位置的变量可以省略不写.非末尾的被赋值变量省略时,分隔的逗号不能省略.左边变量被赋值的顺序是从右到左的. ...
- Cocos2d-x 学习笔记(11.9) FadeTo FadeIn FadeOut
1. 用处 FadeTo:由正常变透明,是另两个的父类,不支持reverse()方法.FadeIn:变完全不透明.FadeOut:变完全透明. 2. 使用 FadeTo: GLubyte _toOpa ...
- (20)ASP.NET Core EF创建模型(必需属性和可选属性、最大长度、并发标记、阴影属性)
1.必需和可选属性 如果实体属性可以包含null,则将其视为可选.如果属性的有效值不可以包含null,则将其视为必需属性.映射到关系数据库架构时,必需的属性将创建为不可为null的列,而可选属性则创建 ...
- JQ获取元素属性值
最近在学习JAVA Web,自己也是做个下列表左右选择的小案例. 获取某个元素的属性值一直以为是要调用atrr方法,不过好像获取元素的数组形式再遍历每个元素的时候想获取到它的属性值用attr方法有问题 ...
- Spring入门(五):Spring中bean的作用域
1. Spring中bean的多种作用域 在默认情况下,Spring应用上下文中所有的bean都是以单例(singleton)的形式创建的,即不管给定的一个bean被注入到其他bean多少次,每次所注 ...
- MS09-020 iis6.0提权
漏洞编号:MS09-020 披露日期: 2009/6/9 受影响的操作系统:Windows 2003 x64 sp1 sp2;XP; 测试系统:windows 2003 x64 上传 执行 iis ...
- [案例分析] 政务云市场面临的复杂格局——重庆政务云模式的启示:多厂商竞争化、PaaS 化
新闻背景: 2019 年 9 月底,重庆市大数据应用发展管理局发布政务云平台采购公告,预算金额为 5000 万元,以上 4 家入选. 最终项目被项目被阿里云.腾讯云.华为云.紫光云 4 家瓜分. 50 ...
- java集合第一节,List简单介绍
Java中List集合的常用方法 List接口是继承Collection接口,所以Collection集合中有的方法,List集合也继承过来. package 集合; import java.ut ...
- centos7将本地的镜像挂载做yum源
首先将镜像挂载上来(用的是VNware),mount命令可以看到自动挂载的位置. mount可以看到挂载在/dev/sr0 这个位置. 接着来新建另一个挂载点:mkdir /iso mount /de ...