分享

python自学教程(三)函数与模块

 静幻堂 2018-09-09

一 代码重用

使用循环.

函数(functions)和模块(modules)

函数如:

print(list(range(10,20,3)))

结果:

python自学教程(三)函数与模块

二 函数

● 预定义的函数

def语句创建自己的函数

def my_func():

print("你好,中国")

my_func()

定义函数,并调用

●每个函数中的代码块都以冒号: 开始并且要缩进

三 函数参数

def print_double(x):

print(2*x)

print_double(3)

结果为:6

使用逗号分隔多个参数

def print_double(x,y)

函数参数可以在函数内部当变量使用.但是,它们不能在函数的定义之外被引用.函数内部创建的其他变量也不能再函数外部被引用.

def function(variable):

variable+=1

print(variable)

function(7)

print(variable)

结果:

python自学教程(三)函数与模块

四 函数返回值

定义的函数使用return语句执行返回操作

return语句不能在函数定义之外使用.

一旦从一个函数返回一个值,函数立即停止运行.返回语句之后的任何代码都不会执行.

def add_numbers(x,y):

total=x+y

return total

print("this won't be printed")

print(add_numbers(34,23))

结果:57

五 注释和文档

# 这是一个注释

python没有通用的多行注释

Docstrings(文档字符串)个注释的目的类似.因为他们旨在解释代码.但是它们更具体,并且具有不同的语法.

def shout(word):

"""给一个词后边加一个感叹号,并打印这个词"""

print(word+"!")

shout("heartbeat是心跳,脉搏的意思")

结果:heartbeat是心跳,脉搏的意思!

与传统的注释不同,文档字符串在整个程序运行时保留.这运行程序员在运行时检查这些文档注释.

六 函数对象

函数与其他类型的值一样.可以将他们重新分配给变量,并在稍后由这些名称引用函数.

def multiply(x,y):

return x*y

a=4

b=9

operation=multiply

print(operation(a,b))

结果:36

函数也可以作为其他函数的参数.

def add(x,y):

return x+y

def do_twice(func,x,y):

return func(func(x,y),func(x,y))

a=5

b=10

print(do_twice(add,a,b))

结果:30

do_twice接收一个函数作为参数,并在它的函数内部调用它

七 模块

模块是其他人为完成常见任务而编写的代码.例如:生成随机数字,执行数学运算等

import module_name 导入模块

module_name.var 访问模块中名称为var的函数和值

import random

for i in range(5):

value=random.randint(1,10)

print(value)

结果:

python自学教程(三)函数与模块

代码使用random模块中定义的randint函数打印1到10范围内(不包括10)的9的随机数.

from module_name import var 从某个模块中导入某个功能(函数)

from math import pi

print(pi)

结果:

python自学教程(三)函数与模块

使用逗号分隔列表导入多个对象.

例如:from math import pi,sqrt

●可以使用*导入模块中的所有对象.例如:from math import *

●通常不推荐这么做,因为它会将代码中的变量与外部模块中的变量混淆.

使用as关键字,给导入的模块或对象重命名.模块或对象名称较长或容易混淆的时候比较常用.

from math import sqrt as square_root

print(square_root(100))

结果:10.0

八 标准库和pip

python中有三种主要的模块类型.a 你自己编写的;b 从外部来源安装的; c python预定义的. 最后一种称为标准库,并包含许多有用的模块.

一些常用的标准库:string,re(正则表达式),datetime,random,os,multiprocessing,subprocess,socket(套接字),email,json,doctest,unittest,pdb,argparse和sys

标准库可以完成的任务包括字符串解析,数据序列化,测试,调试和操作日期,电子邮件,命令行参数等等.

python中的标准库中的一些模块是用python写的,有些是c语言写的.大多数都可以在所有平台上使用.

许多第三方python模块都存储在python package index(PyPI)中.

最好的安装方法是使用pip程序.

命令行中输入: pip install library_name 安装第三方库

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多