一、函数的定义

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. SQL Server跨服务器建立视图

    create view View_AppCus as select dwmch,zjm from ksoa.dbo.mchk SQL Server跨服务器操作经常需要用到,下面就为你介绍的是SQL S ...

  2. mybatis的update使用选择

    更新后台设置时,会分多个页面更新同一个表中的数据,愿想是尽量减少sql请求数据量并且减少重复代码. 比如博客园的: 假如只有一个用户信息表,这样的话每个页面只更新部分字段. 这种情况下的更新推荐在xm ...

  3. SQL 查询语句

    4.2 单表查询 4.2.1 列名(表名)的别名(as 可以不加) 给列名取别名既可以加 as 也可以不加. (2008 - Sage.lower(Sdept)等可计算但无列名,需要指定列名) 原列名 ...

  4. PostgreSQL导出一张表到MySQL

    1. 查看PostgreSQL表结构,数据量,是否有特殊字段值 region_il=# select count(*) from result_basic; count --------- ( row ...

  5. Eclipse集成Maven进行开发

    Eclipse上Maven环境配置使用 (全) Eclipse EE+MAVEN配置以及POM.XML的使用 Eclipse报错:Referenced classpath provider does ...

  6. shiro权限管理的框架-入门

    shiro权限管理的框架 1.权限管理的概念 基本上涉及到用户参与的系统都要进行权限管理,权限管理属于系统安全的范畴,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能 ...

  7. [洛谷 P3239] [HNOI2015]亚瑟王

    [HNOI2015]亚瑟王 题目描述 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑.他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂亮.众所周知, ...

  8. 漫谈moosefs中cgi各项的意义

    原创:http://www.cnblogs.com/bugutian/p/6869278.html 转载请注明出处 一.先上一张图 二.解释 1. Metadata Servers (masters) ...

  9. mybatis标签之——<trim>及 <foreach collection>

    https://www.cnblogs.com/zjfjava/p/8882614.html trim标记是一个格式化的标记,主要用于拼接sql的条件语句(前缀或后缀的添加或忽略),可以完成set或者 ...

  10. AvalonJS+MVVM实战部分源码

    轻量级前端MVVM框架avalon,它兼容到 IE6 (其他MVVM框架,KnockoutJS(IE6), AngularJS(IE9), EmberJS(IE8), WinJS(IE9) ),它可以 ...