2019-03-11-day009-函数定义
什么是函数
函数就是将许多冗余的代码进行整合统一调用的内存地址
函数怎么定义
def make():
print('掏出手机')
print('打开微信')
print('摇一摇')
print('聊一聊')
print('走不走')
print('走...jd')
make()
def 关键字 定义(申明) 一个函数
def make():
# 函数体
注意: 定义后的函数不调用是不执行的
函数的调用:
函数名+() == 函数的调用
def make():
print(1)
make()
def make():
print(2)
make()
def make():
print(2)
make()
先定义后调用
函数的执行过程
def make():
print(1)
print(2)
print(3)
print(make)
函数的内存地址
make()
定义 -- 调用 -- 函数体的代码
函数的返回值
def make():
print('掏出手机')
print('打开陌陌')
print('找个妹子')
print('询问一番')
print('盘她')
return 1
print('盘完了')
ret = make()
print(ret)
- 返回值单个就它本身,多个就是一个元组
返回值写了return 没有写内容返回的就是None - 没有写return 返回的也是None
- return下面的代码都不执行,并且还结束了这个函数
- 返回值返回给调用者
s = '盘她'
print(s*2)
def make():
print(1)
return 2*'盘她'
ret = make()
print(ret)
def make():
print(1)
print(2)
print(3)
return None
input(make())
函数名加小括号 不管在什么位置就是在调用函数
def make():
print('掏出手机')
print('打开微信')
print('摇一摇')
print('聊一聊')
print('搞一搞')
make()
print('去医院看看')
make()
print('看看书')
make()
make()
make()
函数的参数
def make(char,addr,sex): # 形参 char = '探探'
print('掏出手机')
print('打开%s'%char)
print('找一个%s,%s'%(addr,sex))
print('聊一聊')
make('探探','北京','萝莉') # 实参
将实参传递给形参的过程--传参
位置参数:
def make(char,addr,sex)
make('探探','北京','萝莉')
def func(a,b):
c = a + b
return c
print(func(10,20))
def func(a,b):
if a>b:
return a
else:
return b
print(func(9,9))
def func(a,b):
# c = a if a>b else b
# return c
return a if a>b else b
print(func(10,9))
条件成立的结果
条件条件不成立的结果
c = a if a>b else b
def make(a,b,d=1,e=0):
print(a,b,d)
make(1,2)
def user_info(name,age,sex='男'):
print(name,age,sex)
user_info('粉哥哥',48,'不详')
while 1:
input_list = input('name,age,sex').split(',')
if len(input_list) > 2:
name, age, sex = input_list
user_info(name, age, sex)
else:
name, age= input_list
user_info(name, age)
def func(a,b,c,d=1): # 形参 (位置+默认)混合形参
print(a,b,c,d)
func(1,2,3) # 位置参数
def func(a,b,c,d=1): # 形参 (位置+默认)混合形参
print(a,b,c,d)
func(1,2,3,d=3) # 实参 (位置+关键字)混合实参
def func(a,b,c,d): # 形参 (位置+默认)混合形参
print(a,d)
func(2,d=1) # 实参 (位置+关键字)混合实参
位置参数 > 关键字参数
def func():
print(1)
if True:
func()
func()
什么是函数:
将一些功能进行封装和复用
函数的定义:
def 关键字 函数名():
函数体
def make():
print(1)
函数的调用:
函数名+() # 调用函数的时候不再缩进内 必须顶行调用
函数的返回值:
- 没有return就默认返回None
- 写了return 没有写返回值 默认返回None
- 多个返回值的时候,返回的是一个元组
- 一个返回值的时候,返回的就是返回值本身
- return 下面的代码不执行,并且结束这个函数
函数的参数:
- 形参 函数定义的时候
- 位置参数 a,b 传参的时候一一对应从实参处接受
- 默认参数 a=1 在定义的时候就设定好值了
- 实参 函数调用的时候
- 位置参数 1,2, 传参的时候一一对应给形参
- 关键字参数 a=1 通过形参的名字指定传值
- 混合:
形参 def func(a,b,d,f=1):
实参 func(1,2,3,f=2)
传参 将实参传递给形参的过程
参数级别 位置参数 > 关键字(默认)参数
###三元运算符:- 条件的成立的结果 条件 条件不成立的结果
- c = a if a>b else b
- 应用场景: 在不知道赋值的内容时可以使用
- 一行进行判断
问题:
1.基础一些小的知识点 忘得快
2.你们练习的少
1. 练习时间少 全天都再讲 --- 作业 中午作业的答案
2. 没有标准的大纲 --- 发了大纲
2019-03-11-day009-函数定义的更多相关文章
- 2019.03.11 COGS2652 秘术(天文密葬法)(分数规划+长链剖分)
传送门 题意:nnn个点的树,每个点两个值a,ba,ba,b,问长度为mmm的路径∑ai∑bi\frac{\sum a_i}{\sum b_i}∑bi∑ai的最大值. 思路:一眼要01分数规划, ...
- 2019.03.11 bzoj4813: [Cqoi2017]小Q的棋盘(贪心)
传送门 考虑最后所有走过的点构成的树,显然除了最长链走一遍以外每条轻链都走两遍. 于是求一波最长链搞一搞就完了. 注意几个小细节特判qwq 代码: #include<bits/stdc++.h& ...
- python预课03 三元表达式示例,函数定义示例,七段彩码管绘制示例
三元表达式 s = '不下雨' if s == '下雨': print('带伞') if s == '不下雨': print('不带伞') #等效与以下语句 print('带伞' if s == '下 ...
- 2019年11个javascript机器学习库
Credits: aijs.rocks 虽然python或r编程语言有一个相对容易的学习曲线,但是Web开发人员更喜欢在他们舒适的javascript区域内做事情.目前来看,node.js已经开始向每 ...
- Scala深入浅出实战经典-----002Scala函数定义、流程控制、异常处理入门实战
002-Scala函数定义.流程控制.异常处理入门实战 Scala函数定义 语句结束无分号 定义无参函数 def 函数名称(参数名称:参数类型)[:Unit=]{ 函数体 } 老师的代码 我的实际代码 ...
- C++11—lambda函数
[1]lambda表达式语法定义 lambda表达式的语法定义如下: [capture] (parameters) mutable ->return-type {statement}; (1) ...
- 函数定义从零开始学C++之从C到C++(一):const与#define、结构体对齐、函数重载name mangling、new/delete 等
今天一直在学习函数定义之类的问题,下午正好有机会和大家共享一下. 一.bool 类型 逻辑型也称布尔型,其取值为true(逻辑真)和false(逻辑假),存储字节数在不同编译系统中可能有所不同,VC+ ...
- linux shell自定义函数(定义、返回值、变量作用域)介绍
http://www.jb51.net/article/33899.htm linux shell自定义函数(定义.返回值.变量作用域)介绍 linux shell 可以用户定义函数,然后在shell ...
- 教你看懂C++类库函数定义之三---_stdcall
一切从一个C++ 类库头文件开始,现在在做一个C++的项目,期间用到一个开源的界面库DUILib(类似MFC),这个东西还不错能很容易的写出漂亮的界面,比如QQ的界面,可以去下载下来研究研究,地址:h ...
- 教你看懂C++类库函数定义之一---HRESULT 宏
一切从一个C++ 类库头文件开始,现在在做一个C++的项目,期间用到一个开源的界面库DUILib(类似MFC),这个东西还不错能很容易的写出漂亮的界面,比如QQ的界面,可以去下载下来研究研究,地址:h ...
随机推荐
- sqlserver给指定用户授权访问指定表
一. 背景 外部公司的人授权访问我们公司的数据库,数据接口调用,要给他们建立查看指定的视图和授权的账号,因此要在数据库中,给指定用户授权访问指定表 二.sqlserver 脚本 ---创建视图CR ...
- vim操作(待补充)
:wq 存盘 + 退出 (:w 存盘, :q 退出) :e 打开新文件 :q 退出 h.j.k.l,分别控制光标左.下.上.右移一格. 按Ctrl+B:屏幕往后移动一页.[常用] 按Ctrl+F:屏幕 ...
- 合并CSV文件.bat
@echo off E:\保存文件夹 cd E:\文件所在的文件夹 dir copy *.csv all_keywords.csv echo @@@@@@@@@@@@@合并成功!@@@@@@@@@@@ ...
- spring boot(十六)使用Jenkins部署spring boot
jenkins是devops神器,本篇文章介绍如何安装和使用jenkins部署Spring Boot项目 jenkins搭建 部署分为三个步骤: 第一步,jenkins安装 第二步,插件安装和配置 第 ...
- leetcode-algorithms-33 Search in Rotated Sorted Array
leetcode-algorithms-33 Search in Rotated Sorted Array Suppose an array sorted in ascending order is ...
- HDU-2586-裸LCA入门-tarjan离线
http://acm.hdu.edu.cn/showproblem.php?pid=2586 给出一颗树和边权,询问两点距离. 考虑tarjan离线做法,做法很巧妙,当前进行到u,对他的儿子v,当v子 ...
- 改写了禁用或启用oracle数据库的约束的存储过程
改写了网上某位大侠(最开始的源头是哪位没记住)写的禁用或启用oracle数据库所有约束的存储过程,增加了异常控制,以使发生异常时也可以执行下去. –调用过程: 执行前先 set serveroutpu ...
- 再谈数据库优化(database tuning)的真谛和误区
当今各行业信息量呈现爆炸式增长,因此,数据库优化也就显得弥足重要.随着数据库性能问题的出现,每位用户为了解决出现的问题,不得不满网上到处搜索优化的”灵丹妙药“和捷径,于是,就出现了各种各样的条条框框和 ...
- 【转】Netty之解决TCP粘包拆包(自定义协议)
1.什么是粘包/拆包 一般所谓的TCP粘包是在一次接收数据不能完全地体现一个完整的消息数据.TCP通讯为何存在粘包呢?主要原因是TCP是以流的方式来处理数据,再加上网络上MTU的往往小于在应用处理的消 ...
- mybatis-ResultMappingResolver类信息
ResultMappingResolver类介绍 一个ResultMap元素对应一个ResultMap对象 resultMap元素中的idArg/result/association/collecti ...