# 函数
# 实现了某一特定功能。
# 可以重复使用。

# len() 功能:获取长度。
# input() 功能: 控制台输入
# print() 功能:输出

# 语法 关键字def
"""
def 函数名称():
#实现功能的代码块。
"""

# 伞
# 定义功能。
def car():
print("出行功能!!")

# 调用功能 = 执行函数的代码。
"""
函数名称()
"""
# car() # 先定义再调用。
# car() # 先定义再调用。
# car() # 先定义再调用。
# car() # 先定义再调用。
# car() # 先定义再调用。
# car() # 先定义再调用。

# 高铁、灰机。
# 出行功能:需要输入的数据:身份证、飞机票,起点,目的地。否则用不了功能。
# def out_going():
# print("请出示身份证,飞机票")
# id = "123456789001122"
# ticket = "TTYYC12"
# if id is not None and ticket is not None:
# print("请上飞机。")
#
# # bear
# out_going() #使用的时候,应该是把身份证和飞机票,传到这个函数里。
# # 寓次方
# out_going()

# 使用的时候,应该是把身份证和飞机票,传到这个函数里。
# 定义
def out_going_v2(id,ticket): #形式参数,接收具体的数值。会变!! 变量来表示。用,隔开。
print("请出示身份证,飞机票")
# id = "123456789001122"
# ticket = "TTYYC12"
print(id,ticket)
if len(id) != 18:
print("身份证不符合要求!!")
if id is not None and ticket is not None:
print("请上飞机。")

# out_going_v2("123456789001122","TTYYC12") #实参 = 具体的数值。
# out_going_v2("12345672233441112345","TTYYC33")
# out_going_v2("123456722334411",None)

# 1、位置参数(必传,定义的时候没有数值。) 形参和实参的参数顺序是一一对应的。

# 2、默认参数。定义函数时,给形参一个默认的具体数值。
# 可传可不传。 默认参数要放在所有的必传参数之后。
# 定义
def out_going_v3(id,ticket,enter="上海",gate=15): #形式参数 变量来表示。用,隔开。
enters = ["上海","北京","深圳"]
print("请出示身份证,飞机票")
# id = "123456789001122"
# ticket = "TTYYC12"
print(id,ticket,enter,gate)
if len(id) != 18:
print("身份证不符合要求!!")
elif enter not in enters:
print("当前城市 尚未开放 机场!!")
elif id is not None and ticket is not None:
print("请上飞机。")

out_going_v3("12345672233441112345","TTYYC33") #不传默认参数
out_going_v3("12345672233441112345","TTYYC33","北京") #传值
out_going_v3("12345672233441112345","TTYYC33",gate=25) #指定参数

# 3、指定参数 调用的时候去指定 形参=数据。
# 调用的时候,全部参数,形参=值。可以不按位置的顺序来传参。
print("========================================")
out_going_v3(ticket="TTYYC33",id="12345672233441112345",gate=25) #指定参数

# 4、可变参数\return

python学习-def的更多相关文章

  1. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  2. Python学习--01入门

    Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...

  3. python学习之路 第五天

    1.装饰器: #!/usr/bin/env python3 user_status = False #用户登录了就把这个改成True def login(auth_type): #把要执行的模块从这里 ...

  4. Python 学习小结

    python 学习小结 python 简明教程 1.python 文件 #!/etc/bin/python #coding=utf-8 2.main()函数 if __name__ == '__mai ...

  5. Python学习记录day6

    title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ...

  6. Python学习记录day5

    title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...

  7. python学习笔记系列----(八)python常用的标准库

    终于学到了python手册的最后一部分:常用标准库.这部分内容主要就是介绍了一些基础的常用的基础库,可以大概了解下,在以后真正使用的时候也能想起来再拿出来用. 8.1 操作系统接口模块:OS OS模块 ...

  8. python学习心得第三章

    python学习心得第三章 1.三元运算 变量=值1 if 条件 else 值2 由图如果条件成立则赋值1给变量,如果条件不成立则赋值2给变量. 2.数据类型 集合:set() class set(o ...

  9. 记录Python学习中的几个小问题

    记录Python学习中的几个小问题,和C#\JAVA的习惯都不太一样. 1.Django模板中比较两个值是否相等 错误的做法 <option value="{{group.id}}&q ...

随机推荐

  1. 领扣(LeetCode)对称二叉树 个人题解

    给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 [1,2,2,null,3,nul ...

  2. 【algo&ds】8.最小生成树

    1.最小生成树介绍 什么是最小生成树? 最小生成树(Minimum spanning tree,MST)是在一个给定的无向图G(V,E)中求一棵树T,使得这棵树拥有图G中的所有顶点,且所有边都是来自图 ...

  3. vim常用命令集合(精心整理)

    vim编辑器身为一个强大的linux平台编辑器,我就不多说他强大之处了,直接来简述下常用命令,提高自己使用编辑器的效率. 然后就先说下vim编辑器的模式,有的地方说三种,有的地方说两种,教程是按照两种 ...

  4. 如何在C++中使用boost库序列化自定义class ?| serialize and deserialize a class in cpp with boost

    本文首发于个人博客https://kezunlin.me/post/6887a6ee/,欢迎阅读! serialize and deserialize a class in cpp Guide how ...

  5. 【并发编程】Java对并发编程的支持历史

    本博客系列是学习并发编程过程中的记录总结.由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅. 并发编程系列博客传送门 本文转载,原文请点击链接 本章主要对Java并发(Con ...

  6. Git使用和介绍-基础指令

    转载请标明出处:http://blog.csdn.net/shensky711/article/details/52210625 本文出自: [HansChen的博客] 查看已有配置 取消已有的配置 ...

  7. Java基础面试题及答案(二)

    容器 18. java 容器都有哪些? 常用容器的图录: 19. Collection 和 Collections 有什么区别? java.util.Collection 是一个集合接口(集合类的一个 ...

  8. ThinkPHP多表查询之join方法

    现在的目的是要把article_category中的name字段导入到article中去 表yz_article如下 表yz_article_category如下

  9. 并行通信芯片8255A学习总结

    并行通信接口8255A AB口为两个数据端口,C口可以作为数据端口也可以作为状态端口 8255A是一个40引脚的双列直插式芯片 引脚如下 D0-D7:双向数据信号线. RD:读信号线. WR:写信号线 ...

  10. STM32F4 阿波罗寄存器点亮LED灯

    学习步骤: 使用寄存器点亮LED灯,需要进行如下的步骤,LED灯属于外设部分,首先需要开启外设的时钟使能,然后LED灯是PB1口,(芯片是正点原子的阿波罗),接着定义GPIOB口的输出模式,为上拉.推 ...