博客
关于我
Python基础_函数的基本使用
阅读量:254 次
发布时间:2019-03-01

本文共 1839 字,大约阅读时间需要 6 分钟。

Python编程语言 - 函数基础

函数概述

函数是编程中一个核心概念,它将具有独立功能的代码块封装为一个模块。在需要时,通过调用函数可以执行封装代码,从而提高开发效率并实现代码的重用。

函数的作用

在开发程序时,使用函数可以帮助提高代码的可读性和维护性。通过将代码封装到函数中,可以更方便地复用功能,减少代码冗余。

函数基本使用

函数的定义

函数的定义格式如下:

def 函数名():  # 函数名称应能反映其功能    # 函数体内的代码    ...
  • def 是英文 define 的缩写,用于定义函数。
  • 函数名称应符合标识符命名规则:可以由字母、下划线和数字组成,但不能以数字开头,也不能与关键字重名。

函数的调用

调用函数非常简单,只需使用函数名加上小括号即可:

函数名()

案例演练

需求1:打招呼函数

编写一个 say_hello 函数,封装三行打招呼代码:

def say_hello():    print("hello 1")    print("hello 2")    print("hello 3")    print(name)

需求2:调用打招呼函数

在函数下方调用打招呼代码:

say_hello()print(name)

函数的参数

参数的作用

函数参数允许函数在处理数据时具有通用性,能够适应更多的数据需求。在函数内部,参数作为变量使用进行数据处理;在调用时,按照定义的顺序传递需要处理的数据。

形参和实参

  • 形参:定义函数时小括号内的参数,是函数接收的参数。
  • 实参:调用函数时小括号内的参数,是传递给函数的数据。

参数的演练

开发一个 sum_2_num 函数,实现两个数字的求和:

  • 初步实现
def sum_2_num(num1, num2):    result = num1 + num2    print(f"{num1} + {num2} = {result}")sum_2_num(10, 20)
  • 问题分析:该函数只能处理固定数值的相加。
  • 优化思路:通过传递参数实现通用性。

参数的实现

修改后的函数:

def sum_2_num(num1, num2):    result = num1 + num2    print(f"{num1} + {num2} = {result}")sum_2_num(50, 20)

函数的返回值

返回值的作用

函数可以通过返回值将结果传递给调用者,便于后续处理。

返回值的实现

修改后的函数:

def sum_2_num(num1, num2):    return num1 + num2result = sum_2_num(10, 20)print(f"计算结果是 {result}")

函数的嵌套调用

嵌套调用的概念

函数内部可以调用另一个函数,形成嵌套调用。执行嵌套函数时,会先完成嵌套函数的任务,再返回到调用位置继续执行。

嵌套调用的示例

定义两个函数 test1test2

def test1():    print("*" * 50)    print("test 1")    print("*" * 50)def test2():    print("-" * 50)    print("test 2")    test1()    print("-" * 50)test2()

模块的使用

模块的概念

模块是Python程序架构的核心概念,类似于工具包。模块文件以 .py 为扩展名,模块中的函数和变量可供外部使用。

模块的导入

在另一个文件中使用模块:

import hm_10_分隔线模块hm_10_分隔线模块.print_line("-", 80)print(hm_10_分隔线模块.name)

模块名的命名规则

模块名应符合标识符规则:可以由字母、下划线和数字组成,但不能以数字开头,也不能与关键字重名。

字节码的作用

Python将源代码编译为字节码文件(如 .pyc),以提高程序启动速度。模块的字节码文件在下次运行时会被加载和使用。

字节码的优化

Python会检查源码和字节码的时间戳,如果源码未修改,将加载现有的字节码文件,避免重复编译。

总结

通过学习函数的定义、调用、参数、返回值和嵌套调用,我们掌握了编写和使用高效代码的核心技能。模块的使用则为代码的复用和管理提供了有力支持。理解这些概念对于编写高效、可维护的Python程序至关重要。

转载地址:http://ixux.baihongyu.com/

你可能感兴趣的文章
opencv笔记(1):图像缩放
查看>>
opencv笔记(二十四)——得到轮廓之后找到凸包convex hull
查看>>
OpenCV计算点到直线的距离 数学法
查看>>
Opencv识别图中人脸
查看>>
OpenCV读写avi、mpeg文件
查看>>
opencv里用calcCovarMatrix计算协方差矩阵
查看>>
OpenCV错误:在setSize中断言失败(s&>;=0)-尝试将图像放置在网络摄像头提要上时
查看>>
opencv面向对象设计初探
查看>>
OpenCV(1)读写图像
查看>>
OpenCV:不规则形状区域中每种颜色的像素数?
查看>>
OpenCV:概念、历史、应用场景示例、核心模块、安装配置
查看>>
OpenDaylight融合OpenStack架构分析
查看>>
OpenERP ORM 对象方法列表
查看>>
openEuler Summit 2022 成功举行,开启全场景创新新时代
查看>>
openEuler 正式开放:推动计算多样化时代的到来
查看>>
OpenEuler23.03欧拉系统_安装瀚高数据库企业版6.0.4_openeuler切换root用户_su:拒绝权限_passwd: 鉴定令牌操作错误---国产瀚高数据库工作笔记001
查看>>
OpenEuler23.03欧拉系统_安装瀚高数据库企业版6.0.4_踩坑_安装以后系统无法联网_启动ens33网卡---国产瀚高数据库工作笔记002
查看>>
OpenFeign 入门与实战
查看>>
OpenFeign源码学习
查看>>
OpenFeign的使用方式成功解锁
查看>>