Python基础之函数和模块

函数的基本使用

  • 函数的定义:把具有独立功能的代码块组织成一个小模块,在需要的时候调用。或者说,函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
  • 函数的使用:1.定义函数;2.调用函数。
  • 函数的作用:能提高应用的模块性,和代码的重复利用率。
  • 自己创建函数,叫做用户自定义函数。

函数的快速体验

在一个py文件中定义一个函数,在另一个文件中,导入函数,调用函数。

定义函数:
hello_func.py

def hello():
    print("hello world")
    print("hello python")

调用函数:
sayhello.py

import hello_func
hello_func.hello()

函数定义的语法格式

def 函数名():
    被封装的函数代码

函数的命名

  • 函数名称,应该见名知意
  • 应该符合 标识符的命名规则
  • 由字母,数字,下划线组成
  • 不能以数字开头
  • 不能与关键字重名

函数的调用

直接 函数名() 即可;调用格式及示例如下:

# 函数名()
sayhello()

函数演练

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

say_hello()

函数的注意事项

  1. 函数被定义后并不会被运行,只是封装了函数而已,要使用函数需要调用函数。
  2. 当断点调试经过函数时,并不会执行,会跳过,只有当后面调用时,才会去函数中依次执行代码,执行完成后再重新回到调用函数后面的代码
  3. 先定义再调用;没定义函数就先调用,会报错;所以应该先定义函数,再调用函数;
  4. f8和f7单步越过和单步进入;f8单步执行时,经过函数调用时会直接执行整的函数而不进入内部;
    f7单步执行时,经过函数调用时会进入函数内部一步一步执行。

函数的文档注释

在函数定义下的第一行,添加连续的三对双引号,在双引号中间进行文字注释;
在函数调用处可以用ctrl+q,查看函数说明
注释如下:

def say_hello():
    """输出三次打招呼"""
    print("hello 黎明1")
    print("hello 黎明2")
    print("hello 黎明3")

函数的参数与返回值

无参数的函数示例

def sum2num():
    num1 = 10
    num2 = 20
    s = num1 + num2

    print("%d和%d的和为%d" % (num1, num2, s))

sum2num()

没有参数的函数只能计算固定的数字,过于死板,作用不大。

函数参数的使用

def sum2num(num1, num2):
    """将传进来的两个参数求和并输出"""
    s = num1 + num2
    print("%d和%d的和为%d" % (num1, num2, s))

sum2num(10, 20)  # 10和20的和为30
sum2num(30, 45)  # 30和45的和为75

参数的使用:在函数名后面的小括号内填写参数,多个参数之间用逗号分隔;

参数的作用
增加函数的通用性,真毒以相同的数据处理逻辑,能够适应更多的数据。
1.在函数内部,把参数当做变量使用,进行需要的数据处理;
2.函数调用时,按照函数定义的参数顺序,把希望在函数内部处理的数据,通过参数传递。

形参和实参

定义函数时传递的参数叫形参,用来接收参数用的,在函数内部作为变量使用;
调用函数时传递的参数叫实参,用来把数据传到函数内部;
例如:

def sum2num(num1, num2):  # 这里的就是形参,即形式参数,一个架子,同时函数内部使用的,都是形参
    s = num1 + num2
    print("%d和%d的和为%d" % (num1, num2, s))

sum2num(10, 20)  # 这里的就是实参,即实际传送的参数
sum2num(30, 45)  # 这里的就是实参,即实际传送的参数

函数返回值

  • 函数在执行后,返回给调用者函数执行的结果,方便调用者针对返回结果做相应的处理;
  • 在函数中想要返回结果,用一个return 加上要返回的结果即可;
  • 在调用函数后,想要函数返回的结果,用一个变量接收即可。

接收函数的返回值示例

def sum2num(num1, num2):
    """将传进来的两个参数求和并返回结果"""
    s = num1 + num2
    # 可以用返回值,告诉调用者计算结果
    return s

