七、函数
1、带有名字的代码块,使用关键字def
def greet_user():
"""显示简单的问候语"""
print("Hello!")
2、实参和形参
位置实参:函数调用时实参的顺序和形参相同;
关键字实参:实参中将名称和值关联起来,无需考虑顺序;
describe_pet(animal_type='hamster', pet_name='harrry')
默认值:编写函数时,给形参指定的默认值,调用函数时,如果未提供实参,则使用形参的默认值;
可以混合使用以上参数;
3、返回值
使用return语句
4、传递任意数量的实参
def make_pizza(*toppings):
pass
def make_pizza(size, *toppings):
pass
def build_profile(first, last, **user_info): # 使用任意数量的关键字实参
pass
5、模块
模块是扩展名为.py的文件,包含要导入到程序中的代码。
import pizza
from pizza import make_pizza # 导入指定函数
from pizza import make_pizza as mp # 指定函数的别名
from pizza import * # 导入模块中所有函数
6、函数编写指南
函数名因为描述性名称,且只是用小写字母和下划线;
函数定义后面,采用文档字符串格式简单阐述其功能;
给形参指定默认值时,等号两边不要有空格;
八、类
1、创建和使用类
类中的函数称为方法
class Dog():
def __init__(self, name, age):
self.name = name # 属性
self.age = age
def sit(self):
pass
my_dog = Dog('wille', 6) # 实例化对象
my_dog.name # 访问属性
my_dog.sit() # 调用方法
属性值的要有初始值,可以设置默认值,修改属性值的方法有:通过实例修改,方法修改等;
2、继承
创建子类,父类必须包含在当前文件中,且位于子类前面;括号内指定父类的名称;
```python
class Car():
def __init__(self, make, model, year):
pass
class EletriCar(Car):
def __init__(self, make, model, year):
super().__init__(make, model, year)
self.battery_size = 70
def fill_gas_tank(self): #重写父类方法
print("This car does't need a gas tank!")
3、导入类
from car import Car # 导入单个类
from car import Car, ElectricCar # 从一个模块导入多个类
from car import * # 从一个模块导入所有类
Python标准库是一组模块
4、类的编写风格
类名采用驼峰命名法,每个单词首字母大写,不使用下划线;实例名和模块名都采用小写,并使用下划线;
每个类定义后包含一个文档字符串;
在类中使用一个空行来分隔方法,模块中,使用两个空行来分隔类;
需要导入标准库中的模块和自己编写的模块时,先导入标准库模块,在添加一个空行,导入自己编写的模块;