当前位置: 代码迷 >> 综合 >> Python学习日记-《Python编程从入门到实践》-(4)-2020/08/04
  详细解决方案

Python学习日记-《Python编程从入门到实践》-(4)-2020/08/04

热度:37   发布时间:2024-02-07 07:12:47.0

2020年8月4日

 

第八章  函数

 

1.定义函数

   def greet_user( ):                    函数定义

         """显示简单的问候语"""     注释/文档字符串

         print("Hello!")                  函数体

 

2.要确认函数调用中实参的顺序与函数定义中形参的顺序一致。

   或者使用关键字实参,在实参中将名称和值关联起来了,这样就算改变顺序,传递实参时也不会混淆。

 

3.编写函数时可以给每个形参指定默认值

使用默认值时,在形参列表中必须先列出没有默认值的形参,再列出有默认值的形参。

  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')

 

4.Python和C++在函数方面的区别:参数的完全自动化处理

   Python真的好自动,我好爱

 

5.让实参变为可选的,利用默认值和函数内置的if-else结构

   def bulid_person(first_name,last_name,age=''):

          person={'first':first_name,'last':last_name}

          if age:

               person['age']=age

          return person

 

6.function_name(list_name)               相当于C++中的地址传递

   function_name(list_name[:])            相当于C++中的副本传递

 

7.传递任意数量的实参

  def make_pizza(*toppings):

         print(toppings)

 

  make_pizza('A')

  make_pizza('A','B','C')

  *toppings表示建立一个名为toppings的空元组,并将收到的所有值都封装到这个元组之中

  如果让函数接受不同类型的实参,必须在函数定义中将接纳任意数量实参的形参放在最后,Python先匹配位置实参和关键字实参,再将余下的实参都收集到最后一个形参中。

 

8.使用任意数量的关键字实参,将函数编写成能够接受任意数量的键-值对

   def build_profile(first,last,**user_info):

         """创建一个字典,其中包含我们知道的关于用户的一切"""

         profile={}

         profile['first_name']=first

         profile['last_name']=last

         for key,value in user_info.item():

               profile[key]=value

         return profile

 

User_profile=bulid_profile('albert','einstein',location='princeton',field='physics')

               

9.将函数存储在模块中:

   模块是扩展名为.py的文件,包含要导入到程序中的代码

   导入整个模块

   import module_name

   module_name.function_name()

 

10.导入特定的函数

     from module_name import function_0,function_1,function_2

 

    导入模块时,调用函数要使用句点

    导入函数时,直接调用即可

 

11.给引入的函数指定别名

     from module_name import function_name as fn

 

12.给引入的模块指定别名

     from module_name as mn

 

13.导入模块中的所有函数

     from module import *

 

14.函数编写指南

   (1)给函数指定描述性名称,只在其中使用小写字母和下划线

   (2)每个函数都应包含简要阐述功能的注释,该注释应紧跟在函数定义后面,并采用文档字符串格式。

   (3)给形参指定默认值时,符号两边不要有空格

   (4)如果程序或模块包含多个函数,可使用两个空行将相邻的函数分开

   (5)所有的import语句都应放在文件开头

  相关解决方案