文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python 定义函数

2023-01-31 01:38

关注

1.1   调用函数

要调用一个函数,需要知道函数的名称和参数。

abs绝对值函数

>>> abs(-10)

10

>>> abs(-213)

213

max最大值函数

>>> max(-1,2,5)

5

数据类型转换

>>> int(12.3)

12

>>> int('12.3')   --转换带有小数的整数字符串时,会报错

Traceback (most recent call last):

 File "<stdin>", line 1, in <module>

ValueError: invalid literal for int() withbase 10: '12.3'

>>>int('12')    --转换不带有小数的整数字符串时,会报错

12

>>>int(float('12.3'))    --借助float函数可实现转换

12

>>> float('12.3')

12.3

>>> str(12.3)      --字符串函数

'12.3'

>>> str(100)

'100'

>>> bool(1)

True

>>> bool(0)

False

>>> bool('')

False

1.2   定义函数

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

def my_abs(x):

   if x >= 0:

       return x

   else:

       return –x

函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。

如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。

return None可以简写为return。

1.2.1   交互式环境中

>>> def my_abs(x):

...    if x>= 0:

...        return x

...    if x< 0:

...        return -x

...     –需要两次回车键

>>> my_abs(-1)

1

>>> my_abs(-8.1)

8.1

在Python交互环境中定义函数时,注意Python会出现...的提示。函数定义结束后需要按两次回车重新回到>>>提示符下

1.2.2   非交互式环境

[root@daidai python]# vi my_abs.py

#!/usr/bin/python

# -*- coding:utf-8 -*-

def my_abs(x):

   if x >= 0:

       return x

   else:

       return –x

>>> from my_abs import my_abs    --第一个my_abs是py文件,第二个my_abs是函数

>>> my_abs(-1)

1

1.2.3   空函数

定义一个空函数

>>> def pop():

...    pass       --pass表示什么也不做,也可用于if判断中,和plsql中的null类似

...

>>> pop()

>>> 

1.2.4   参数检查

升级my_abs函数,对输入参数进行检查

>>> def my_abs1(x):

...    if not isinstance (x,(int,float)):            -- isinstance用于数据检查

...        raise TypeError('Bad oprand type')

...    if x >=0:

...        print(x)

...    if x <0:

...        print(-x)

...

>>>

>>> my_abs1('Y')

Traceback (most recent call last):

 File "<stdin>", line 1, in <module>

 File "<stdin>", line 3, in my_abs1

TypeError: Bad oprand type

1.2.5   函数返回多个值

[root@daidai python]# cat move.py

#!/usr/bin/python

# -*- coding:utf-8 -*-

 

import math

def move(x,y,step,angle=0):

   nx = x + step * math.cos(angle)

   ny = y + step * math.sin(angle)

return nx, ny

>>> import math

>>> t=move(100, 100, 60,math.pi/6)

>>> print(t)

(151.96152422706632, 130.0)    --本质上,返回的是一个tuple

>>> x, y = move(100, 100, 60,math.pi/6)   --多个变量按位置赋值

>>> print(x, y)

151.96152422706632 130.0


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