在学习python的过程中好多概念老是搞不清;在这里做个笔记记录下:
一,from...import... 和import的区别
1,from A import B 和import A其中A是一个模块,B是A中的一个方法或者函数。前者只调用了A模块的一中方法,后者调用了A中的所有方法。
2,from A import B 和import A两种方式的导入之后,在函数的使用上不同。前者的函数可以直接使用,而后者如果想使用A模块中的B函数时,需要使用"A.B"。
3,还有一种是from A import *,可以直接使用A中的函数不用加"A.",但是大神们好像都不推荐这么用。
4,import... as...,"as"后面跟一个你自己的命名,这样的话就可以将模块改成自己便于记忆的名字了。
二,据说python中方法和函数并不是完全一样的:
属于某个类的函数就是方法,不属于任何类的函数就是函数。
三,经常说的类和对象
类是一个抽象概念,而对象是抽象概念的具体化。例如:汽车是个类,而相应的宝马x5,奔驰600就是对象。在类中会定义相应的属性,和方法。调用类时就是将类进行实例化的过程。例如:
- class student: #定义一个类
- name="" #定义类的属性
- age=0
- __weight=0 #双下划线表示定义私有类,不能在类外部被使用或直接访问
- def __init__(self,n,a,w): #在类地内部,使用def关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数self,且为第一个参数。其中__init__ 构造函数,在实例化为对象时调用
- self.name=n
- self.age=a
- self.__weight=w
- def speak(self): #定义一个方法
- print("%s say I am %d years old weight is %d kg"
- %(self.name,self.age,self.__weight))
- stu=student('luren',20,70) # 实例化类为对象,这个过程中会自动调用:__init__ 构造函数
- stu.speak() #实例化之后调用类中的一个方法
- print stu.name #访问实例后的一个属性
- print stu.__weight#调用此代码时会显示错误,因为__weight是一个私有类,不能被外部使用