设为首页 收藏本站
查看: 539|回复: 0

[经验分享] Python 定义函数

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-7-5 09:01:17 | 显示全部楼层 |阅读模式
1        函数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   非交互式环境[iyunv@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   函数返回多个值[iyunv@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



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-239539-1-1.html 上篇帖子: Python 函数的参数 下篇帖子: python操作linux关机、重启和修改ip地址
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表