首页 > 编程语言 >Python高级之函数

Python高级之函数

时间:2024-05-09 15:05:19浏览次数:21  
标签:函数 Python ligo 高级 user func def name

【一】函数的基本使用

  • 我们在前面的学习中,所有的功能代码都集中在一块,需要使用同一功能时,需重复编写该功能的代码,这样比较麻烦,当我们到后面代码变得越来越长,也不利于我们修改其中一个小功能的代码
  • 我们完全可以从现实生活中找到简化程序设计的方案:
    • 比如一个修理工会事先准备好螺丝刀、锤子等工具,这样在进行修理的过程中
    • 需要用到拧螺丝的功能时就直接拿来螺丝刀使用
    • 需要用到锤击物体的功能时就直接拿来锤子使用,而无需临时制造
    • 这个例子的核心在于’事先准备好工具,遇到应用场景时拿来就用
  • 在程序中,具备某一功能的工具指的就是函数,事先准备工具的过程即函数的定义,拿来就用即函数的调用

【二】函数的定义和调用

【1】函数的概念

  • 函数的使用必须遵循先定义,后调用的原则
  • 函数的定义就是事先将函数体代码保存起来,然后将内存地址赋值给函数名,函数名就是对这段代码的引用
  • 没有事先定义函数而直接调用,就相当于在引用一个不存在的变量名
def 函数名(参数1,参数2,...):
	函数体
	return 值

【2】函数的定义

(1)空函数

def login():
    pass
#函数体为pass代表什么都不做,称之为空函数

(2)无参无返回值

def get_username_password():
    username_input = input("请输入用户名:").strip()
    password_input = input("请输入密码:").strip()

(3)有参无返回值

def user(name):
    print(f"name:{name}")
    
    
user(name='ligo')
#输出 name:ligo

(4)有多个参数无返回值

def user(name, age):
    print(f"name:{name}|age:{age}")


user('ligo', '18')
#输出 name:ligo|age:18

(5)多个参数一个返回值

def user(name, age):
    user_data = f'{name} is {age} years old'
    print(f"{name}:{user_data}")
    return user_data


res = user('ligo', '18')  #ligo:ligo is 18 years old
print(res) 
#输出 ligo is 18 years old

(6)多个参数多个返回值

def user(name, age):
    user_data1 = f'{name} is {age} years old'
    user_data2 = f'He is {name}, he has {age} apples'
    return user_data1, user_data2


user_data1, user_data2 = user('ligo', '18')  
print(f'{user_data1} | {user_data2}')
#输出 ligo is 18 years old | He is ligo, he has 18 apples

【3】函数的三种调用方式

(1)直接调用

def mult(x, y):
    return x * y


print(mult(5, 6)) #输出 30

(2)表达式调用

def add1(x, y):
    return x + y


add2 = add1
print(add2(5, 6)) #输出 11

#示例
def add(x, y):
    res = x + y
    return res


def mult(x, y):
    res = x * y
    return res


func_dict = {1: add, 2: mult}
func_id = input("请选择功能:")
func_id = int(func_id)
func = func_dict.get(int(func_id))

x = input("请输入x的值:")
y = input("请输入y的值:")
res = func(int(x), int(y))
print(res)

(3)函数作为参数

def add(x, y):
    return x + y


def mult(func, x, y):
    return func(x, y)


print(mult(add, 2, 4)) #输出 6

标签:函数,Python,ligo,高级,user,func,def,name
From: https://www.cnblogs.com/ligo6/p/18179996

相关文章

  • xlwings:在Excel中集成Python
    Github地址:https://github.com/xlwings/xlwings在现代数据分析和报表生成中,MicrosoftExcel仍然是一款非常流行和强大的工具。与此同时,Python作为一种高级编程语言,具备出色的数据处理和分析能力。那么,有没有一种方法可以将Excel和Python完美结合,以发挥它们各自的优势?答案是肯定的......
  • pybuilder:Python项目构建、测试、文档、发布
    Github地址:https://github.com/pybuilder/pybuilder在Python项目开发中,良好的构建和自动化流程是非常重要的。PyBuilder是一个用于构建Python项目的工具,它提供了简单易用的方式来定义和管理项目的构建过程,包括依赖管理、测试、代码质量检查等。本文将深入探讨PyBuilder库的使用......
  • Python 如何优雅的操作 PyMySQL
    一、PyMysql在使用Python操作MySQL数据过的过程中,基本的增删改查操作如何更加高效优雅的执行。这里将以PyMySQL为例,介绍一下如何使用Python操作数据库。Python对MySQL数据库进行操作,基本思路是先连接数据库Connection对象,建立游标Cursor对象,然后执行SQL语句对数据库进行操作......
  • 7个鲜为人知的 Python 好库!
    https://mp.weixin.qq.com/s/eY1QXpwbTNSOd08Wfpg4sQ①-PivotTableJS无需任何代码就可以在JupyterNotebook中交互式地分析数据。https://pypi.org/project/pivottablejs/②-PyTube只需5行代码就可以下载油管视频。可能这个是国内用户最用不到的Python库了。https://pytu......
  • 四款强大的 Python 可视化库
    ......
  • nicegui:Python 图形界面库,简单好用
    前言在现代计算机应用程序开发中,图形用户界面(GUI)是用户与程序交互的重要组成部分。然而,GUI开发往往需要大量的代码和复杂的布局,给开发者带来了一定的挑战。在本篇博文中,将介绍nicegui,它是一个简单易用的图形用户界面库,提供了一种简化GUI开发的方式,使开发者能够更快速地构建吸......
  • locust:Python 分布式压力测试(带WebUI)
    Locust介绍它采用纯Python实现,是一个分布式用户负载测试的工具。使用基于Requests库的客户端发起请求,使编写脚本大大简化;在模拟并发方面摒弃进程和线程,完全基于时间驱动,采用协程(gevent)提供的非阻塞IO和coroutine来实现网络层的并发请求。因此单台压力机也能产生数千......
  • python 集合类型 set
    set定义集合(Set)是一种无序且不重复的数据结构,用于存储一组唯一的元素。时间复杂度O(1)。集合是由一对花括号{}构成,其中每个元素之间用逗号分隔。集合中的元素必须是不可变的(不可修改),可以包含数字、字符串、元组等不可变类型。集合中的元素不重复,即集合中每个元素是唯一的。......
  • 一篇文章掌握Python中多种表达式的使用:算术表达式、字符串表达式、列表推导式、字典推
    Python中的表达式可以包含各种元素,如变量、常量、运算符、函数调用等。以下是Python表达式的一些分类及其详细例子:1.算术表达式算术表达式涉及基本的数学运算,如加、减、乘、除等。#加法表达式sum=3+5#结果为8#乘法表达式product=4*6#结果为24#复......
  • centos7.9 python3安装
    centos7.9python3安装在CentOS7.9上安装Python3,你可以使用yum来安装Python3的包。以下是安装Python3.6的步骤:首先,打开终端。安装Python3.6的依赖包:  sudoyuminstall-ygccopenssl-develbzip2-devellibffi-devel下载Python3.6的源......