python 第四章 函数 (pycharm) (1)

一、python函数介绍

函数中三要素

  • 函数名 必须定义

  • 参数 (可选)将数据传递函数中使用

  • 返回值 (可选)将函数中的数据传递外部进行使用

二、函数使用

2-1 语法格式

def 是定义函数的关键

def 函数名(参数):
    代码的逻辑片段
    return 返回值

函数的调用执行

函数名()

2-2 函数的基本定义和使用

# 函数的介绍
# 功能1
def login(name_list,password_list): # 接受参数
    # 函数作用域
    # 通过四个空格,来确认函数所执行的逻辑从哪里开始
    for num in range(3):  # [0,3)  0,1,2
        name = input('请输入用户名:')
        password = input('请输入密码:')
        # 先判断用户名是否正确
        if name in name_list:
            # 在判断密码是否正确
            if password in password_list:
                print('登录成功')
                # 适应break关键,会结束循环,不再进行取值
                break
            else:
                print('密码不正确')
        else:
            print('用户名不正确')


# 功能2
def register():
    name = input('请输入注册的用户名:')
    password = input('请输入出注册的密码:')
    name_list = [name]
    password_list = [password]

    # 将函数的的数据返回到外部
    return name_list, password_list


# 功能3
def pay():
    print('支付')


# 功能4
def order():
    print('下单')




name_list = None
password_list = None

while 1==1:
    num = input('1-登录 2-注册 3-支付 4-下单 5-退出程序:')
    if num == '1':
        # 函数功能的调用
        # namelist和password_list 是函数的参数
        login(name_list,password_list)  # 函数名()
    elif num == '2':
        name_list, password_list = register()
    elif num == '3':
        pay()
    elif num == '4':
        order()
    else:
       break

2-3 函数参数

# 函数的介绍
# 功能1
def login(name_list,password_list): # 接受参数
    # 函数作用域
    # 通过四个空格,来确认函数所执行的逻辑从哪里开始
    for num in range(3):  # [0,3)  0,1,2
        name = input('请输入用户名:')
        password = input('请输入密码:')
        # 先判断用户名是否正确
        if name in name_list:
            # 在判断密码是否正确
            if password in password_list:
                print('登录成功')
                # 适应break关键,会结束循环,不再进行取值
                break
            else:
                print('密码不正确')
        else:
            print('用户名不正确')


# 功能2
def register():
    name = input('请输入注册的用户名:')
    password = input('请输入出注册的密码:')
    name_list = [name]
    password_list = [password]

    # 将函数的的数据返回到外部
    return name_list, password_list


# 功能3
def pay():
    print('支付')


# 功能4
def order():
    print('下单')




name_list = None
password_list = None

while 1==1:
    num = input('1-登录 2-注册 3-支付 4-下单 5-退出程序:')
    if num == '1':
        # 函数功能的调用
        # namelist和password_list 是函数的参数
        login(name_list,password_list)  # 函数名()
    elif num == '2':
        name_list, password_list = register()
    elif num == '3':
        pay()
    elif num == '4':
        order()
    else:
       break

2-4 参数接收数据类型

# 函数参数能接受的数据类型
data_str = 'itcast'
data_list = ['hadoop', 'spark']
data_tuple = ('hadoop', 'spark')
data_set = {'hadoop', 'spark'}
data_dict = {'id': 1}


def func(data):
    # 要求传递的数据是字典
    # 判断传递的数据是什么类型
    if type(data) == dict:
        # 参数的类型由传递的数据决定
        print(type(data), data)
        # 按照字典进行操作
        data.get('id')


# 函数的调用
func(data_str)
func(data_set)
func(data_list)
func(data_tuple)
func(data_dict)

2-5 函数的返回值

# 函数的返回值
# 将一个函数内的数据返回外部使用
def add_func(a,b):
    # data是函数内的变量
    data = a+b
    print(data)

    # 将函数内的变量值返回到函数外部
    return data

# 在调用函数时,如果有返回值,需要在调用后定义变量接收返回值
return_data =  add_func(10,20)

def func(data):
    # 使用data变量值进行其他处理
    res = data *2
    print(res)

# 将上一个函数返回值传递到当前函数内使用
func(return_data)

# 返回多个值
def func():

    # 返回值可以是任意类型的数据
    # 返回值可以返回多个数据,返回多个值时,会将多个值放入元组中
    return 1,'张三',['asd','asd'],{'id':1,'name':'aaa'}
# 调用函数时接受返回值
return_data =  func()
print(return_data) 

# 定义多个接收变量,分别接收不同返回值
a,b,c,d = func()
print(a)
print(b)
print(c)
print(d)

def func2():
    data = 10+29