# 可以用变量接收函数的返回结果
result = sum2num(10, 20)
print("计算结果为:%d" % result)

return关键字的注意事项:return表示返回,后面的函数代码都不会被执行(无法到达),应注意别在return下面写代码

函数的嵌套调用

函数嵌套调用示例

函数的嵌套调用示例

def test1():
    print("*"*50)

def test2():
    print("-"*50)
    test1()
    print("+"*50)

test2()
# 执行结果如下
# --------------------------------------------------
# **************************************************
# ++++++++++++++++++++++++++++++++++++++++++++++++++

参数与分割线的打印示例

# 版本1
# def print_line():
#     print("*" * 50)
# print_line()

# 版本2
# def print_line(char):
#     print(char * 50)
# print_line("-")

# 版本3
def print_line(char, times):
    print(char * times)
print_line("hi ", 50)

打印多行分割线示例

def print_line(char, times):
    print(char * times)

def print_lines():
    row = 1
    while row <= 5:
        print_line("-", 50)
        row += 1

print_lines()

按需打印分割线示例

def print_line(char, times):
    print(char * times)

def print_lines(char, times, lines):
    row = 1
    while row <= lines:
        print_line(char, times)
        row += 1

print_lines("-", 40, 6)
print_lines("+", 50, 6)

给函数增加文档注释

当参数过多或者过久了再看代码,极有可能会忘记各个参数代表什么,因此很有必要添加文档注释;
增加函数文档注释有两种方法:

  1. 当函数写完后,在def下一行添加三个一对双引号,回车,系统就会自动帮你生成含函数参数的部分注释,再加上自己的注释即可;
  2. 点击函数名,将鼠标移动到出现的灯泡处,会有一个小三角,点击找到 给函数添加短文档注释,然后添加自己的注释即可。

添加文档注释后效果如下:

def print_line(char, times):
    """
    :param char:用于分割的字符
    :param times:每行分割字符的数量
    :return:
    """
    print(char * times)

def print_lines(char, times, lines):
    """
    按照客户需求打印分割线,完全自定义打印多少行,什么分隔符,每行多少个分隔符
    :param char: 用于分割的字符
    :param times: 每行分割字符的数量
    :param lines: 打印分割线的行数
    :return:
    """
    row = 1
    while row <= lines:
        print_line(char, times)
        row += 1

print_lines("-", 40, 6)
print_lines("+", 50, 6)

模块的介绍

模块时Python程序架构的一个核心概念;
模块就好比一个工具包,而里面的函数和变量就是工具;

模块的概念

所有以.py结尾的源文件都是一个模块,在文件中定义的[全局]变量和函数都能给外界使用,使用的前提是import导入模块

模块的演练

在一个文件创建两个函数和一个全局变量,在另一个文件导入第一个文件,.函数 即可调用函数, .变量 即可调用变量

定义函数:
hello_func.py

def hello():
    print("hello world")
    print("hello python")

name = "小明"

调用函数:
sayhello.py

import cp_01hello_func

hello_func.hello()
hello_func.name

注意:模块名也是标识符,需要遵循标识符的命名规则
如果在给py文件命名时以数字开头,在pycharm中无法调用这个模块,会报错;

pyc文件提高程序性能(了解即可)

当我们导入模块时,系统会检查是否有这个模块的编译缓存文件,如果没有则创建,有则不做事,因为对模块文件进行了预编译缓存,所以当我们调用时就不需要重新去模块中一行一行执行了,而是直接使用。
为什么会将模块预编译成二进制文件?因为模块时已经经过测试的代码,并且修改较少,所以可以进行预编译,就算偶尔进行了修改,程序也能帮我们进行检测重新编译新的二进制文件。

原文地址:https://www.cnblogs.com/yifchan/p/python-1-4.html

时间: 2024-08-30 17:09:48

Python基础之函数和模块的相关文章

python基础——sorted()函数

python基础——sorted()函数 排序算法 排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来. Python内置的sorted()函数就可以对list进行排序: >>> sorted([36, 5, -12, 9, -21]) [-21, -12, 5, 9, 36] 此外,sorted()函数也是一个

