一、函数的定义

def  函数名(参数):

  函数体

来我们来定义⼀一个约x功能:

def yue():
  print("拿出⼿手机")
  print("打开陌陌")
  print("找个漂亮的妹⼦子")
  print("问她, 约不不约啊?")
  print("oK. ⾛走你!")

函数的调用:

# 调用yue()函数
yue()
结果:
拿出⼿手机
打开陌陌
找个漂亮的妹⼦子
问她, 约不不约啊?
oK. ⾛走你!

三、函数的返回

1. 函数中遇到return, 此函数结束, 不再继续执⾏

def yue():
  print("约你")
  print("约我")
  print("约他")
  return
  print("约谁呀") # 这句句话不不会被执⾏行行
yue()

2.返回结果

def yue():
print("约你")
print("约我")
print("约他")
return "美⼥一枚"
girl = yue()
print(girl) # 美⼥一枚

2.1返回多个结果

def yue():
print("约你")
print("约我")
print("约他")
return "美⼥一枚", "萝莉⼀一枚"
girl = yue()
print(type(girl)) # tuple元组形式

3.总结

1. 遇到return. 此函数结束, 函数后⾯面的东⻄西将不会再执⾏。
2. return 返回值
关于返回值:
如果return什什么都不写 或者 干脆不写return .那么返回的就是None
如果return后面写了了一个值. 则调用者可以接收一个结果
如果return后⾯面写了多个结果, 则调⽤用者可以接收一个tuple, 调⽤用者可以直接解构成
多个变量
OK. 完美. 可以得到结果了. 但是我们的约的⽅式是不是有点⼉儿问题呢?, 陌陌现在还能约到
么? 约不到了吧. 该换探探了了. 那过两天探探也死掉了了呢? 是不是还会有⼀一个替代品. 那你想.
有一个替代的. 你就需要去改一下代码. 是不是不太合适了了. 最好的⽅方式是不是想⽤用什什么约就
⽤用什么约? ok. 我们可以通过函数的参数来给函数传递⼀一些信息.

四、函数的参数

1.形参

写在函数声明的位置的变量叫形参. 形式上的⼀一个完整. 表示这个函数需要xxx

def yue(chat):#chat是形参
print("拿出⼿手机")
print("打开"+chat)
print("找个漂亮的妹⼦子")
print("约不不约")

1.1形参里的位置参数按照位置来赋值

def yue(chat, address, age):
print("拿出⼿手机")
print("打开"+chat)
print("找个"+address+"附近漂亮的"+str(age)+"岁妹⼦子")
print("约不不约")

1.2默认参数

在函数声明的时候, 就可以给出函数参数的默认值. 在调用的时候可以
给出具体的值, 也可以不给值, 使用默认值.

def stu_info(name, age, sex='男'):
print("录⼊入学⽣生信息")
print(name, age, sex)
print("录⼊入完毕")

注意, 必须先声明位置参数, 才能声明默认值参数.  

2.实参

2.1在函数调用的时候给函数传递的值. 叫实参, 实际执行的时候给函数传递的信息.

def yue(chat): # chat 形参
print("拿出⼿手机")
print("打开"+chat)
print("找个漂亮的妹⼦子")
print("约不不约") yue("陌陌") # 实参

2.2位置参数,在输入参数是必须按顺序来

def yue(chat, address, age): # 形参
print("拿出⼿手机")
print("打开"+chat)
print("找个"+address+"附近漂亮的"+str(age)+"岁妹⼦子")
print("约不不约")
yue("微信", "北北京", 18) # 实参

2.3关键字参数,在输入时直接说明参数等于什么。

def yue(chat, address, age):
print("拿出⼿手机")
print("打开"+chat)
print("找个"+address+"附近漂亮的"+str(age)+"岁妹⼦子")
print("约不不约")
yue(chat="微信", age=18, address="北京") # 关键字参数.

2.4混合参数,可以多种参数一起用,位置参数必须在关键字参数前⾯。

yue("微信", age=18, address="上海海") # 正确.第一个位置赋值给chat, 后面的参数开始指定关键字.

