python基础 第四次课

 

  1. 函数关键字

关键字是python内置的,具有特殊意义的标识符,自定义标识符命名时不可与之重复。共有33个关键字

['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

函数是封装了一些独立的功能,可以直接调用,python内置了许多函数,同时可以自建函数来使用。

可通过以下代码查看python内置的关键字内容

 

 

关键字后面不需要使用括号,函数封装了独立功能,可以直接调用

  1. False:假的
  2. None:空的
  3. True 真的
  4. and逻辑与
  5. as为导入的模块取一个别名
  6. assert断言
  7. break用在循环语句,跳转到语句块的末尾
  8. class用来定义一个类
  9. continue和break相对应,跳到语句块的开头
  10. def用来定义一个函数或方法
  11. del删除
  12. elif全称是else if
  13. else  另外,用在if语句的多判断中
  14. except异常处理
  15. finally用在异常处理语句try-except-finally中
  16. for著名的for循环,可以用来遍历一个列表
  17. from字面意思,表示从一个包导入某个模块
  18. global在函数或其他局部作用域中使用全局变量
  19. if如果
  20. import导入
  21. in  在,后面跟一个列表、字典或字符串
  22. is逻辑判断
  23. lambda lambda表达式,函数式编程
  24. nonlocal在函数或其他作用域中使用外层(非全局)变量
  25. not逻辑非
  26. or逻辑或
  27. pass占位符,用来告诉Python这里不要考虑
  28. raise用来引发一个异常
  29. return函数返回
  30. try异常处理机制
  31. while while循环
  32. with使用with后不管with中的代码出现什么错误,都会进行对当前对象进行清理工作,注意该句话后面有一个冒号表示with语句
  33. yield用来构造一个生成器

https://blog.csdn.net/abc_12366/article/details/79602040

  1. 函数的定义

在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。

 

注意:函数块中的缩进是个很重要的事情。回车键有时候会自动对齐,但是tab和空格的缩进是不一样的。混用之后,就会提示错误。

 

解决方法:https://www.crifan.com/python_syntax_error_indentationerror/comment-page-1/

  1. 找到空格处
  2. 找到tab用错的地方,全部替换成回车键

保存在.py文件的函数定义,可以通过import调用

如:my_abs()的函数定义保存为abstest.py文件了,那么,可以在该文件的当前目录下启动Python解释器,用from abstest import my_abs来导入my_abs()函数,注意abstest是文件名(不含.py扩展名)

 

空函数:pass

pass是占位符,(1)现在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来。(2

 

参数检查:数据类型检查可以用内置函数isinstance()实现:

 

  1. 函数参数与作用域

Python的函数定义非常简单,但灵活度却非常大。除了正常定义的必选参数外,还可以使用默认参数、可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代码

位置参数:调用函数时,传入的两个值按照位置顺序依次赋给参数x和n;函数就会根据括号内参数的定义的位置,来分别对应内部函数的变量,从而进行计算。

默认参数:定义默认参数要牢记一点:默认参数必须指向不变对象!如果是可变对象,程序运行时会有逻辑错误!

好处:可以简化函数的调用

注意事项:

一是必选参数在前,默认参数在后,否则Python的解释器会报错;

二是当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。变化小的参数就可以作为默认参数。

 

 

可变参数:

定义可变参数和定义一个listtuple参数相比,仅仅在参数前面加了一个*

调用函数时候不一样的。List或者tuple是cals([1,2,3])或者cals((1,2,3))。调用可变参数是cals(1,2,3)可以传入任意个参数,包括0个参数

*nums表示把nums这个list的所有元素作为可变参数传进去

当有一个list或者tuple的时候,在调用的时候在前面加上一个*号就可以直接调用了。

关键字参数:

作用:它可以扩展函数的功能。如果调用者愿意提供更多的参数,我们也能收到。试想你正在做一个用户注册的功能,除了用户名和年龄是必填项外,其他都是可选项,利用关键字参数来定义这个函数就能满足注册的需求。

对应的是dict函数。

和可变参数类似,也可以先组装出一个dict,然后,把该dict转换为关键字参数传进去。定义函数的时候,用**KW,调用的函数的时候,先定义一个字典,然后用**字典名,进入函数内计算。

 

**extra表示把extra这个dict的所有key-value用关键字参数传入到函数的**kw参数,kw将获得一个dict,注意kw获得的dictextra的一份拷贝,对kw的改动不会影响到函数外的extra

 

命名关键字参数:

作用:关键字参数,函数的调用者可以传入任意不受限制的关键字参数。至于到底传入了哪些,就需要在函数内部通过kw检查

 

参数组合

Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。对于任意函数,都可以通过类似func(*args, **kw)的形式调用它,无论它的参数是如何定义的。

注:要注意定义可变参数和关键字参数的语法:

*args是可变参数,args接收的是一个tuple;

**kw是关键字参数,kw接收的是一个dict。

以及调用函数时如何传入可变参数和关键字参数的语法:

可变参数既可以直接传入:func(1, 2, 3),又可以先组装list或tuple,再通过*args传入:func(*(1, 2, 3));

关键字参数既可以直接传入:func(a=1, b=2),又可以先组装dict,再通过**kw传入:func(**{'a': 1, 'b': 2})。

使用*args和**kw是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。

  1. 函数返回值

函数体内部可以用return随时返回函数结果;

函数执行完毕也没有return语句时,自动return None

函数可以同时返回多个值,但其实就是一个tuple

在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值

 

参考网址:

https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431752945034eb82ac80a3e64b9bb4929b16eeed1eb9000

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值