Python_06-函数与模块

1.获取当前路径

>>> import os

>>> os.path()

>>> os.getcwd()

‘D:\\Python34‘

os.path.abspath(‘.‘)

‘D:\\Python34‘

python编程中,模块的导入需要一个叫做"路径搜索"的过程。

即在文件系统"预定义区域"中查找 mymodule.py文件(如果你导入 mymodule 的话)。

这些预定义区域只不过是你的 Python 搜索路径的集合。

默认搜索路径是在编译或是安装时指定的。它可以在一个或两个地方修改。

一个是启动 Python 的 shell 或命令行的 PYTHONPATH 环境变量。 该变量的内容是一组用冒号分割的目录路径。

如果想让解释器使用这个变量, 那么请确保在启动解释器或执行 Python 脚本前设置或修改了该变量。

解释器启动之后, 也可以访问这个搜索路径, 它会被保存在 sys 模块的sys.path变量里。

不过它已经不是冒号分割的字符串, 而是包含每个独立路径的列表。

一个 Unix 机器搜索路径的样例。

注意:搜索路径在不同系统下一般是不同的。

>>>sys.path

[‘‘,

‘/usr/local/lib/python2.x/‘,

‘/usr/local/lib/python2.x/plat-sunos5‘,

‘/usr/local/lib/python2.x/lib-tk‘,

‘/usr/local/lib/python2.x/lib-dynload‘,

‘/usr/local/lib/Python2.x/site-packages‘,]

这搜索路径列表可以随时根据需要对它进行修改。

如果知道需要导入的模块是什么,而它的路径不在搜索路径里,那么只需要调用列表的append() 方法即可,就像这样:

sys.path.append(‘/home/wesc/py/lib‘)

添加搜索路径后, 即可加载自己的模块了。

2.函数http://www.cnblogs.com/jiu0821/p/4491603.html

2.1 函数定义

def function_name(arg1,arg2[,...]):

  statement

  [return value]

格式:

def   <函数名> (<形参表>) :

<函数体>

python的函数通过def关键字定义。def关键字后跟一个函数名,然后跟一对圆括号。圆括号之中可以包括一些用逗号隔开的变量名。该行以冒号结尾。接下来是一块语句,它们是函数体。如果函数有返回值,直接使用return  <表达式>的形式。

2.2函数名

函数名必须以下划线或字母开头,可以包含任意字母、数字或下划线的组合。不能使用任何的标点符号;

函数名是区分大小写的。

函数名不能是保留字。

【例1-1】 定义并使用打印两个数的最大值的函数。函数的参数为两个数,无返回值。

解:

# Filename:printmax.py

# 函数的定义

def printMax(a, b):

if a > b:

print (a, ‘is maximum‘)

else:

print (b, ‘is maximum‘)

注:可以把脚本粘贴到“命令窗口”再调用。

#函数的使用

printMax(6, 17)  # 使用字面量直接调用函数

x = 2

y = 8

printMax(x, y)   #使用变量为实参调用函数

运行结果:

C:\Python31>python printmax.py

17 is maximum

8 is maximum

其他调用方式:

>>> import printMax

>>> printMax(3,88)

>>> printMax.printMax(3,88)

【例1-2】定义并使用求两个数的最大值的函数。函数的参数为两个数,返回值为最大的数。

解:

# Filename:funcmax.py

# 函数的定义

def funcMax(a, b):

if a > b:

return a

else:

return b

#函数的使用

print(funcMax(6, 17))# 使用字面量直接调用函数,直接输出结果

x = 2

y = 8

z=funcMax(x, y) #使用变量为实参调用函数并将结果赋赋给另一变量

print(z)

运行结果:

C:\Python31>python funcmax.py

17

8

2.3   常用函数

type(<表达式>)    获得表达式的数据类型

int(‘34‘)   #转换为整数

int(‘1101‘, 2)   #将二进制字符串转换为十进制整数

float(‘43.4‘)   #转换为浮点数

str(34)     #转换为字符串

