Python学习笔记(四)

在Python的函数中,是可以为形参附上默认值的,这样当调用函数而没有传给那个形参值时,形参的值即为默认值。

#默认参数
def default_param(val,val1=10):
    
    print(val);
    print(val1);

default_param(1);


还可以不定参,这样就可以向函数传送0~N个参数。但是函数不允许有两个或两个以上的不定参。

#可变参数列表
def change_param(*value):
    
    sum = 0;
    
    if not value:
        
        return "没有参数";
    
    else:
        
        for i in value:
            
            sum += int(i);
            
    return sum;

print(change_param());
print(change_param(2,3,4))


对于异常,Python也可以捕获。用except进行捕获,虽是如此,但与Java经典的try-catch-finally相比,还是明显弱了许多啊!

#Python中的异常处理
def exp_func(i,j):
    
    try:
        
        print(i/j);
        
    except:
        
        print("异常:分母为0");
        
exp_func(5,0);


接下来就是面向对象的知识,没有新意的,用class来标明对象,括号中的表示Animal类继承至object。此object应该是Python中一切类的最基础父类吧,同Java中的java.lang.Object差不多吧。

class Animal(object):
    
    #构造函数
    def __init__(self,name):
        
        self.name = name;
    
    #方法
    def descript_self(self):
        
        print("This is a function.The name is "+self.name+".");
        
    #供打印的方法,类似于java中的toString()方法
    def __str__(self):
               
        return "This is "+self.name+".";    
        
        
    #pass表示不对从object继承来的特性做任何修改
    pass;

#初始化一个类的实例
cat = Animal("cat");
#调用类中的方法
cat.descript_self();
#打印对象
print(cat);



构造函数是__init__,仿佛PHP中是__construct吧,唉,感觉没有Java直接用类名作为构造函数名好用。

 

然后就是多态(其实就是运行时绑定,重载重写啥的),子类继承父类,随手写一个,熟悉一下:

#Dog类,继承至Animal类
class Dog(Animal):
    
    #子类中拥有的父类没有的方法
    def func(self):
        
        print("This is func.");

    #构造函数
    def __init__(self):
        
        #调用父类的构造函数
        Animal.__init__(self,"Dog");
        
    
    #重写父类的方法
    def descicript_self(self):
        print("This is a override function.");
        

dog = Dog();
dog.descript_self();
dog.func();

 

顺便提一句,Python是允许多重继承的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值