# 没有返回值时,res变量接收到的是空值
res = func2()
print(res)

2-6 函数的文档

函数文档就是对函数的描述

类似sql中的

create table tb(

id int comment '表的id'

)comment '用户表'

# 函数文档

def add_func(a,b):
    '''
        加法计算功能
    :param a: 接收一个数据  类型 int
    :param b: 接收一个数据  类型 int
    :return: 没有返回值
    '''
    data = a+b
    print(data)


add_func(10,20) # ctrl+b跳转到函数定义处,可以查看文档描述信息

2-7 函数的嵌套调用

# 函数嵌套调用
def func1():
    print('func1')

def func2():
    print('func2')

func1()
func2()

def func3():
    # 函数3内使用函数1的功能
    func1()
    print('func3')
    # 函数3内执行函数2的功能
    func2()

func3()

# 函数的嵌套调用2
def func1():
    print('func1')

def func2():
    #调用func1
    func1()
    print('func2')

def func3(f):
    """
    :param f:  接收一个函数
    :return:
    """
    # 调用接收到函数
    f()
    print('func3')

func2()

print('----------')
# 函数名当成参数传递
func3(func1)

  • 30
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一章Python基本 6 一Python 简介 6 (一) Python 定义 6 (二) Python程序的执行方式 7 (三)Linux常用命令 7 (四)执行过程 8 (五)解释器类型 8 (六)调试 9 二 数据基本运算 9 (一)pycharm常用快捷键(编译器) 9 (二) 函数 函数名(参数) 10 (三)变量 存储数据 11 (四)del 语句 14 (五)核心数据类型 14 (六)数据类型转换 16 (七)运算符 17 三 语句 23 (一)行 23 (二)pass 语句 23 (三)选择语句 24 (四)循环语句 25 (五)跳转语句 30 (六)print相关函数 30 四 容器类型 30 (一)通用操作 30 (二)字符串 str(不可变序列+字符编码值) 33 (二) 列表 list (预留空间+可变序列+储存变量) 35 (四) 元组 tuple(按需分配+不可变序列+存储变量) 44 (五) 字典 dict (按键取值+可变散列+存储键值对) 46 (六) 集合 set (去重复/数学运算+存储键+可变散列) 52 (七)固定集合 frozenset 54 五 函数 function(小而精) 55 (一)pycharm相关设置 55 (二)定义 55 (三)作用 56 (四)定义函数 56 (五)调用函数 56 (六)返回值 57 (七)可变/不可变类型在传参时的区别 58 (八)函数参数 59 六 作用域LEGB 66 (一)变量名的查找规则 66 (二)局部变量 66 (三)全局变量 66 (四)global 语句 67 (五)nonlocal 语句(外部嵌套) 67 第二章 面向对象 Object Oriented 68 一 概述 68 (一)面向过程 68 (二)面向对象 68 二 类和对象 69 (一)语法 70 (二)实例成员 72 (三)类成员 75 (四)静态方法 76 (总结)类和对象 77 三 三大特征 78 (总结)三大特征 78 (一)封装(按需求分,按行为分) 78 (二)继承(抽象 -> 统一 -> 隔离) 86 (三) 多态 90 四 设计原则 95 (总结)设计原则 95 (一)开-闭原则(目标、总的指导思想,增加不改变原代码) 95 (二)类的单一职责(一个类的定义) 96 (三)依赖倒置(依赖抽象) 96 (四)组合复用原则(复用的最佳实践) 96 (五)里氏替换(扩展重写,继承后的重写,指导继承的设计) 96 (六)迪米特法则(用父类减少传递数据量,类与类交互的原则) 97 第三章 模块包+函数式编程 98 通用:快捷键 98 一 模块 Module 98 (一)定义: 包含一系列数据、函数、类的文件,通常以.py结尾。 99 (二)作用 99 (三)导入 99 (四) 模块变量 100 (五)加载过程 100 (六)分类 101 (七)搜索顺序 102 二 包package 102 (一)定义:将模块以文件夹的形式进行分组管理。 102 (二)作用:让一些相关的模块组织在一起,使逻辑结构更加清晰。 102 (三)导入 102 (四) 搜索顺序 103 三 异常处理Error 104 (一)异常 104 (二)处理 105 (三)raise 语句 106 (四)自定义异常:为了快速传递错误信息 108 四 迭代 108 (一)可迭代对象iterable 109 (二) 迭代器对象iterator 110 五 生成器generator 113 (一)生成器函数 114 (二)内置生成器 116 (三)生成器表达式 116 六 函数式编程 118 (一)函数作为参数 119 (二)内置高阶函数 122 (三) 函数作为返回值 124

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值