Python:函数和类

特色函数列表:
str():把数字转化为字符串,以数字或数字变量为参数,输出对应的数字字符串
len():(1)计算组成字符串的字符长度,以字符串或字符串变量为参数,输出字符串的字符长度;(2)计算列表的长度,以列表为参数,输出列表中的总元素个数
int(),float():把数值字符串转换为相应类型的数值,以数值字符串为参数,输出相应类型的数值

函数的优点:1、使用函数可以将代码块与主程序分离;2、通过给函数指定描述性名称,可让主程序容易理解得多

根据约定,在Python中,类的名称的首字母是大写的,当然,这只是约定,即类名称首字母也可是小写的

用类实例做为类属性:使用代码模拟实物时,可能会发现自己给类添加的细节越来越多:属性和方法清单以及文件都越来越长。在这种情况下,可以将类的一部分作为一个独立的类提取出来,以此,把将大型类拆分成多个协同工作的小类

重写父类的方法:对于父类的方法,只要它不符合子类模拟的实物的实物的行为,都可对其进行重写。为此,可在子类这种定义一个这样的方法,即它与要重写的父类方法同名。这样,Python将不会考虑这个父类方法,而只关注在子类中定义的相应方法

类中的特殊方法 __init__()在每次根据类创建实例时,都会被自动运行,可以说,__init__()方法的作用就在于创建类实例,这个方法的开头和末尾各有两个下划线

类的各个属性都是在方法__init__()中定义和初始化的

类中定义的每一个方法都会有形参self,包括__init__(),而在调用与类相关联的方法时都将自动传递实参self,它是一个指向实例本身的引用,作用在于让类方法通过实例来访问类中的属性和方法

继承:编写类时,并非总是要从空白开始。一个类继承另一个类时,它将自动获得另一个类的所有属性和方法;原有的类称为父类,而新类称为子类。子类继承了其父类的所有属性和方法,同时还可以定义自己的属性和方法以区分子类和父类

创建子类时,父类必须包含在当前Python程序文件中,且位于子类前面。定义子类时,必须在括号内指定父类的名称,而创建父类实例的信息由子类的__init__()所接受

将父类和子类关联起来的是方法super(),super()调用于子类方法__init__()中的首行:super().__init__(a,b,c) # 初始化父类的属性,a,b,c由子类方法__init__()提供

函数定义:

 # 函数应该定义在任何Python语句的最前面
 def greet_user():
    """显示简单的问候语"""
    print("Hello!")


类的定义与使用:

class Dog():
    """一次模拟小狗的简单尝试"""

    def __init__(self, name, age):
        """定义和初始化类属性name和age"""
        self.name = name
        self.age = age

    def sit(self):
        """模拟小狗被命令时蹲下"""
        print(self.name.title() + " is now sitting.")

    def roll_over(self):
        """模拟小狗被命令时打滚"""
        print(self.name.title() + " rolled over!")

# 根据类Dog创建实例
my_dog = Dog('willie',6)

# 通过句点表示法来访问类属性和调用类方法
print("My dog's name is " + my_dog.name.title() + ".")
print("My dog is " + str(my_dog.age) + " years old.")
my_dog.sit()
my_dog.roll_over()



类的继承:

class Dog():
    def __init__(self, name, age):
          --snip--

class Color_dog(Dog):
    """一个色狗"""

    def __init__(self, name, age, color):
        """初始化父类的属性"""
        super().__init__(name, age)
        """定义和初始化子类的属性"""
        self.color = color

    def color_of_dog(self):
        print("The color of dog is " + self.color + ".")

# 创建子类实例my_black_dog 
my_black_dog = Color_dog('jonh', '999', 'black')

# 访问子类的属性和调用子类的方法
print("My dog's name is " + my_black_dog.name.title() + ".")
print("My dog's color is " + my_black_dog.color.title() + ".")
print("My dog is " + str(my_black_dog.age) + " years old.")
my_black_dog.color_of_dog()
 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值