defgreet_user():print("Hello!")
greet_user()# Hello!defgreet_user(username):print("Hello, "+ username.title()+"!")
greet_user("jesse")# Hello, Jesse!defdescribe_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 Harrydefdescribe_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.defdescribe_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.# 返回值defget_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## 返回字典defbuild_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'}# 传递列表defgreet_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!defprint_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 casedefshow_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)defmake_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')# 结合使用位置参数和任何数量实参defmake_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# 使用任意数量的关键字实参defbuild_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)
classDog():def__init__(self, name, age):
self.name = name
self.age = age
defsit(self):print(self.name.title()+" is now sitting.")defroll_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())# Willieprint(my_dog.age)# 6
my_dog.sit()# Willie is now sitting.print(your_dog.name.title())# Lucyprint(your_dog.age)# 3
your_dog.sit()# Lucy is now sitting.
classCar():def__init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
defget_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 A4classCar():def__init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
self.odometer_reading =0defget_descriptive_name(self):
long_name =str(self.year)+" "+ self.make +" "+ self.model
return long_name.title()defread_odometer(self):print("This car has "+str(self.odometer_reading)+" miles on it.")defupdate_odometer(self, mileage):if mileage >= self.odometer_reading:
self.odometer_reading = mileage
else:print("You can't roll back an odometer!")defincrement_odometer(self, miles):
self.odometer_reading += miles
classElectricCar(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# 给子类定义属性和方法classElectricCar(Car):def__init__(self,make,model,year):super().__init__(make, model, year)
self.battery_size =70defdescribe_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.# 重写父类的方法defElectricCar(Car):deffill_gas_tank():print("This Car doesn't need a gas tank!")# 将实例用作属性classBattery():def__init__(self, battery_size =70):
self.battery_size = battery_size
defdescribe_battery(self):print("This car has a "+str(self.battery_size)+"-kwh battery.")classElectricCar(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.