python类和函数(四)
一、函数
1、函数的定义
使用关键字def
语法:
- def 函数名(<参数>)
# 99乘法表
def prin():
for i in range(1,10):
print()
for j in range(1,i+1):
print("%s*%s=%d"%(j,i,i*j),end="\t")
prin()
#几几乘法表
def prin(n):
for i in range(1,n+1):
print()
for j in range(1,i+1):
print("%s*%s=%d"%(j,i,i*j),end="\t")
prin(8)
实参形参
- 默认值
def animal(name='dog'):
print(name)
animal()
输出:dog
函数返回值
- 字符串
def get_formatted_name(first_name,last_name):
full_name = first_name+' '+last_name
# title()单词首字符大写
return full_name.title()
print(get_formatted_name('jimi','hendrix'))
- 返回字典
def person(first_name,last_name):
name = {'first':first_name,'last_name':last_name}
return name;
name = person('jimi','hendrix')
print(name)
2、模块的导入
2.1、创建pizza.py文件
def prin(n):
for i in range(1,n+1):
print()
for j in range(1,i+1):
print("%s*%s=%d"%(j,i,i*j),end="\t")
def prin2(n):
for i in range(1,n+1):
print()
for j in range(1,i+1):
print("%s*%s=%d"%(j,i,i*j),end="\t")
2.2、创建making_pizza.py文件
# 使用pizza.py文件中的函数
import pizza
pizza.prin(9)
# 导入特定函数
from test import prin2
prin2(3)
#使用as指定别名
from test import prin2 as p2
p2(3)
#导入模块中所有函数
from test import *
二、类
1、创建和使用类
创建一个dog类Dog.py
class Dog():
#初始化
# 形参self是必不可少的,必须在其他参数的前面
def __init__(self,name,age):
self.name = name
self.age = age
#吃的函数(方法)
def eat(self):
print(self.name+'在吃东西')
# 坐的函数(方法)
def sit(self):
print(self.name+'坐下')
引用
from Dog import Dog
my_dog = Dog('旺财',3)
my_dog.eat()
name = my_dog.name
print(name)
age = my_dog.age
print(age)
my_dog.sit()
2、封装
属性函数方法前加两个下划线表示私有属性
3、继承
class Car():
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year= year
self.odometer_reading = 0
def get_descriptive_name(self):
long_name = str(self.year) + ' ' + self.make + ' ' + self.model
return long_name.title()
def read_odometer(self):
print("This car has " + str(self.odometer_reading) + " miles on it.")
定义子类时,必须在括号内指定父类的名称。方法__init__()接受创建Car实例所需的信息
from Car import Car
# 继承Car类
class ExtendCar(Car):
def __init__(self, make, model, year):
super().__init__(make,model,year)
self.battery_size = 70;
def describe_battery(self):
print("This car has a " + str(self.battery_size) + "-kWh battery.")
from ExtendCar import ExtendCar
extent = ExtendCar('tsl','model s',2016)
extent.describe_battery()
ex = extent.get_descriptive_name()
print(ex)