python中函数的作用及相关操作

函数的作用:

  函数的主要作用是结束重复编写代码,函数的编写更容易理解、测试代码

阅读指南:
#符号>>>后表示输入的代码,无开头表示为运行的结果

>>>print("Hello,python")
Hello,python

 

 

 

python中函数定义方法:

  

def function_name():#定义函数的名字格式为"def 函数名称():"括号一定要加,即使里面没有任何数据。
    move code#你需要运行的代码

function_name()#调用你定义的函数

实例:

>>>def names():#定义一个叫做names()的函数
"""打印名字"""
>>> print("My name is lixiang")#该行就是函数的子代码,调用函数时就会运行该代码 >>>names()#调用定义的函数"names()"  My name is lixiang#调用函数后的结果

函数不单单只能够重复代码,也可以将函数外部的数据传递至函数内部的代码中。

形参and实参:

>>>def names(name1):#括号中的name1就是 形参  它的主要作用就是接收来自 实参 的数据
  """打印名字"""
>>> print(f"My name is {name1}") >>>names("lixiang")# 括号中的"lixiang" 就是 实参 #形参 和 实参 主要作用就是传递函数外的数据至函数内部

形参调用实参中的方法:

位置调用实参:

#位置调用就是基于实参和形参的位置来进行调用函数
>>>def information(name,age):#定义函数名和形参
  """填写个人信息""" >>>
print(f"{name} is {age} old year")#形参数据的使用 >>>information("lixiang","22")#实参传递数据给形参,而传递的方式是位置传递
lixiang is 22 old year

 

关键字调用实参:

 

>>>def information(name,age):#定义函数名和形参
  """填写个人信息"""
>>> print(f"{name} is {age} old year")#形参数据的使用 >>>information(age="22",name="lixiang")#通过关键字的传递来传递实参,在函数中使用"="符号时,两边不要加空格
lixiang is 22 old year

 

形参默认值:

有些时候我们需要默认值,当你不填写的时候它会有个默认值。比如说我新增默认信息 来自:“中国”

 

>>>def information(name,age,come_from="china"):#第三个为默认值"china"  需要将填写默认值的数据填写在形参的最后面,这样才可以更好的使用位置调用实参。
  """默认参数值"""
>>> print(f"{name} is {age} old year.He comes from {come_from}")#形参数据的使用 >>>information(age="22",name="lixiang")#无需填写其他信息时 lixiang is 22 old year.He comes from china #输出为默认值China

 

当你填写数据的时候就会把默认值覆盖掉

>>>def information(name,age,come_from="china"):#第三个为默认值"china"  需要将填写默认值的数据填写在形参的最后面,这样才可以更好的使用位置调用实参。
  """填写个人信息"""
>>> print(f"{name} is {age} old year.He comes from {come_from}")#形参数据的使用 >>>information("lixiang","22","America")#需要更改信息时 lixiang is 22 old year.He comes from America#输出结果从China更改为America

返回值:

  内置方法return可指定返回的值,在函数内部代码中,如果遇到return则会立即停止,并且返回你指定的值。在默认没有指定的情况下,返回的值时none

不指定返回值时

>>>def information(name,age,come_from="china"):#定义函数名和形参
  """填写个人信息"""
>>>    print(f"{name} is {age} old year.He comes from {come_from}")#形参数据的使用
>>>    return#未指定任何的值进行返回
>>>x = information("lixiang","22","America")用一个变量名x去接收返回的值
>>>print(x)#打印返回的值
lixiang is 22 old year.He comes from America
None#返回的值

指定返回值时:

>>>def information(name,age,come_from="china"):#定义函数名和形参
  """填写个人信息"""
>>>    print(f"{name} is {age} old year.He comes from {come_from}")#形参数据的使用
>>>    return name#指定返回name
>>>x = information("lixiang","22","America")用一个变量名x去接收返回的值
>>>print(x)#打印返回的值
lixiang is 22 old year.He comes from America
lixiang#返回的值

让实参变成可选的:

在实际的使用中可能有些时候需要实参,但有时候不需要,调用函数时不可能一直更改定义好的函数,这时需要我们提供可以选择的实参。

 

>>>def cars_list(colour,style,depreciation=''):#depreciation变成可选择的
>>>    """让新旧程度变成可选择的内容"""
>>>    if depreciation:#depreciation有内容的情况下,布尔值为True
>>>        print(f"colour is {colour},style is {style},depreciation is {depreciation}")
>>>    else:
>>>        print(f"colour is {colour},style is {style}")
>>>cars_list("red","suv","8.5")#填写新旧程度下的情况下
colour is red,style is suv,depreciation is 8.5

 

没有填写内容的情况下:

>>>def cars_list(colour,style,depreciation=''):#depreciation变成可选择的
>>>    """让新旧程度变成可选择的内容"""
>>>    if depreciation:#depreciation有内容的情况下,布尔值为True
>>>        print(f"colour is {colour},style is {style},depreciation is {depreciation}")
>>>    else:
>>>        print(f"colour is {colour},style is {style}")
>>>cars_list("red","suv",)#没有填写新旧程度下的情况下
colour is red,style is suv

 

传递任意数量的实参:

>>>def make_pizza(*toppings):#前面加上一个符号*,可接收任意数量的实参,可配合之前说明的的内容填入,该类应该放置形参的最后
>>>    """打印顾客点的所有配料"""
>>>print(toppings)
>>>make_pizza('pepperoni')
>>>make_pizza('mushrooms', 'green peppers', 'extra cheese')    
('pepperoni',)
('mushrooms', 'green peppers', 'extra cheese')

创建一个新列表,并传递任何数量的形参**

def build_profile(first, last, **user_info):#两个**后会创建一个名为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)

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章