美文网首页
函数和模块

函数和模块

作者: F_er | 来源:发表于2020-04-28 11:22 被阅读0次

在Python中,函数的参数可以有默认值,也支持使用可变参数,所以Python并不需要像其他语言一样支持函数的重载,因为我们在定义一个函数的时候可以让它有多种不同的使用方式

传递参数时可以不按照设定的顺序进行传递

def add(*args):在参数名前面的 * 表示args是一个可变参数

1.两个文件(每个文件代表一个模块)含有同名函数

  • from module1 import foo然后调用,就是调用module1中的foo函数
  • import module1 as m1 然后用m1.foo()调用module1中的foo函数

如果一个模块中foo( )函数之后还有其他代码块,给这代码块加if __name__ == '__main__':
a. __name__是Python中一个隐含的变量它代表了模块的名字
b. 只有被Python解释器直接执行的模块的名字才是main

2.Python查找一个变量时会按照局部作用域 => 嵌套作用域 =>全局作用域 =>内置作用域的顺序进行搜索

  • 全局作用域用global
  • 嵌套作用域nonlocal

3.属性的公私

  • 私有 给属性命名时前面加两个"_"
class Test:

    def __init__(self, foo):
        self.__foo = foo #self.foo=foo

    def __bar(self):
        print(self.__foo)
        print('__bar')

但是,Python并没有从语法上严格保证私有属性或方法的私密性,它只是给私有的属性和方法换了一个名字来妨碍对它们的访问,事实上如果你知道更换名字的规则仍然可以访问到它们,下面的代码就可以验证这一点。之所以这样设定,可以用这样一句名言加以解释,就是"We are all consenting adults here"。因为绝大多数程序员都认为开放比封闭要好,而且程序员要自己为自己的行为负责。

class Test:

    def __init__(self, foo):
        self.__foo = foo

    def __bar(self):
        print(self.__foo)
        print('__bar')


def main():
    test = Test('hello')
    test._Test__bar() # 注意这里
    print(test._Test__foo)


if __name__ == "__main__":
    main()

相关文章

  • 函数和模块

    根据我们前面学习的知识,可以用循环做累乘来计算阶乘,那么通过下面的Python代码我们就可以计算出组合数 [图片上...

  • 函数和模块

    在Python中,函数的参数可以有默认值,也支持使用可变参数,所以Python并不需要像其他语言一样支持函数的重载...

  • [Erlang开发之路]、lists模块扫盲

    一、lists模块介绍 这是一个列表处理模块,主要分为参数带函数和不带函数的函数 二、带函数作参数的函数 1. a...

  • 函数 -- 模块和包

    模块就象工具包,要想使用工具包中的工具,就需要导入(import)这个模块每个以.py 结尾的 Python 源代...

  • 常见模块和函数

    1、from sklearn.model_selection import train_test_split 用于...

  • Python模块和包

    模块 为了方便管理和归类函数,python使用模块包含一组函数。 模块名由python文件的文件名表示,例如tes...

  • Python3模块-Python入门到精通

    模块 模块是一个包含所有定义的函数和变量的文件,其后缀名是 .py 。模块可以被别的程序引入,以调用该模块中的函数...

  • 操作文件和目录

    环境变量 操作文件和目录 shutil模块提供了copyfile()的函数,在shutil模块中找到很多实用函数,...

  • Elixir-组合

    模块 模块是把函数组织到不同命名空间的最好的办法,除了能为函数分组,他还允许我们定义命名函数和私有函数。 Elix...

  • Python相关

    Python中重命名问题 import的不同模块中有相同的函数名的重命名处理例:模块a和模块b都有相同的函数名xx...

网友评论

      本文标题:函数和模块

      本文链接:https://www.haomeiwen.com/subject/ohfvwhtx.html