python基础学习日志day5-各模块文章导航

python基础学习日志day5---模块使用 http://www.cnblogs.com/lixiang1013/p/6832475.html python基础学习日志day5---time和datetime模块 http://www.cnblogs.com/lixiang1013/p/6848245.html python基础学习日志day5---random模块http://www.cnblogs.com/lixiang1013/p/6849162.html python基础学习日志da

Python基础07 函数

Python基础07 函数 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 函数最重要的目的是方便我们重复使用相同的一段程序. 将一些操作隶属于一个函数,以后你想实现相同的操作的时候,只用调用函数名就可以,而不需要重复敲所有的语句. 函数的定义 首先,我们要定义一个函数, 以说明这个函数的功能. def square_sum(a,b): c = a**2 + b**2 return c 这个函数的功能是求两个数的平方和. 首先

python基础——匿名函数及递归函数

python基础--匿名函数及递归函数 1 匿名函数语法 匿名函数lambda x: x * x实际上就是: def f(x): return x * x 关键字lambda表示匿名函数,冒号前面的x表示函数参数. 匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果. 2 匿名函数举例 用匿名函数有个好处,因为函数没有名字,不必担心函数名冲突.此外,匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数: >>> f = lam

Python基础(12)--模块

本文地址:http://www.cnblogs.com/archimedes/p/python-modules.html,转载请注明源地址. 模块简介 如果你退出 Python 解释器重新进入,以前创建的一切定义(变量和函数)就全部丢失了.因此,如果你想写一些长久保存的程序,最好使用一个文本编辑器来编写程序,把保存好的文件输入解释器.我们称之为创建一个脚本.程序变得更长一些了,你可能为了方便维护而把它分离成几个文件.你也可能想要在几个程序中都使用一个常用的函数,但是不想把它的定义复制到每一个程序

python基础及函数1

Python的程序执行方式:Python的程序编辑窗口.Python的解释器提示符. python常量:整形.实型(浮点型).字符串型. Python数据类型:数值类型.字符串类型.布尔类型.复合数据类型 数值类型:整型(0b/0B.0o/0O.0x/0X).浮点型(e/E).复数型 字符串类型:Python标准字符.转义字符.基本字符串函数 布尔类型:true.false 复合数据类型:列表.元组.字典.集合 Python3提供的有效数字精度:17位 字符串分片: >>>str1=&q

python基础_函数

函数基础 目标 函数的快速体验 函数的基本使用 函数的参数 函数的返回值 函数的嵌套调用 在模块中定义函数 01. 函数的快速体验 所谓函数,就是把 具有独立功能的代码块 组织为一个小模块,在需要的时候 调用 函数的使用包含两个步骤:1.定义函数 -- 封装 独立的功能2.调用函数 -- 享受 封装 的成果 函数的作用,在开发程序时,使用函数可以提高编写的效率以及代码的 重用 02. 函数基本使用 2.1 函数的定义 定义函数的格式如下: def 函数名(): 函数封装的代码 -- def 是英

python基础教程函数参数

python里有很多的内置函数给我们的工作带来了很多发便利,在我们实现某些功能或者优化代码的时候,可以自己定义一个函数,同时我们在定义一个类的时候也会用到函数的一些知识去构造一个方法,这里就涉及到一些关于函数的基础知识和函数传参的知识. 一.函数的相关介绍 1.函数定义:函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可. 函数特性: 减少重复代码 使程序变的可扩展 使程序变得易维护 2.函数的定义示例 定义一个函数要使用def语句,依次写出函数名.括

Python学习笔记(一)python基础与函数

1.python基础 1.1输入与输出 输出 用print加上字符串,就可以打印指定的文字或数字 >>> print 'hello, world' hello, world >>> print 300 300 >>> print 100+200 300 print语句也可以跟上多个字符串,用逗号","隔开,就可以连成一串输出: >>> print 'The quick brown fox', 'jumps over