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)
posted @ 2022-08-28 23:33  胡同咖啡  阅读(50)  评论(0编辑  收藏  举报