函数和类 -python基础

def greet_user():
    print("Hello!")


greet_user()  # Hello!


def greet_user(username):
    print("Hello, " + username.title() + "!")


greet_user("jesse")  # Hello, Jesse!


def describe_pet(animal_type, pet_name):
    print("\nI have a " + animal_type + ".")
    print("My " + animal_type + "'s name is " + pet_name.title())


describe_pet("hamster", "harry")  # I have a hamster.
# My hamster's name is Harry
describe_pet("dog", "willie")  # I have a hamster.


# My hamster's name is Harry
def describe_pet(animal_type, pet_name):
    print("\nI have a " + animal_type + ".")
    print("My " + animal_type + "'s name is " + pet_name.title() + ".")


describe_pet(animal_type="hamster", pet_name="harry")
# I have a hamster.
# My hamster's name is Harry.
def describe_pet(pet_name, animal_type="dog"):
    print("\nI have a "+animal_type+".")
    print("My "+animal_type+"'s name is "+pet_name.title()+".")
describe_pet(pet_name="willie")
# I have a dog.
# My dog's name is Willie.
# 返回值
def get_formatted_name(first_name, last_name):
    full_name = first_name+" "+last_name
    return full_name.title()
musician = get_formatted_name("jimi", "hendrix")
print(musician)  # Jimi Hendrix
## 返回字典
def build_person(first_name, last_name):
    person={"first":first_name, "last":last_name}
    return person
musician = build_person("jimi", "hendrix")
print(musician)  # {'first': 'jimi', 'last': 'hendrix'}
# 传递列表
def greet_users(names):
    for name in names:
        msg = "Hello, "+name.title()+"!"
        print(msg)
usernames = ["hannah", "ty", "margot"]
greet_users(usernames)
# Hello, Hannah!
# Hello, Ty!
# Hello, Margot!
def print_models(unprinted_designs, completed_models):
    while unprinted_designs:
        current_design = unprinted_designs.pop()
        print("printing model: "+current_design)
        completed_models.append(current_design)
    # printing model: dodecaheron
    # printing model: robot pendant
    # printing model: iphone case
def show_completed_models(completed_models):
    print("\nThe following models have been printed:")
    for completed_model in completed_models:
        print(completed_model)
    # The following models have been printed:
    # dodecaheron
    # robot pendant
    # iphone case

unprinted_designs = ["iphone case", "robot pendant", "dodecaheron"]
completed_models = []
print_models(unprinted_designs, completed_models)
show_completed_models(completed_models)

def make_pizza(*toppings):
    print(toppings)
    # ('pepperoni',)
    # ('mushroom', 'green peppers', 'extra cheese')
make_pizza("pepperoni")  # ('pepperoni',)
make_pizza("mushroom", "green peppers", "extra cheese")  # ('mushroom', 'green peppers', 'extra cheese')
# 结合使用位置参数和任何数量实参
def make_pizza(size, *toppings):
    print("\nMaking a "+str(size)+"-inch pizza with the following toppings:")
    for topping in toppings:
        print("- "+topping)
make_pizza(16, "pepperroni")
# Making a 16-inch pizza with the following toppings:
# - pepperroni
make_pizza(12, "mushroom", "green peppers", "extra cheese")
# Making a 12-inch pizza with the following toppings:
# - mushroom
# - green peppers
# - extra cheese
# 使用任意数量的关键字实参
def build_profile(first, last, **user_info):
    profile={}
    profile["first_name"] = first
    profile["last_name"] = last
    for key, value in user_info.items():
        profile[key] = value
    return profile
user_profile = build_profile("albert", "einstein", location="princeton", field = "physics")
print(user_profile)



class Dog():
    def __init__(self, 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!")


my_dog = Dog("willie", 6)
print(my_dog.name.title() + ".")  # Willie.
print(my_dog.age)  # 6
my_dog.sit()  # Willie is now sitting.
my_dog.roll_over()  # Willie rolled over!
my_dog = Dog("willie", 6)
your_dog = Dog("lucy", 3)
print(my_dog.name.title())  # Willie
print(my_dog.age)  # 6
my_dog.sit()  # Willie is now sitting.
print(your_dog.name.title())  # Lucy
print(your_dog.age)  # 3
your_dog.sit()  # Lucy is now sitting.

class Car():
    def __init__(self, make, model, year):
        self.make = make
        self.model = model
        self.year = year

    def get_descriptive_name(self):
        long_name = str(self.year) + " " + self.make + " " + self.model
        return long_name.title()


my_new_car = Car("audi", "a4", 2016)
print(my_new_car.get_descriptive_name())  # 2016 Audi A4


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.")

    def update_odometer(self, mileage):
        if mileage >= self.odometer_reading:
            self.odometer_reading = mileage
        else:
            print("You can't roll back an odometer!")

    def increment_odometer(self, miles):
        self.odometer_reading += miles


class ElectricCar(Car):
    def __init__(self, make, model, year):
        super().__init__(make, model, year)


my_tesla = ElectricCar("tesla", "model s", 2016)
print(my_tesla.get_descriptive_name())  # 2016 Tesla Model S

# 给子类定义属性和方法
class ElectricCar(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.")

my_tesla = ElectricCar("tesla", "model s", 2016)
print(my_tesla.get_descriptive_name())  # 2016 Tesla Model S
my_tesla.describe_battery()  # This Car has a 70-kwh battery.

# 重写父类的方法
def ElectricCar(Car):
    def fill_gas_tank():
        print("This Car doesn't need a gas tank!")
# 将实例用作属性
class Battery():
    def __init__(self, battery_size = 70):
        self.battery_size = battery_size
    def describe_battery(self):
        print("This car has a "+str(self.battery_size)+"-kwh battery.")

class ElectricCar(Car):
    def __init__(self,make,model,year):
        super().__init__(make, model, year)
        self.battery = Battery()
my_tesla = ElectricCar("tesla", "model s", 2016)
print(my_tesla.get_descriptive_name())  # 2016 Tesla Model S
my_tesla.battery.describe_battery()  # This car has a 70-kwh battery.




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值