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

# 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)按奇偶排序数组II 个人题解

    给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数. 对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数:当 A[i] 为偶数时, i 也是偶数. 你可以返回任何满足上述条件的数组 ...

  2. 移动端vue页面禁止移动/滚动

    当需要在移动端中禁止页面滚动,加入:@touchmove.prevent即可,例子如下 <template> <div @touchmove.prevent> <h3 c ...

  3. Springboot操作Elasticsearch

    常见的日志系统是基于logstach+elasticsearch+kibna框架搭建的,但是有时候kibana的查询无法满足我们的要求,因此有时需要代码去操作es,本文后续都以es代替elastics ...

  4. 小程序取消IOS虚拟支付解决方案

    前因 本来我们的小程序用的好好的,结果突然有一天,微信就把小程序的ios端的虚拟支付给关了...坑爹啊!搞的安卓端的可以支付,ios的支付不了.于是就在网上找解决办法. 一说通过app跳转支付,总不能 ...

  5. Kylin的安装及遇到的问题

    ************************************************************************************************ 首先, ...

  6. 【NHOI2018】找素数

    [题目描述] 素数又称质数,是指一个大于 1 的正整数,如果除了 1 和它本身以外,不能再被其它的数整除,例如:2.3.5.97 等都是素数.2 是最小的素数. 现在,给你 n 个数字,请你从中选取一 ...

  7. GitHub的高级搜索方式

    平时在学完一个知识后,需要写些 demo来进行练手,这个时候 GitHub就是最好不过的资源库了,以下整理了一些关于在 github 上面找项目的一些小技巧. 一.单条件使用 项目名称 仓库名称包含 ...

  8. 理解Java对象序列化【转】

      原文链接:http://www.blogjava.net/jiangshachina/archive/2012/02/13/369898.html 关于Java序列化的文章早已是汗牛充栋了,本文是 ...

  9. SpringBoot实现登录

    1.使用Spring Initializer快速创建Spring Boot项目 1.1 IDEA:使用 Spring Initializer快速创建项目 IDE都支持使用Spring的项目创建向导快速 ...

  10. 【RN - 基础】之Windows下搭建React Native开发环境

    前言 React Native由Facebook公司于2015年F8大会上开源,其主张“Learn once, write everywhere”.React Native的核心设计理念是:既拥有Na ...