码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-05-18 20:09:50      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

语法(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

 

 

 

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

标签:

原文地址:http://www.cnblogs.com/superdo/p/4512799.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!