怒学Python——第四篇——函数与模块

Python的函数:其实和C++非常类似,不过由于是弱类型的语言(用起来感觉是......),把那些类型声明都去掉了,传的是值不是引用(至少2.7是),有一点点小区别是前面必须加def来定义(好像宏定义的样子......),下面给出示例

def sum(a, b):                       #sum为函数名,注意冒号......
    c = a + b                        #这一部分是函数的语句块
    return c                         #到这里函数就结束了,和C++一样

print sum(1, 2)                      #根据函数名调用函数,输出1+2的值

这里也有lambda函数,和C++11的特性很类似,给出前面的加法函数的例子

sum = lambda a, b:a + b              #这就是lambda函数的定义,以lambda开头,之后为传入参数,无论多少以","隔开,然后":"后面为想要实现运算的表达式

print sum(1, 2)

Python的模块:这一部分感觉和Java有关系,不过,模块给我的感觉就是C++里面的头文件和实现写在一起的文件罢了,下面给出例子

先给出加法函数的模块的代码,假如存在当前目录的fun.py里面

#!/usr/bin/python

def sum(a, b):
    c = a + b
    return c

给出主函数的代码,假如命名为test.py存在当前目录,则用import来导入模块fun(这难道不是Java......),

#!/usr/bin/python

import fun
print fun.sum(1, 2)

而有时候会觉得很麻烦,那个fun是一个和C++命名空间一样的东西,所以其实可以把sum通过from...import语句导入到当前的空间,给出代码

#!/usr/bin/python

from fun import sum
print sum(1, 2)

有时候会出现路劲问题,这个暂时先确保导入的模块在和主程序在一个目录就好

原文地址:https://www.cnblogs.com/WhatsYourProblem/p/3837913.html