自学Python——函数

本文详细介绍了Python中的函数,包括函数的定义、自定义、调用其他文件的函数、空函数、返回多个值、参数类型检查。还讨论了位置参数、默认参数、可变参数、关键字参数和命名关键字参数的使用,以及递归函数的概念。
摘要由CSDN通过智能技术生成

1.函数

1.1介绍

函数名其实就是指向一个函数对象的引用(地址),完全可以把函数名赋给一个变量,相当于给这个函数起了一个“别名”:

a=abs
print(a(-12))

1.2自定义一个函数

格式:def 函数名(参数名列表):

def myMax(a, b):
    if not isinstance(a, (int, float)):
        raise TypeError('bad operand type')
    if not isinstance(b, (int, float)):
        raise TypeError('bad operand type')
    if a>b:
       return a
    else:
        return b

print(myMax(121,16))

1.3 调用其他文件里的函数

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

from MYFunction import myPrint
myPrint(12)

1.4 空函数

如果想定义一个什么事也不做的空函数,可以用pass语句:
实际上pass可以用来作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来。
pass还可以用在其他语句里,比如:

age=12
if age >= 18:
    pass

定义函数的时候,并没有指明参数的类型,因此, 调用函数时,如果参数个数不对,Python解释器会自动检查出来
但是如果参数类型不对,Python解释器就无法帮我们检查
这个时候,我们需要对参数的类型进行判断

让我们修改一下my_abs的定义,对参数类型做检查,只允许整数和浮点数类型的参数。
数据类型检查可以用内置函数isinstance()实现:

def my_abs(x):
    if not isinstance(x, (int, float)):
        raise TypeError('bad operand type')
    if x >= 0:
        return x
    else:
        return -x

1.5返回多个值

Python 函数可以返回多个值吗?答案是肯定的。
比如在游戏中经常需要从一个点移动到另一个点,给出坐标、位移和角度,就可以计算出新的新的坐标:

import math

def move(x, y, step, angle=0):
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值