一、函数
函数是一个表示一定功能的代码块,可以在程序中进行应用,书写的方式:“函数名.()”。
1、定义一个函数
# -*- coding: gb2312 -*-
#随便定义一个hansh8u
def system_out():
print("hello world !")
system_out()
结果:hello world !
#加粗部分即是函数体
2、函数的形参
2.1、定义一个带形参的函数
def greet_user(username):
"""显示简单的问候语"""
print("Hello, " + username.title() + "!")
greet_user('jesse')
结果:Hello, Jesse!
注意:jesse是个实参,username是个形参。
2.2、多个形参的情况,对应多个实参
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')
describe_pet('harry', 'hamster')
结果:I have a hamster.
My hamster's name is Harry.
I have a harry.
My hamster's name is hamster.
注意:此情况下,必须注意形参的填入顺序,否则输出的内容会出现与预期不一样的情况
2.3、关键字实参调用方法
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')
describe_pet(pet_name='harry', animal_type='hamster')
结果:I have a hamster.
My hamster's name is Harry.
I have a hamster.
My hamster's name is Harry.
注意:以上两种情况,函数中实参的调用顺序不一样,但并未影响输出结果,所以关键实参的顺序是不会影响结果的输出的。
2.4、形参的默认值设置
编写函数时,可给每个形参指定默认值 。
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.
注:若不想用设置的默认参数,可以用关键实参方式和位置实参方式两种方法,申明实参。
3、返回值函数
函数可以输出一定结果,也可以通过数据处理之后,返回一个值或一组值到代码中去,返回的值,叫做返回值,调用关键字return
3.1、返回简单值
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)
3.2、可选参数返回值函数
def get_formatted_name(first_name, last_name, middle_name=''):
"""返回整洁的姓名"""
if middle_name:
full_name = first_name + ' ' + middle_name + ' ' + last_name
else:
full_name = first_name + ' ' + last_name
return full_name.title()
musician = get_formatted_name('jimi', 'hendrix')
print(musician)
musician = get_formatted_name('john', 'hooker', 'lee')
print(musician)
3.3返回字典
返回值即是一个字典。