@w460461339
2016-10-16T04:36:57.000000Z
字数 1941
阅读 878
Python
最简单的模块:
#这个文件名为:fibo.py
def count(var1)
return var1+1;
在另一个文件中使用这个方法
#这个文件名为:use.py
#像java中一样进行导入
import fibo
#如何在这个文件里调用另一个文件中的方法
var2=fibo.count(2)
print(var2)
另外python也有包的概念,这里不多说。
输出格式美化
Python两种输出值的方式: 表达式语句和 print() 函数。
第三种方式是使用文件对象的 write() 方法,标准输出文件可以用 sys.stdout 引用。
如果你希望输出的形式更加多样,可以使用 str.format() 函数来格式化输出值。
如果你希望将输出的值转成字符串,可以使用 repr() 或 str() 函数来实现。
str(): 函数返回一个用户易读的表达形式。
repr(): 产生一个解释器易读的表达形式。
其他不多说,太细节。
这个是文件操作,这里暂时不说。
嘛,这个也暂时不说吧。
1、基本格式
class ClassName:
<statement1>
...
<statementn>
2、貌似不能定义未经赋值的成员变量(即,要定义成员变量就必须先初始化)
3、成员方法中,其第一个参数必须名为self
4、这个self相当于java中的this
成员变量有这么几种创建方法:
1、在类内,成员方法前进行声明;在声明时需要给成员变量进行初始化,不然声明出错
class myClass:
a=''
#在声明时未给b赋值,此声明报错
b
def fun1(self):
...
...
2、在类内,成员方法内,利用self创建成员变量并赋值;记住,self类似于this的作用。
class myClass:
def __init__(self):
self.a=''
self.b=[]
.....
这里不像java里面那么麻烦,只有两种方案:
基本属性:外部可以访问
私有属性:外部不可以访问,只可以在类内部访问
基本属性的定义之前已经介绍过了,这里介绍怎么定义私有属性。
class myClass:
#前面加双下划线就是私有属性
__privateA=''
def __init__(self,num1):
self.a=num1
#利用self也可以构建私有属性
self.__b=3
成员方法有两种类型:
基本成员方法
私有成员方法
但无论哪种类型,第一个参数都必须是self
创建基本成员方法
class myClass:
def sum(self,num1,num2):
return num1+num2
创建私有成员方法
class myClass:
def __mulity(self,num1,num2):
return num1*num2
类是可以继承的,派生类中可以对基类的方法进行重写覆盖。
覆盖表示,除了名字一样以外,参数列表和函数体都可以不同。
#基类
class myClass:
def speak(self):
return 'hello'
del sit(self)
return 'distance'
#派生类
class myFirstClass(myClass):
#覆盖基类中同名函数;参数列表一致,函数体不同
def speak(self):
return 'hello python'
#覆盖基类中同名函数;参数列表不一致,函数体不同
def sit(self,num1):
return 'distance'+str(num1)
测试了一下,感觉下面这些方法是这样的:
1、这些方法不提供原始的定义,需要自己去覆盖它
2、这些方法被覆盖后,虽然他们前面有双下滑线,但他们不是私有方法
3、在外部可以方便的调用他们
4、它们即代表一种运算方法:
比如,__add__定义了对象a + 对象b 具体是怎么操作
__pow__定义了对象a的对象b次方具体是怎么操作等等
__init__ : 构造函数,在生成对象时调用
__del__ : 析构函数,释放对象时使用
__repr__ : 打印,转换
__setitem__ : 按照索引赋值
__getitem__: 按照索引获取值
__len__: 获得长度
__cmp__: 比较运算
__call__: 函数调用
__add__: 加运算
__sub__: 减运算
__mul__: 乘运算
__div__: 除运算
__mod__: 求余运算
__pow__: 称方
python支持单继承与多继承;
同样的,继承只继承基本的成员变量与成员方法,对于私有的成员变量和成员方法,不进行继承。
多继承时,如果多个基类中有方法名相同,默认使用最左边的基类中的方法。