python day09--定义函数的更多相关文章

  1. 编程入门python之定义函数【转】

    编程入门python之定义函数 零基础学编程by学哥 2017-02-06 10:51 今天讲python函数. 输入参数求三角形或圆形或长方形的面积 先输入1个参数:形状类型 1=三角形 2=圆形 ...

  2. Python 函数调用&定义函数&函数参数

    一.函数调用 在python中内置了很多函数,我们可以直接调用 .想要调用函数首先要知道函数的名称及包含的参数,还可以通过查看python官方的文档:https://docs.python.org/3 ...

  3. python之定义函数

    1.定义函数和参数检查 通过def语句定义一个函数,自己定义的函数,当参数个数不对时,python解释器可以抛出TypeError,但是当参数类型不对时,无法抛出TypeError,为此可以通过isi ...

  4. Python中定义函数时参数有默认值的小陷阱

    在定义函数的时候,如果函数的参数有默认值,有两种类型的参数,一种是整数,字符串这种不可变类型,另一种是列表这种可变类型,对于第一种情况没有什么特殊的地方,但是对于可变类型,有一个微妙的小陷阱. 可变类 ...

  5. python中定义函数和参数的传递问题

    作者:達聞西链接:https://zhuanlan.zhihu.com/p/24162430来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 5.2.4 函数.生成器和类 ...

  6. Python基础笔记:函数:调用函数、定义函数、函数的参数、递归函数

    一.定义一个求二元一次方程的根的函数 #Sublime Text import math def ee(a,b,c): delta=b*b-4*a*c if delta<0: return 'n ...

  7. Python学习笔记 - 函数参数

    >>> def power(x): ... return x * x ... >>> power(5) 25 >>> def power(x, n ...

  8. Python学习之函数参数

    上一节,我们学习了Python中是如何定义和调用函数且如何得到返回值的.在调用函数时,有的函数需要参数来启动函数,有的则无需参数.这一节我们来介绍Python中有哪些参数类型. 位置参数 在调用函数时 ...

  9. Python:笔记(2)——函数与模块

    Python:笔记(2)——函数与模块 Python函数 关于函数 1.我们可以使用Help来查看函数的帮助信息 2.调用函数的时候,如果传入的参数数量或者类型不符合均会报错. 3.函数名其实就是一个 ...

  10. 01.Python基础-5.函数

    1 函数的介绍 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 内置函数 自定义函数 2 函数的定义和调用 2.1 函数的定义和调用 定义 def 函数名([参数]): 代码块 [ ...

随机推荐

  1. 女性睾酮水平高(High Testosterone Levels in Women)

    在外国网站了解睾酮高的一些资料,顺便记录生活点滴. 摘自网址:https://www.healthline.com/health/high-testosterone-in-women 高睾酮的妇女 睾 ...

  2. hdu5608杜教筛

    题意:给定函数\(f(x)\),有\(n^2-3*n+2=\sum_{d|n}f(d)\),求\(\sum_{i=1}^nf(i)\) 题解:很显然的杜教筛,假设\(g(n)=n^2-3*n+2\), ...

  3. 第一阶段——站立会议总结DAY01

    1.昨天做了什么:无 2.今天准备做什么:准备开始做个人中心界面,首先是创建页面 3.遇到的困难:“无从下手”,怕写完某个界面之后就会找不到相关的名字接口什么的.

  4. shiro中JSP标签

    Shiro提供了JSTL标签用于在JSP/GSP页面进行权限控制,如根据登录用户显示相应的页面按钮. 导入标签库 <%@taglib prefix="shiro" uri=& ...

  5. python中for循环的底层实现机制 迭代

    在python中,存在2种循环方式:for循环和while循环. while循环的实现很简单, 其本质就是一个条件语句,自定义条件,当条件满足的时候,不断执行while代码块. 但是for循环,究竟是 ...

  6. 使用org.apache.poi导出Excel表格

    public HSSFWorkbook MakeExcel(List<TransactionLogVO> logList) { // SimpleDateFormat sdf = new ...

  7. 焦作网赛-G-欧拉降幂

    https://nanti.jisuanke.com/t/31716 答案就是2^(n-1)%mod ,n非常的大,由欧拉降幂公式    AB%C=AB%phi(C)+phi(C)%C  化简 2n- ...

  8. Leetcode 1029. 可被 5 整除的二进制前缀

    1029. 可被 5 整除的二进制前缀  显示英文描述 我的提交返回竞赛   用户通过次数467 用户尝试次数662 通过次数477 提交次数1964 题目难度Easy 给定由若干 0 和 1 组成的 ...

  9. 函数使用三:采购过账BAPI_GOODSMVT_CREATE

    一.货物移动.bapi  BAPI_GOODSMVT_CREATE其中 参数 : GOODSMVT_CODE 有 GMCODE Table T158G - 01 - MB01 - Goods Rece ...

  10. Oracle物理DG自动切换——Dataguard Broker配置

    1.前言部分 1.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能: ① Data Guard Broker 的配置 ② Fast-Start Failover 的配置 ③ Oracle D ...