bin(43)   #将十进制整数转换为二进制数

repr()函数用来取得对象的规范字符串表示。

2.4   数学函数,import math

math.log10(10)   #以10为底的对数

math.sin(math.pi/2)    #正弦函数,单位弧度

math.pi         #常数pi,3.141592653589793

math.exp(8)    #e的8次幂

math.pow(32,4)  #32的4次幂。

math.sqrt(2) #2开平方。

math.cos(math.pi /3) #余弦函数。

math.fabs(-32.90) #求绝对值。

math.factorial(n)   #求n的 阶乘

在编辑窗口中,输入“math.”,将鼠标光标移到“.”上稍停,可以打开math列表。

2.5   lambda函数

Python允许定义一种单行的小函数。定义lambda函数的形式如下:

lambda <参数表>:表达式

其中参数用逗号隔开。lambda函数默认返回表达式的值。也可以将其赋值给一个变量。lambda函数可以接受任意个参数,包括可选参数,但是表达式只有一个:

>>> g = lambda x, y: x*y

>>> g(3,4)

12

>>> g = lambda x, y=0, z=0: x+y+z

>>> g(1)

1

>>> g

2.6   示例

编写程序mymax.py

def mymin(a,b):

if a<b:

return a

else:

return b

def mymax(a,b):

if a>b:

return a

else:

return b

运行:

>>> from mymax import *

>>> help(mymax)

Help on function mymax in module mymax:

mymax(a, b)

>>> mymax(99,3)

99

>>> mymin(99,3)

3

>>> help(‘mymax‘)

Help on module mymax:

NAME

mymax

FILE

d:\python279\mymax.py

FUNCTIONS

mymax(a, b)

mymin(a, b)

3.模块【http://www.cnblogs.com/jiu0821/p/4491607.html

模块基是一个包含了已定义的函数和变量的文件。为了在其他程序中重用模块,模块的文件名必须以.py为扩展名。使用模块中的函数时,在文件开始写:

import  <模块名>

使用函数使用:

<模块名>.<函数名>(<参数表>)

注意,模块名就是不包含扩展名的文件名,且该文件与当前文件在同一个文件夹中。使用函数时,函数名前有模块名再加一个点号“.”。

【例1-3】编写一个模块文件,其中有一个求最大值的函数,在编写另一个文件,其中用前面的模块文件中的函数。

解:

模块文件,文件名module_max.py

# Filename:module_max.py

# 求最大值

def funcMax(a, b):

if a > b:

return a

else:

return b

#求最小值

def funcMin(a, b):

if a < b:

return a

else:

return b

模块的使用:

# Filename:usemodule.py

import module_max   //导入模块文件

x=9

y=37

print(module_max.funcMax(9,37))

还有另外一种使用模块的方式是用from…import格式,例如:

# Filename:usemodule2.py

from module_max import  funcMax

x=9

y=37

print(funcMax(9,37))

其中,在from…import中已经包含了所需的函数名,则再使用具体函数时,则不用再包含模块名了。

时间: 2024-09-30 19:18:07

Python_06-函数与模块的相关文章

怒学Python——第四篇——函数与模块

Python的函数:其实和C++非常类似,不过由于是弱类型的语言(用起来感觉是......),把那些类型声明都去掉了,传的是值不是引用(至少2.7是),有一点点小区别是前面必须加def来定义(好像宏定义的样子......),下面给出示例 def sum(a, b): #sum为函数名,注意冒号...... c = a + b #这一部分是函数的语句块 return c #到这里函数就结束了,和C++一样 print sum(1, 2) #根据函数名调用函数,输出1+2的值 这里也有lambda函

python 学习笔记day02-python循环、文件、函数、模块

循环语句 while 循环 while 循环语法结构 当需要语句不断的重复执行时,可以使用 while 循环 while expression: while_sutie 语句 while_suite 会被连续不断的循环执行,直到表达式的值变成 0 或 False         #!/usr/bin/env python         # -- coding: utf-8 --         sum100 = 0         counter = 1         while count

