zoukankan      html  css  js  c++  java
  • python程序的模块与包

    python的程序是由模块组成的,一个python文件就是一个模块,而模块一般由代码,函数,或者类组成。创建baiduHq.py模块(文件),在该模块中编写变量,函数,类,来说明在一个模块中,变量的输出,函数的调用,类的调用,见源码:

    #baiduHq.py
    #coding:utf-8
    hello='hello world'
    def add(a,b):
    return a+b
    class index(object):
    def __init__(self):
    pass
    def add(self,a,b):
    return a+b
    """if __name__=='__main__':
    print (hello)
    print (add(2,3))
    demo=index()
    print (demo.add(3,3))"""

    注解:从如上源码以及会截图中可以得到,baiduHp.py模块里定义了hello变量,add()函数与index类,在一个模块中,可以编写N个函数,N个类,这主要看编写的人代码的组织和需要。在一个模块中,怎么来调用函数,类了?

    if __name__=='__main__':
    print (hello)
    print (add(2,3))
    demo=index()
    print (demo.add(3,3))
    注解:看如上的截图,变量hello输出很简单,add()函数因为有参数,调用的时候得加参数,类index需要先实例化,实例化后再调用类中的方法。这里使用到了__name__=='__main__',它是python程序的入口,可以理解为java中的main

    模块与模块之间怎么可以调用吗?答案当然是可以的,先有模块baiduHq.py,再定义模块index.py,在index.py模块中调用baiduHq.py模块中的变量,函数,与类,见实现的过程:、
    #index.py
    import baiduHq
    if __name__=='__main__':
    print (baiduHq.hello)
    print (baiduHq.add(2,3))
    demo=baiduHq.index()
    print (demo.add(3,3))

    注解:如上截图是index.py模块的源码,index.py与baiduHq.py是不同的模块,所以index.py模块调用baiduHq.py模块里的函数等,需要先导入baiduHq
    import baiduHq
    调用baiduHq.py模块中的变量,函数,类,都需要前带模块名称.变量(baiduHq.hello),模块名称.函数(baiduHq.add()),实例化类也是模块名称.类名称(demo=baiduHq.index())


    在如上的代码中知道,index.py模块调用baiduHq.py模块中的函数等,都需要带baiduHq名称才可以,有没有更加简单的方式了?当然有的,可以使用from ...import ...,简单理解就是从...模块来的...,from可以依据英文意思来理解,如需要使用time模块中的sleep,那么就是from time import sleep ,回到案例本身,来优化index.py模块调用baiduHq.py中的函数等


    """import baiduHq
    if __name__=='__main__':
    print (baiduHq.hello)
    print (baiduHq.add(2,3))
    demo=baiduHq.index()
    print (demo.add(3,3))"""
    from baiduHq import hello,add,index

    if __name__=='__main__':
    print (hello)
    print (add(2,3))
    demo=index()
    print (demo.add(3,3))



  • 相关阅读:
    LINUX学习笔记day2
    android 获取正在运行的服务
    android小部件
    android开发_国外论坛
    取消线程
    AlarmManager的使用
    PendingIntent
    SharedPreferences 的使用
    流量监听
    android 异常-access to constructor not allowed
  • 原文地址:https://www.cnblogs.com/confidence-pearl/p/10979254.html
Copyright © 2011-2022 走看看