Python笔记-函数和模块
函数长啥样
函数引入def和return关键字,函数可以接收参数,放在小括号之间。
def m_name(optional_arguments):
""" document"""
return optional_value
- Python不需要指定函数参数和返回值类型
- Python允许将任何对象座位参数发送给函数,允许将任何对象作为返回值回传
函数的注解
在Python3中支持函数的注解,注解描述返回类型和所有参数类型
- 函数注解是可选的,只有Python3才可以使用注解
- 函数注解可以提供信息,不过不会有任何其他行为
例如:该函数接收一个string类型参数并返回一个set集合。
def m_name(word: str) -> set:
return {}
注解的作用
注解的目的单纯是让使用者更轻松,注解不是一个类型强制机制。对于程序员来说,注解的意义就是 他们无需读函数的代码就能知道函数需要接收什么类型的参数,以及返回什么类型的数据。
在编辑器中,我们可以使用help命令来查看函数的注解
def m_name(word: str) -> set:
return {}
print(help(m_name))
m_name(word: str) -> set
参数的默认值
函数的任何参数可以指定默认值,如果调用函数的代码没有提供其他值,就会自动使用默认值 。
def m_name(word: str = 'xiaowoniu') -> set:
return {}
关键字赋值
Python函数可以按照参数名来赋值参数,例如:
def m_name(p1: str, p2: str = 'xiaowoniu') -> set:
return {}
m_name(p2="p2", p1="p1")
Python模块
如何使用Python模块
import random
random.randint(0, 255)
模块通过import关键字导入,查看模块时解释器会从3个位置查看模块
- 当前工作目录
- 解释器的site-packages位置
标准库位置
as 别名
import random as rand
- 导入多个模块
import sys, os
- 导入成员
from sys import argv
导入成员并使用别名
from sys import argv as v
让我们开始创建一个模块,比如我们需要创建一个模块给别人使用,来计算两个整数之和。我们用setuptools将模块安装到 site-packages里,具体步骤是
创建一个发布描述
- 生成一个发布文件
- 安装发布文件
- 创建发布描述 我们新建一个文件目录命名为module1,在目录中创建一个python文件setup.py,内容可如下:
from setuptools import setup
setup(
name='module1',
version="1.0",
py_modules=['module1']
)
- 创建一个包函数
def add(n1: int, n2: int) -> int:
return n1 + n2
- 发布模块 module1目录下执行
python3 setup.py sdist
- 安装模块 dist目录下执行
python3 -m pip install module1-1.0.tar.gz