匿名函数、内置函数与模块

一.匿名函数 Python使用lambda来创建匿名函数,不再使用def语句这样标准的形式定义一个函数 lambda只是一个表达式,函数体比def简单很多 lambda的主体是一个表达式,而不是一个代码块.仅仅能在lambda表达式中封装有限的逻辑进去 lambda函数拥有自己的名称空间,且不能访问自有参数列表之外或全局名称空间里的参数 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率 适合临时的一次性的使用场景 语法:

零基础python之4函数重用-函数与模块(附详细的步骤和程序)

4代码重用--函数与模块 重用代码是构建一个可维护系统的关键. 代码组是Python中对块的叫法. 对之前的vowels代码功能创建一个函数名为search_for_vowels( ) 在函数调用时结果: Bool内置函数,提供某个值时它会返回这个值计算为true还是false. 关于真假: Python中的每一个对象都有一个关联的真值,表示这个对象计算为true或false. 如果计算值为0.值None.空串或一个内置的数据结构,则为false. 任何非空的数据结构都是true. '''FUN

【python学习-4】可复用函数与模块

1.自定义函数 自定义函数格式如下: def <函数名> (参数列表): <函数语句> return <返回值> #!/usr/bin/python # 定义函数,打印数字1~5 def printNum5(): # range函数,生成列表集合,有3个入参:start(可选,起始数),stop(终止数,生成的数不包含loveme),step for i in range(1,5+1): print(i); printNum5(); 带参数的函数: #!/usr/bin

VBA基础 - 函数和模块

概要 对于一般的 VBA 程序来说, 可能一个或几个函数就行了. 毕竟, VBA 只是作为 excel 的辅助工具来用的. 但是, 随着 VBA 写的越来越多, 用个工程来管理就有必要了, 而一个代码工程的基础, 就是 函数 和 模块. 函数 VBA 的中的函数有 2 种, 一种是 Sub, 一种是 Function 在 VBA 中, 其实 Sub 叫过程, 不叫函数, 它们的区别有 2 个: Function 有返回值, Sub 没有 Sub 可以直接执行, Function 必须被调用才能执

Python基础知识之函数、模块

1.Python模块. Python一个.py后缀的文件,称为模块.Python模块可以包含变量.函数.类,同时类中又可以定义变量和函数. 2.Python模块导入. (1) Python模块全部导入方式:from 模块名 import * (2) Python模块按需导入方式:from 模块名 import 函数名/类名 3.函数.常用函数如下. str(o):将数字转化为字符串函数, int(o):将字符串转化为数字函数. format():字符串格式化函数. replace:字符串替换函数

获取函数所在模块的方法

学习VLD2.0代码,看到如下函数: HMODULE GetCallingModule( UINT_PTR pCaller ){    HMODULE hModule = NULL;    MEMORY_BASIC_INFORMATION mbi;    if ( VirtualQuery((LPCVOID)pCaller, &mbi, sizeof(MEMORY_BASIC_INFORMATION)) == sizeof(MEMORY_BASIC_INFORMATION) )    {    

Python学习笔记总结(二)函数和模块

一.函数 函数的作用:可以计算出一个返回值,最大化代码重用,最小化代码冗余,流程的分解. 1.函数相关的语句和表达式 语句        例子 Calls        myfunc(‘diege','eggs',meat=‘lit’) #使用函数 def,return,yield      def adder(a,b=1,*c):                        return a+b+c[0] global        changer():                 gl

Python学习笔记4(函数与模块)

1.Python程序的结构 Python的程序由包(package).模块(module)和函数组成. 模块是处理一类问题的集合,由函数和类组成. 包是由一系列模块组成的集合.包是一个完成特定任务的工具箱. 2.函数 2.1函数的定义 def sayHello(): print 'Hello World!' # block belonging to the function sayHello() 2.2函数的参数Python中任何东西都是对象,所以参数只支持引用传递的方式.Python通过名称绑