python之函数的定义【进阶篇】
2018-02-23 10:42
253 查看
定义
在Python中,函数如下定义:def 函数名(参数1,参数2,...,参数n): 函数体(语句块)几点需要注意的:
1.函数的命名规则要符合Python中命名要求,一般用小写字母和下划线、数字等组合
2.def是定义函数的关键词,这个简写来自英文单词define
3.函数后面是圆括号,可以有参数列表,也可以没有参数
4.括号后面的冒号不要忘记了
5.函数体(语句块),相对于def缩进四个空格
例子:
>>> def name(): #定义一个无参数的函数,只是通过这个函数打印 ... print "python function" #函数体,缩进4个空格 ... >>> name() #调用函数,打印结果
>>> def add(x,y): #定义一个加法函数 ... return x+y #缩进4个空格 ... >>> add(3,4) #通过函数计算3+4的和
>>> add("hello ","world") 'hello world' >>>
从以上例子可以看出,Python定义函数的时候,变量是没有明确类型的。因为在Python中,变量无类型,对象才有类型。在add(x,y)中,变量x,变量y,在引用对象之前,是完全飘忽的,没有被贴在任何一个对象上,换句话说他们有可能引用任何对象,只要后面的运算许可,如果后面的运算不许可,则会报错。
从以上结果发现:x+y的意义完全取决于对象的类型。在Python中,这种依赖关系,称之为多态。记住:Python中为对象编写接口,而不是为数据类型。
>>> result = add(4,6) >>> result 10add(x,y)在运行之前,计算机内是不存在的,知道代码运行到这里的时候,在计算机中,就建立起来了一个对象,运行add(x,y)之后,也就建立了一个add(x,y)对象,这个对象与变量result可以建立引用关系,并且add(x,y)将计算结果返回。于是通过result可以查看运算结果。
参数的默认值
>>> def add_2(x,y=2): ... return x+y ... >>> add_2(2) 4 >>> add_2(4,4) 8
>>> def add_3(x=3,y): ... return x+y ... File "<stdin>", line 1 SyntaxError: non-default argument follows default argument
>>> def add_3(x=3,y=2): ... return x+y ... >>> add_3() #x = 3 , y = 2 5 >>>add_3(6,6) #x = 6 , y = 6 12
>>> def add(x,y=1,z): ... return x+y+z ... File "<stdin>", line 1 SyntaxError: non-default argument follows default argument
>>> def add(x,y=1,z=2): ... return x+y+z ... >>> add(2) # x = 2 , y = 1 , z = 2 5说明:只要在形参表末尾的那些参数可以有默认参数值,即你不可以在声明函数形参的时候,先声明有默认值的参数而后声明没有默认值的参数。这是因为赋给形参的值都是根据位置而赋值的。例如
def func(a,b = 1): #有效
def func(a = 1,b): #无效
小练习:
如果输入是数字,即打印数字类型;如果非数字,即打印非数字类型。
#!/usr/bin/python
def fun():
sth = raw_input('please input something:')
try:
if type(int(sth)) == type(1):
print '%s is a number' %sth
except:
print '%s is not number' %sth
fun()
【完】
相关文章推荐
- Python3.5基础——函数的定义与使用
- python里函数定义的理解
- Python学习笔记之疑问 2:python的函数定义为什么没有开始和结束符
- Python 定义函数
- Python定义函数默认参数
- Python函数定义global
- python之函数的递归【进阶篇】
- Python基础(函数,函数的定义,函数的调用,函数的参数,递归函数)
- Python自学2:Python函数定义
- python学习6--函数定义及参数
- [Python]学习基础篇:函数的进阶篇
- Python中函数的参数定义和可变参数
- Python def函数的定义、使用及参数传递实现代码
- PYTHON函数定义
- python开发_python中的函数定义
- Python 里为什么函数可以返回一个函数内部定义的函数
- Python函数中定义参数的四种方式
- Python中函数的参数定义和可变参数
- Python定义函数,模块导入以及Python主程序文件结构
- Python中函数的参数定义和可变参数