• 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:python279mymax.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中已经包含了所需的函数名,则再使用具体函数时,则不用再包含模块名了。

  • 相关阅读:
    前端入门flutter-05Image组件
    前端入门flutter-03Flutter目录结构介绍、入口、自定义Widget、Center组件、Text组件、MaterialApp组件、Scaffold组件
    前端入门flutter-02Dart语言学习
    前端入门flutter-01配置环境
    恋上数据结构使用什么编程语言讲解
    centOS7+:docker版本过低升级到高版本
    JAVA中List数组判断是否有重复元数
    连接数据库时username冲突
    Quartz的学习
    MySQL 服务无法启动解决途径
  • 原文地址:https://www.cnblogs.com/jiu0821/p/4491600.html
Copyright © 2020-2023  润新知