首页 > 编程语言 > 详细

Python学习笔记(二)

时间:2020-02-13 15:14:29      阅读:81      评论:0      收藏:0      [点我收藏+]

第二组 函数定义

  Python 可以使用`def`关键字来定义函数,和变量一样每个函数也有一个响亮的名字,而且命名规则跟变量的命名规则是一致的。 在函数名后面的圆括号中可以放置传递给函数的参数,相当于是函数的自变量,而函数执行完成后我们可以通过`return`关键字来返回一个值,这相当于是因变量。

2.1 函数的基本功能

  函数的参数:在Python中,函数的参数可以有默认值,也支持使用可变参数

  可以给函数的参数设定默认值,如果在调用函数时没有传入对应参数的值,就会使用默认参数。例子如下:

  def add(a=0,b=0,c=0):

    return a+b+c

  如果没有指定参数就是直接以a=b=c=0作为输入,而且在传递参数的时候可以不按照设定的顺序进行传递

  print(add(c=100,b=200,a=100))   #输出值是400

  def add1(a=0,b=0,c=0):

    return a

  print(add1(c=50,b=200,a=100)) #输出值是100,说明还是根据变量名进行赋值

  

  对于不确定的输入参数,使用可变参数 *+变量名,例子如下:

  def add(*var):  #在变量名前面加*,表示可变参数。在调用add时可以传入多个参数。

    total=0

    for a in var:

      total += a

    return total

2.2 模块化管理函数

  函数有时会出现命名冲突的问题,那么后面命名的函数会覆盖掉之前的。为了避免这种情况,使用多个文件(每一个文件代表一个模块module),那么在不同的模块中可以用相同的名字去命名函数,在使用的时候通过‘’import‘’导入。

  例如:

     module1.py
    ```Python
      def FUNC():
          print(‘hello, world!‘)
    ```

    module2.py
    ```Python
      def FUNC():
          print(‘goodbye, world!‘)
    ```

  然后用如下的方法来区别到底使用哪一个函数

   test.py
  ```Python
    import module1 as m1
    import module2 as m2
    m1.FUNC()  #这里的.FUNC()的用法会在后面介绍道,是面向对象的知识
    m2.FUNC()

  ```

2.3 避免执行模块中的代码(只想要导入模块中的函数)

  如果我们导入的模块除了定义函数之外还中有可以执行代码,那么Python解释器在导入这个模块时就会执行这些代码。if条件下的这些代码是不会执行的,因为只有直接执行的模块的名字才是“__main__”。

 module3.py

   ```Python
   def foo():
        pass
   def bar():
        pass
   # __name__是Python中一个隐含的变量它代表了模块的名字
   # 只有被Python解释器直接执行的模块的名字才是__main__
   if __name__ == ‘__main__‘:
        print(‘call foo()‘)
        foo()
        print(‘call bar()‘)
        bar()
  ```

test.py
```Python
import module3

# 导入module3时 不会执行模块中if条件成立时的代码 因为模块的名字是module3而不是__main__
```

Python学习笔记(二)

原文:https://www.cnblogs.com/BennyCoding/p/12303487.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!