博客
关于我
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}")

函数的嵌套调用

嵌套调用的概念

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

嵌套调用的示例

定义两个函数 test1 和 test2:

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/

你可能感兴趣的文章
python3简单使用requests 用户代理,cookie池
查看>>
Python3组播通信编程实现教程(发送者+接收者)
查看>>
Python3编写网络爬虫10-数据存储方式三-CSV文件存储
查看>>
python3读取redis返回数据带有'b'的问题
查看>>
Python3连接MySQL
查看>>
Python关于isinstance函数的解析 | 附Demo(全)
查看>>
Python3:setup.py:完成所有任务的PIP安装(Build_ext+Install)
查看>>
python4.0 gil_Python 并发编程系列--1、浅谈GIL历史及对多线程的影响
查看>>
python60行绘图程序_天底下最简单的QT画图板,就一个类,60行代码
查看>>
Python: AES加密与解密
查看>>
Python: Range() 最大尺寸;动态的还是静态的?
查看>>
Python: Windows下用 multiprocessing 的深坑
查看>>
python:Could not find platform independent libraries <prefix>解决方法
查看>>
Python:datetime tzinfo 时区名称文档
查看>>
Python:deepcopy(list) vs new_list = old_list[:]
查看>>
Python:Google API - 从消息中获取 mimeTypes
查看>>
Python:Google API - 从消息中获取 mimeTypes
查看>>
Python:subprocess.call,stdout to file,stderr to file,在屏幕上实时显示stderr
查看>>
Python:TypeError:无法连接“str“和“int“对象
查看>>
Python:XPath 在 ElementTree 中不可用
查看>>