学习python的第四十二天-第五章 模块与函数

第五章 模块与函数

这章主要是介绍python模块和函数的特性。

5.1 程序的结构

python的程序是由包,模块和函数组成。模块是处理某一类问题的集合,模块是由函数和类组成。包是由一系列模块组成的集合,至少包含__init__.py文件的文件夹,类似于一个完成特定任务的工具箱,python提供了许多有用的工具包,如字符串处理,图形用户接口,Web应用,图形图像处理。

5.2 模块

from...import...语句格式如下:

from module_name import function_name

pythonimport语句比较灵活,甚至可以放在条件语句中。模块内置一些属性,用于完成特定的任务。如__name____doc__。每个模块都有一个名称,例如__name__用于判断当前模块是否是程序的主入口,如果当前程序正在被使用,__name__的值为__main__

if __name__ == "__main__":
    print ("作为主程序入口")
else:
    print ("被另一个模块调用")

第一行代码用于判断是否作为主程序运行,如果是运行此程序,就打印“作为主程序入口”,如果是被别的程序调用,就打印“被另一个模块调用”。__doc__这个就是文档字符串,之前介绍过,用于给程序某些内容输出给用户看,引导用户使用程序。

函数

函数就是一段可以重复多次调用的代码,通过输入参数值,返回需要的结果。函数名可以是字母,数字或下划线组成的字符串,但是不能以数字开头,函数的参数放在一对圆括号中,参数的个数可以有一个或者多个,参数之间用逗号隔开。

#函数的定义
from __function__ import division

def arithmetic (x, y, operator):
    result = {
        "+" : x + y,
        "-" : x - y,
        "*" : x * y,
        "/" : x / y
        }

函数的参数也可以使用默认值,比如这样:

#函数的定义
from __function__ import division

def arithmetic (x = 1, y = 1, operator = "+" ):
    result = {
        "+" : x + y,
        "-" : x - y,
        "*" : x * y,
        "/" : x / y
        }

这么写的话如果不输入参数的话就默认参数值了。参数可以是变量,元组,列表等内置数据结构。

python还提供另一个标识符“**”。在形式参数前面添加“**”,可以引用一个字典,根据实际参数的赋值表达式生成字典。

*”必须写在“**”的前面,这是语法规定。

函数的返回使用return语句,return后面可以是变量或表达式。

#多个return语句

def func(x):
    if x > 0:
        return print ("x > 0")
    if x == 0:
        return print ("x = 0")
    if x < 0:
        return print ("x < 0")
print (func(2))

这是return语句的用法,不过不推荐多个return语句的写法,往往会造成程序的复杂化,重构以后是这样的:

#多个return语句

def func(x):
    if x > 0:
        result = "x > 0"
    elif x == 0:
        result = "x = 0"
    else x < 0:
        result = "x < 0"
    return result

print (func(2))

函数的嵌套是指在函数的内部调用其他函数,不过函数嵌套不易过多,应控制在3层以内。

#函数嵌套
def sum(a, b):
    return a + b
def sub(a, b):
    return a - b
def func():
    x = 1
    y = 2
    m = 3
    n = 4
    return sum(x, y) * sub(m, n)
print (func())

递归函数可以在函数主体内直接或间接的调用自己,即函数的嵌套是函数本身。递归是一种程序设计方法,使用递归可以减少重复的代码,使程序变得简洁。递归的过程分为两个阶段——递推和回归。第一阶段,递归函数在内部调用自己,第二阶段,递归函数从后往前返回。递归函数需要编写递归结束的条件,否则程序无法结束。一般通过判断语句结束程序。

