1.模块
        何时使用模块:
              1.代码越来越多的时候,放入一个py文件中,无法维护
               拆分放入多个py文件,好处:
               同一个名字的变量名互不影响
 
                     a.py                b.py
                     x=5                 x='abc'
                     def f1(x):             def f2(x):
                       print(x)               print(x)
              
     2.引入模块及第三方模块
       如如引用第三方模块,import math
                                  math.cos /sin   math.ceil /foolor
     3.如果开发人员多了,模块名重复
       解决办法:就是把同名的模块到不同的包中。文件夹(可以有多级)
          pl包       p2包
          a.py       a.py
 
        def main():     def main():
 
    4.引用完整的模块名:
      test.py----------------模块
      import p1.util. ------------引用包
      print p1.util.f(2,10) -------------调用p1.util模块的f函数
    5.如何区分包和普通目录
      包下面有个 _init_.py  每层都必须有  --包
 
   main函数:在你编写的任何python代码中,通常都至少应该使用一个main()函数,这个函数被认为程序的一              个起点。
        优点:可以轻松,反复地运行程序。还可传递输入值。
 
python 如何安装第三方模块
 
   python提供了两种模块管理工具:1 easy-install    2.pip-推荐
    如何安装 pip  web  安装python时,必须选择pip 而且选中add.python.exe加进去
   1.pip instal web.py      2.python   3.import web
 
python 面向对象编程:
 
    什么是面向对象:面向对象是一种程序设计范式
                    把程序看做不同对象相互调用
                    对现实世界建立对象模型
    面向对象编程的基本思想:类、实例
 
         类:用于定义抽像类型
         实例:根据类的定义被创建出来
                            人
 
                 小明    小红       小军
 
         如何定义类和实例:
 
               类: class 类名:  类名首字母大写
                         程序
 
                    class   Person:
                            pass
 
               实例: xiaoming=Person()
                      xiaohong=Person()
 
       面向对象编程:封装数据
 
      
              
       pass语句在函数中的作用:
           当你在编写程序时,没有思路的情况,用pass语句来占位,也可以当作一个标记,是要以后完成的代 码
           def playpython():
                   pass
 
      pass语句在循环中的作用:
          pass常用于为复合语句编写一个空的主体,如果while无限循环什么又都不做的情况下,pass
          
    python中创建实例属性:
        xiaoming=Person()
        xiaoming.name='kate'
        xiaoming.grade=60        
        实例的属性可以像普通变量一样进行操作。
 
   
 
 python中如何初始化实例属性
 
     在定义这个类时,添加一个_init_()特殊方法,当创建时_init_()方法被自动调用
     语法:
         class Person:
               def  _init_(self,name,age):
                    self.name=name
                    self.age=age
 
        _init_()方法第一个参数必须是self,后续参数可以自由指定,和定义函数没有区别
              xiaoming=Person('xiaoming',20)
              
     
      
python中访问限制:
     由双下划线开头的属性,无法被外部访问到。


https://blog.51cto.com/lyanhong/1920918