特色函数列表:
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()