`lambda函数的格式:

lambda 变量1, 变量2... : 表达式

通常把lambda赋值给一个变量,变量就可作为函数使用。用法例如:

sum = lambda x, y : x + y
print (sum)

lambda也成为表达式。lambda中只能使用表达式,不能使用判断,循环等多重语句。

许多任务都是由若干个函数组成,这些函数把任务细化,实现明确的功能,最后把这些函数组合起来形成一个完整的模块。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于你的第一个问题,可以使用lambda函数来计算表达式的值。例如,如果要计算表达式x^2 + 2x + 1在x=3时的值,可以使用以下代码: ``` f = lambda x: x**2 + 2*x + 1 result = f(3) print(result) ``` 这将输出结果16,即3^2 + 2*3 + 1。 对于第二个问题,可以使用Python中的==运算符来判断两个列表是否相等。例如,如果要判断列表a和列表b是否相等,可以使用以下代码: ``` if a == b: print("The lists are equal") else: print("The lists are not equal") ``` 对于第三个问题,range函数可以用来生成一个指定范围内的整数序列。例如,如果要生成一个从0到9的整数序列,可以使用以下代码: ``` for i in range(10): print(i) ``` sum函数可以用来计算一个序列中所有元素的和。例如,如果要计算列表a中所有元素的和,可以使用以下代码: ``` total = sum(a) print(total) ``` 对于第四个问题,可以使用Python中的random模块来生成(a,b)范围内的随机数。例如,如果要生成一个在1到10之间的随机整数,可以使用以下代码: ``` import random x = random.randint(1, 10) print(x) ``` 对于第五个问题,面向对象编程的特点包括封装、继承和多态。在Python中,可以使用class关键字来定义类和构造函数。例如,以下代码定义了一个名为Person的类和一个构造函数: ``` class Person: def __init__(self, name, age): self.name = name self.age = age ``` 对于第六个问题,常用的Python表达式包括加法(+)、减法(-)、乘法(*)、除法(/)、取余(%)、等于(==)、不等于(!=)、赋值(=)等。例如,以下代码演示了一些常用表达式的计算: ``` x = 10 y = 5 z = x + y # 加法 w = x * y # 乘法 r = x % y # 取余 s = x == y # 等于 t = x != y # 不等于 ``` 对于第七个问题,pass语句在Python中通常用于占位符。它表示不执行任何操作,只是为了保持代码的完整性和结构。例如,以下代码中的pass语句表示没有任何操作: ``` if x > 10: pass else: print("x is less than or equal to 10") ``` 对于第八个问题,Python中变量名的使用有一些要求。变量名必须以字母或下划线开头,并且只能包含字母、数字和下划线。另外,Python中有一些内置函数名,例如print和sum,不能用作变量名。 对于第九个问题,有序序列是指元素按照一定顺序排列的数据结构。常用的有序序列包括列表、元组、字符串等。列表和元组都是有序序列。 对于第十个问题,函数append可以用来向列表的末尾添加一个元素。例如,以下代码向列表a中添加一个元素: ``` a = [1, 2, 3] a.append(4) print(a) ``` 这将输出[1, 2, 3, 4]。 对于第十一个问题,continue和break是用于控制循环的语句。continue表示跳过当前循环中的剩余代码,直接进入下一次循环。break表示立即退出循环。例如,以下代码中的continue语句将跳过奇数的输出: ``` for i in range(10): if i % 2 == 1: continue print(i) ``` 这将输出0、2、4、6、8。 对于第十二个问题,返回语句return可以用来返回函数的结果。如果函数没有返回语句,它将返回None。如果函数有返回语句,它将返回返回值,并且函数的执行将在返回语句处停止。例如,以下代码中的函数add将返回两个数的和: ``` def add(x, y): return x + y ``` 对于第十三个问题,模块是一个包含Python代码的文件。它可以包含函数、类、变量等。在Python中,可以使用import语句将需要的模块导入到当前任务中。常用的导入方法包括import模块名、from模块名 import函数名等。 对于第十四个问题,Python支持多种数据类型,包括整数、浮点数、字符串、列表、元组、字典、集合等。在Python中,局部变量是在函数内部定义的变量,全局变量是在所有函数之外定义的变量。 对于第十五个问题,字典是一种无序的键/值对集合。可以使用花括号{}来创建字典。字典中的键必须是唯一的,且必须是不可变类型。例如,以下代码创建了一个字典: ``` d = {"name": "Tom", "age": 18} ``` 集合是一种无序的元素集合。可以使用花括号{}或set()函数来创建集合。例如,以下代码创建了一个集合: ``` s = {1, 2, 3} ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值