博客
关于我
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/

你可能感兴趣的文章
NO32 网络层次及OSI7层模型--TCP三次握手四次断开--子网划分
查看>>
NoClassDefFoundError: org/springframework/boot/context/properties/ConfigurationBeanFactoryMetadata
查看>>
Node JS: < 一> 初识Node JS
查看>>
Node-RED中使用JSON数据建立web网站
查看>>
Node-RED中使用json节点解析JSON数据
查看>>
Node-RED中使用node-random节点来实现随机数在折线图中显示
查看>>
Node-RED中使用node-red-browser-utils节点实现选择Windows操作系统中的文件并实现图片预览
查看>>
Node-RED中使用Notification元件显示警告讯息框(温度过高提示)
查看>>
Node-RED中实现HTML表单提交和获取提交的内容
查看>>
Node.js 函数是什么样的?
查看>>
Node.js 历史
查看>>
Node.js 在个推的微服务实践:基于容器的一站式命令行工具链
查看>>
Node.js 实现类似于.php,.jsp的服务器页面技术,自动路由
查看>>
node.js 怎么新建一个站点端口
查看>>
Node.js 文件系统的各种用法和常见场景
查看>>
node.js 简易聊天室
查看>>
node.js 配置首页打开页面
查看>>
node.js+react写的一个登录注册 demo测试
查看>>
Node.js中环境变量process.env详解
查看>>
Node.js卸载超详细步骤(附图文讲解)
查看>>