• [Python基础]004.语法(3)


    语法(3)


    方法

    定义

    • 语法 def 方法名(参数):
    • 返回值 return 没有指定返回值的方法,默认返回空值 None

    代码

    def say(who, dosth):
        '''
        谁做什么
        '''
        print who + ' ' + dosth + '!'
        return

    调用

    • 方法名(参数)

        say('AC', 'say hello')

      输出:AC say hello!

    • 方法名(参数名=参数)
      Python解释器能够用参数名匹配参数值,

        say(who='Horse', dosth='run')
        # 或者
        say(dosth='run', who='Horse')       # 顺序不影响

      输出:Horse run!

    参数

    • 引用方式传递参数
      除字符串和数字外,Python的其他对象全都采用引用方式传递参数,当参数在方法里被修改时,原始参数也被修改。

        a = [1, 2, 3, 4]
      
        def fun(i):
            a.append(5)
      
        fun(a)
      
        print a

      输出: [1, 2, 3, 4, 5]

    • 默认参数
      在定义方法时,在参数名后加上 =默认值
      这些默认参数是可选的,调用时可以不填,直接使用默认值。

        def say(who, dosth='say hello'):        # dosth定义了默认参数
            '''
            谁做什么
            '''
            print who + ' ' + dosth + '!'
            return
      
        say('I')            # 只要填写一个参数,另一个没写时使用默认参数

      输出: I say hello!

    返回 return

    跳出方法,返回一个值。

        def add(a, b):
            return a + b
    
        c = add(1, 2)
        print c

    输出: 3

    模块

    模块就是一个Python文件,后缀名为.py。
    将方法,变量,类等定义在模块里,方便被其他程序引用,使用其中定义的功能。

    引入模块

    • import
      导入模块,以调用 Python标准库 os 为例。

        import os                   # 引入os模块
        os.mkdir('abc')             # 调用方法,创建abc文件夹
      
        import os.path              # 引入os.path模块
        os.path.isfile('xxx.png')   # 调用方法,判断是否是文件

      导入模块后,需要以 模块名.方法名 来调用模块下面的方法。

    • from ... import ...
      直接从模块中导入方法,变量或类,还是以 os 为例。

        from os import mkdir        # 从os引入mkdir方法
        mkdir('abc')                # 调用方法
      
        from os.path import isfile  # 从os.path引入isfile方法
        isfile('xxx.png')           # 调用方法

      这种方式直接从模块中引入某个方法,在调用时就可以直接用 方法名

    • from ... import * 从模块中导入所有东西。

        from os import *            # 引入os的所有东西
        mkdir('abc')
      
        from os.path import *       # 引入os.path的所有东西
        isfile('xxx.png')
    • as
      模块别名

        import os.path as path      # 引入os.path模块 别名path
        path.isfile('xxx.png')      # 调用方法

      使用别名后,就可以直接用别名来代替模块名。

    写模块

    写一个模块,其实就是写一个Python文件。

    # MyModule.py
    
    def test():                     # 方法
        print 'my module test'
    
    var1 = 10                       # 变量
    
    class C:                        #
        def __init__(self):
            pass

    上面就是一个简单的模块 MyModule.py

    # main.py
    
    import MyModule         # 引入模块  
    MyModule.test()         # 调用test方法
    print MyModule.var1     # 模块变量
    
    from MyModule import C  # 导入类

    另一个模块调用 MyModule 模块的方法。

    模块名称 __name__

    每个模块都有一个名称,可以使用 __name__ 属性来获得。
    最常用的地方就是作为main方法入口。

    # MyModule.py
    
    # ...模块定义...
    
    if __name__ == '__main__':          
        # 当模块名是 __main__ 时,执行
        print 'MyModule main'

    当直接执行这个模块时,其模块名就是 __main__
    当该模块是用 import 导入时,就不会执行。

    dir()

    dir() 方法用来找到模块内所有东西的名称。

    import os.path
    dir(os.path)

    返回一个字符串列表:

        ['__all__', '__builtins__', '__doc__', '__file__', '__name__', 
        '__package__', '_joinrealpath', '_unicode', '_uvarprog', '_varprog', 
        'abspath', 'altsep', 'basename', 'commonprefix', 'curdir', 'defpath', 
        'devnull', 'dirname', 'exists', 'expanduser', 'expandvars', 'extsep', 
        'genericpath', 'getatime', 'getctime', 'getmtime', 'getsize', 'isabs', 
        'isdir', 'isfile', 'islink', 'ismount', 'join', 'lexists', 'normcase', 
        'normpath', 'os', 'pardir', 'pathsep', 'realpath', 'relpath', 'samefile', 
        'sameopenfile', 'samestat', 'sep', 'split', 'splitdrive', 'splitext', 
        'stat', 'supports_unicode_filenames', 'sys', 'walk', 'warnings']

     

    本站文章为 宝宝巴士 SD.Team 原创,转载务必在明显处注明:(作者官方网站: 宝宝巴士 
    转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4512799.html

     

  • 相关阅读:
    《TZOJ1546》
    css3的基本样式
    PHP连接mysql数据库,并将取出的数据以json的格式输出
    使用ajax获取JSON数据的jQuery代码的格式
    使用构造函数来判断一个对象是数组还是日期
    js(jquery)代码在页面上实时地显示时间
    点分治总结
    线性基,高斯消元总结
    网络流总结
    后缀数组总结
  • 原文地址:https://www.cnblogs.com/superdo/p/4512799.html
Copyright © 2020-2023  润新知