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中已经包含了所需的函数名,则再使用具体函数时,则不用再包含模块名了。
Python_06-函数与模块的更多相关文章
- Python 4 —— 函数与模块
函数和模块的使用 一.函数 一个例子说明一切. def hello(): print "hello world" def increment(num): num += 1 retu ...
- Python基础之函数和模块
函数的基本使用 函数的定义:把具有独立功能的代码块组织成一个小模块,在需要的时候调用.或者说,函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数的使用:1.定义函数:2.调用函数 ...
- Python第十一天 异常处理 glob模块和shlex模块 打开外部程序和subprocess模块 subprocess类 Pipe管道 operator模块 sorted函数 os模块 hashlib模块 platform模块 csv模块
Python第十一天 异常处理 glob模块和shlex模块 打开外部程序和subprocess模块 subprocess类 Pipe管道 operator模块 sorted函 ...
- Python第五天 文件访问 for循环访问文件 while循环访问文件 字符串的startswith函数和split函数 linecache模块
Python第五天 文件访问 for循环访问文件 while循环访问文件 字符串的startswith函数和split函数 linecache模块 目录 Pycharm使用技巧( ...
- 【python学习-4】可复用函数与模块
1.自定义函数 自定义函数格式如下: def <函数名> (参数列表): <函数语句> return <返回值> #!/usr/bin/python # 定义函数, ...
- 零基础学python之函数与模块(附详细的代码和安装发布文件过程)
代码重用——函数与模块 摘要:构建函数,创建模块,安装发布文件,安装pytest和PEP 8插件,确认PEP8兼容性以及纠错 重用代码是构建一个可维护系统的关键. 代码组是Python中对块的叫法. ...
- python教程(三)·函数与模块
函数,这和数学中的函数有点关联,但又不是完全等价 概念 不说的这么官方,我就已自己的理解来表达 ^_^ 在数学中,把一个或多个值(输入x)进行一定的计算或者映射,得到一个值(输出y),这个计算或者映射 ...
- Python学习手册之函数和模块
在上一篇文章中,我们介绍了 Python 的控制结构,现在我们介绍 Python 函数和模块. 查看上一篇文章请点击:https://www.cnblogs.com/dustman/p/9976234 ...
- Python:笔记(2)——函数与模块
Python:笔记(2)——函数与模块 Python函数 关于函数 1.我们可以使用Help来查看函数的帮助信息 2.调用函数的时候,如果传入的参数数量或者类型不符合均会报错. 3.函数名其实就是一个 ...
- Python学习教程(Python学习视频_Python学些路线):Day06 函数和模块的使用
Python学习教程(Python学习视频_Python学些路线):函数和模块的使用 在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解. $$x_1 + x_2 + x ...
随机推荐
- HTML, CSS. JS的各种奇淫技巧
1. js 中为了省字节,性能, 防止被重写等发明了各种写法,记录下 //取整 parseInt(a,10); //Before Math.floor(a); //Before a>>0; ...
- Jenkins使用Git Parameter插件打包
一. 下载Git Parameter插件: 二. 项目配置: Shell脚本: #!/bin/bash -l echo $deploy_envcase $deploy_env in deploy) e ...
- WCF WS-Security and WSE Nonce Authentication【转】
原文:http://weblog.west-wind.com/posts/2012/Nov/24/WCF-WSSecurity-and-WSE-Nonce-Authentication?utm_sou ...
- python爬虫——多线程+协程(threading+gevent)
上一篇博客中我介绍了如何将爬虫改造为多进程爬虫,但是这种方法对爬虫效率的提升不是非常明显,而且占用电脑cpu较高,不是非常适用于爬虫.这篇博客中,我将介绍在爬虫中广泛运用的多线程+协程的解决方案,亲测 ...
- jQuery因mouseover,mouseout冒泡产生的闪烁问题
由于浏览器的冒泡行为.造成如果在一个DIV元素上同时定义了mouseover,mouseout的时候,当鼠标移动到DIV中的child子元素的时候,就会同时执行了两个操作mouseover和mouse ...
- vm虚拟机怎么访问本地硬盘
第一步:点击VMware菜单“虚拟→设置”,在配置窗口的“选项”标签页内点击“共享文件夹”,在右侧点击“添加”按钮添加要共享的文件夹. 先确认虚拟机是关闭状态(susppend时无法修改属性)再修改虚 ...
- String.valueof;和String = ""+1;的区别
关于字符串的+操作,单纯的String s ="" +11;编译器会看做常量""和常量11的拼接操作,常量计算最快:String.valueOf会调用方法,速 ...
- ①Jenkins集成—入门安装使用
一.什么是Jenkins jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的"自动化"编译.打包.分发部署.jenkins可以很好的支持各 ...
- [转][Dapper]SQL 经验集
condition.Append(" AND ChineseName like @name"); p.Add("@name", "%" + ...
- php删除制定文件及文件夹
php遍历一个文件夹内的所有文件和文件夹,并删除所有文件夹和子文件夹下的所有文件的代码,通过递归方式实现达到清空一个目录的效果,代码简单实用. 用到的函数: scandir($path) 遍历一个文件 ...