1. 调用函数需要明确 函数名称和参数 如abs() 取绝对值,参数只有一个 且为数字。max()接受任意多个参数,返回最大的
2.数据类型转换 int( )转整数 str() float() bool()转布尔值 1为true 空(null)为false
3.可以将函数名赋给一个变量,相当于取“别名”
>>>a=abs
>>>a(-1)
1
4.常见python报错类型
AssertionError
断言语句(assert
)失败
AttributeError
尝试访问未知的对象属性
EOFError
用户输入文件末尾标志EOF
(Ctrl+d
)
FloatingPointError
浮点计算错误
GeneratorExit
generator.close()
方法被调用的时候
ImportError
导入模块失败的时候
IndexError
索引超出序列的范围
KeyError
字典中查找一个不存在的关键字
KeyboardInterrupt
用户输入中断键(Ctrl+c
)
MemoryError
内存溢出(可通过删除对象释放内存)
NameError
尝试访问一个不存在的变量
NotImplementedError
尚未实现的方法
OSError
操作系统产生的异常(例如打开一个不存在的文件)
OverflowError
数值运算超出最大限制
ReferenceError
弱引用(weak reference
)试图访问一个已经被垃圾回收机制回收了的对象
RuntimeError
一般的运行时错误
StopIteration
迭代器没有更多的值
SyntaxError
Python
的语法错误
IndentationError
缩进错误
TabError
Tab
和空格混合使用
SystemError
Python
编译器系统错误
SystemExit
Python
编译器进程被关闭
TypeError
不同类型间的无效操作
UnboundLocalError
访问一个未初始化的本地变量(NameError
的子类)
UnicodeError
Unicode
相关的错误(ValueError
的子类)
UnicodeEncodeError
Unicode
编码时的错误(UnicodeError的子类)
UnicodeDecodeError
Unicode
解码时的错误(UnicodeError的子类)
UnicodeTranslateError
Unicode
转换时的错误(UnicodeError的子类)
ValueError
传入无效的参数
ZeroDivisionError
除数为零
--------------------- 本文来自 A_lPha 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/A_lPha/article/details/53811193?utm_source=copy
5.定义函数 def function_name (parameter) :
def function_name ( x ) : # x 为参数 function_name 自定义函数名 如my_abs
if x>0 :
return x
else :
return -x
函数体内部语句一执行到return后 ,函数就执行完毕,返回结果。因此内部可以通过条件判断和循环实习复杂逻辑。
若无return语句,函数返回none
6.从文件内导入函数
from abstest import my_abs # 在文件abstest.py当前目录启动python解释器, abstest为文件名
7.定义空函数 什么事也不做
def nop():
pass
pass可以用作占位符,让代码能暂时跑起来。比如现在还没想好怎么写函数的代码,就可以先放一个pass
,让代码能运行起来。
if age >= 18:
pass
8.参数检查
查看运行时 typeerror,进一步完善修改自定义函数定义
*数据类型检查可以用内置函数 isinstanse (x, ( ,,,) ) instance例 operan操作
def my_abs (x):
if not isinstance (x,(int,float))
raise Typeerror ('bad operand typr ' )
if x>==0:
return x
else:
return -x
9.返回多个值 实际上是返回一个 tuple
import 导入xx包从而使用里面的函数 step位移
import math
def move(x,y,step,angle=0) :
nx= x+ step*math.cos(angle)
ny= y- step*math.sin(angle)
return nx,ny
例
>>>x,y = move(100,100,60,math.pi /6)
>>>print(x,y)
151.96152422706632 70.0
>>>print(r)
(151.96152422706632,70.0)
11.小结:定义函数要确定函数名和个数;必要时对参数的数据类型做检查;函数体内部可用return随时返回函数结果;函数执行完毕无return语句时,自动return none;函数可以返回多个值,其实是一个tuple。