zoukankan      html  css  js  c++  java
  • 初识Python(二)

    函数

    函数通过def关键字定义。def关键字后跟一个函数的 标识符 名称,然后跟一对圆括号。圆括号之中可以包括一些变量名,该行以冒号结尾。接下来是一块语句,它们是函数体。

    def max(a,b):

        if a>b:

      print a

        else:

      print b

    max(3,5)

    5

    使用global语句,可以将一个变量声明为全局变量,即使在函数内部也可以为函数外部的变量赋值

    x=10

    def func():

          global x

          x=20

          print x

    func()

    20

    默认参数值,当用户没有给相应参数提供值时将采用默认的参数值,对于没有默认值的参数必须提供值

    >>> def say(a,b=2):

    print a*b

    >>> say('hello')

    hellohello

    >>> say('hello',3)

    hellohellohello

    关键参数,用户可以在使用时通过名称来给自己想赋值的参数赋值

    >>> def say(a,b=23,c=32):

    print 'a is',a,'b is',b,'c is',c

    >>> say(a=12,c=12)

    a is 12 b is 23 c is 12

    return语句,默认Python每个函数最后都暗含一个return None语句,表示该函数没有任何返回值

    >>> def say():

    return 3

    >>> say()

    3

    文档字符串,类似于函数,类等的说明

    >>> def say():

    '''这是一个函数


    用于返回一个字符串'''

    print 'aaa'


    >>> help(say)

    Help on function say in module __main__:

    say()

        这是一个函数

        

        用于返回一个字符串

    >>> print say.__doc__      另一种查看文档字符串的方法  注意双下划线

    这是一个函数


    用于返回一个字符串

    模块

    如果你想要在其他程序中重用很多函数,就需要使用模块,模块基本上就是一个包含了所有你定义的函数和变量的文件。为了在其他程序中重用模块,模块的文件名必须以.py为扩展名。

    模块可以从其他程序 输入 以便利用它的功能。这也是我们使用Python标准库的方法。首先,我们将学习如何使用标准库模块。

    >>> import sys          导入sys模块

    >>> print 'path is',sys.path       使用sys模块中的path变量

    path is ['C:\\Python23\\Lib\\idlelib', 'C:\\WINDOWS\\system32\\python23.zip', 'C:\\Python23', 'C:\\Python23\\DLLs', 'C:\\Python23\\lib', 'C:\\Python23\\lib\\plat-win', 'C:\\Python23\\lib\\lib-tk', 'C:\\Python23\\lib\\site-packages']

    当一个模块被第一次输入的时候,这个模块的主块将被运行。假如我们只想在程序本身被使用的时候运行主块,而在它被别的模块输入的时候不运行主块,我们该怎么做呢?这可以通过模块的__name__属性完成。每个Python模块都有它的__name__,如果它是'__main__',这说明这个模块被用户单独运行,我们可以进行相应的恰当操作。

    if __name__ == '__main__':

        print 'This program is being run by itself'

    else:

        print 'I am being imported from another module'

    创建你自己的模块是十分简单的,你一直在这样做!每个Python程序也是一个模块。你已经确保它具有.py扩展名了。

    def sayhi():
        print 'Hi, this is mymodule speaking.'
    version = '0.1'

    上面是一个 模块 的例子。你已经看到,它与我们普通的Python程序相比并没有什么特别之处。我们接下来将看看如何在我们别的Python程序中使用这个模块。

    记住这个模块应该被放置在我们输入它的程序的同一个目录中,或者在sys.path所列目录之一。

    import mymodule

    mymodule.sayhi()

    print 'Version', mymodule.version

    你可以使用内建的dir函数来列出模块定义的标识符。标识符有函数、类和变量。

    >>> def say():

    return None

    >>> x=10

    >>> dir()

    ['__builtins__', '__doc__', '__name__', 'say', 'x']

    当你为dir()提供一个模块名的时候,它返回模块定义的名称列表。如果不提供参数,它返回当前模块中定义的名称列表。

    >>> import sys

    >>> dir(sys)

    ['__displayhook__', '__doc__', '__excepthook__', '__name__', '__stderr__', '__stdin__', '__stdout__', '_getframe', 'api_version', 'argv', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright', 'displayhook', 'dllhandle', 'exc_clear', 'exc_info', 'exc_traceback', 'exc_type', 'exc_value', 'excepthook', 'exec_prefix', 'executable', 'exit', 'exitfunc', 'getcheckinterval', 'getdefaultencoding', 'getfilesystemencoding', 'getrecursionlimit', 'getrefcount', 'getwindowsversion', 'hexversion', 'maxint', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'setcheckinterval', 'setprofile', 'setrecursionlimit', 'settrace', 'stderr', 'stdin', 'stdout', 'version', 'version_info', 'warnoptions', 'winver']

    注意,输入的模块同样是列表的一部分。

    >>> import sys

    >>> def say():

    return None

    >>> x=10

    >>> dir()

    ['__builtins__', '__doc__', '__name__', 'say', 'sys', 'x']

  • 相关阅读:
    Django-分页器
    Django-利用Form组件和ajax实现的注册
    Django之auth用户认证
    django之跨表查询及添加记录
    Django之queryset API
    bootstrip CSS
    bootstrip安装
    Django之环境安装
    前端之jQuery基础篇02-事件
    前端之jQuery基础篇
  • 原文地址:https://www.cnblogs.com/hanmeimei/p/python2.html
Copyright © 2011-2022 走看看