zoukankan      html  css  js  c++  java
  • 怒学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)

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

  • 相关阅读:
    [cf 947E] Perpetual Subtraction
    loj3120. 「CTS2019 | CTSC2019」珍珠
    loj「LibreOJ NOI Round #2」不等关系
    loj6395. 「THUPC2018」城市地铁规划 / City
    loj2553. 「CTSC2018」暴力写挂
    loj6270. 数据结构板子题
    loj6358. 前夕
    loj6677. EntropyIncreaser 与菱形计数
    fiddler模拟接口响应数据
    Fiddler请求详解/autoResponseder重定向
  • 原文地址:https://www.cnblogs.com/WhatsYourProblem/p/3837913.html
Copyright © 2011-2022 走看看