一、函数的定义

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. 漏洞复现——ngnix文件解析漏洞

    漏洞描述: 上传文件时,在文件名后加%00php,就可以绕过检测成功上传而已文件 影响版本: nginx 0.8.41 – 1.5.6 漏洞分析: 该漏洞原理是非法字符空格和截止符(\0)会导致Ngi ...

  2. canvas移动端兼容性问题总结

    项目简介:在网页利用canvas在图片中动态绘制文字,合成一张图片,并导出 遇到的问题: 1.在移动端canvas drawImage()方法图片无法绘制出来,只显示文字 原因:图片未加载就进行绘制, ...

  3. 使用vue-router设置每个页面的title

    进入 router 文件夹底下的index.js文件 首先引入: import Vue from 'vue' import Router from 'vue-router' 然后在路由里面配置每个路由 ...

  4. Humble Numbers HDU - 1058 2分dp

    JGShining's kingdom consists of 2n(n is no more than 500,000) small cities which are located in two ...

  5. 验证ip地址正则

    验证ip地址: ^(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])(\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)){3}$ 析:(1\d{ ...

  6. php 循环数组问题

    $a = array('abe','ben','cam'); //foreach遍历数组时,实际上是遍历的数组的一个拷贝,并且在开始遍历之前会把指针指向拷贝的开始:,根据cow机制,写时,重新复制一份 ...

  7. qq远程连接/windows远程桌面/teamviwer/xmanager/vnc的区别

    软件 客户端运行平台 服务端运行平台 服务端是否需要同子网或公网IP 网络断开当前执行命令是否会中止 评价 QQ远程连接 windows windows 否 否 感觉用了一两分钟就动不了了 windo ...

  8. CentOS安装教程(VMware)

    1.下载镜像文件 下载链接:https://wiki.centos.org/Download LinveCD--可装在CD光盘上启动的版本. LiveDVD--可装在DVD光盘上启动的版本. DVD1 ...

  9. Spring Cloud之路:(七)SpringBoot+Shiro实现登录认证和权限管理

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/sage_wang/article/details/79592269一.Shiro介绍1.Shiro是 ...

  10. 使用web3+solc编译发布以太坊智能合约

    一.环境安装: 1.安装web3工程:npm install web3 2.安装solc工程:npm install solc二.在node环境中使用 先引用所需环境: var fs = requir ...