代码详解Python的函数基础(1)

 更新时间:2022年01月25日 11:41:27   作者:FUXI_Willard  
这篇文章主要为大家详细介绍了Python的函数基础,使用了函数调用和函数定义,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

1.函数调用

# 1.调用函数,需要知道函数的名称和参数
# 2.调用函数传入的参数需要和函数定义的参数数量和类型一致
# 如调用abs函数
print("-2的绝对值为:",abs(-2))
print("100的绝对值为:",abs(100))
# 3.函数名是指向一个函数对象的引用,可以把函数名赋给一个变量,相当于给这个函数起别名
abs1 = abs    # 变量abs1指向abs函数
print("-1的绝对值为:",abs1(-1))

# 结果输出:
-2的绝对值为: 2
100的绝对值为: 100
-1的绝对值为: 1

2.函数定义

# 定义函数使用def
# 语法:
"""
def 函数名(参数1,参数2,...):
    函数体
    return 返回值
"""
def compareAB(a,b):
    if a > b:
        print("a值大于b值!")
    elif a == b:
        print("a值等于b值!")
    else:
        print("a值小于b值!")
# 调用函数
compareAB(5,3)
# 结果输出:
# a值大于b值!
# 空函数:可以用来作为占位符
def nop():
    pass
# 参数检查:Python解释器可以帮我们检查参数个数是否正确,但无法检查参数类型是否正确
# 数据类型检查实例
def myAbs(x):
    if not isinstance(x,(int,float)):
        raise  TypeError("Bad Operand Type.")
    if x >= 0:
        return x
    else:
        return -x

# 传入"a"将抛出错误
myAbs("A")
# 结果输出:
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-8-21934e00955a> in <module>
     15 
     16 # 传入"a"将抛出错误
---> 17 myAbs("A")
<ipython-input-8-21934e00955a> in myAbs(x)
      7 def myAbs(x):
      8     if not isinstance(x,(int,float)):
----> 9         raise  TypeError("Bad Operand Type.")
     10     if x >= 0:
     11         return x
TypeError: Bad Operand Type.
# 返回多个值
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的值为%f,\ny的值为%f"%(x,y))
# 结果输出:
# x的值为151.961524,
# y的值为70.000000
# 实例1:由欧拉角转换成对应的四元数
# 由角度计算四元数的值
import math
# yaw:绕z轴旋转的角度;
# pitch:绕y轴旋转的角度;
# roll:绕x轴旋转的角度;
def eulerToQuaternion(yaw,pitch,roll):
    w = math.cos(roll/2.0)*math.cos(pitch/2.0)*math.cos(yaw/2.0)+math.sin(roll/2.0)*math.sin(pitch/2.0)*math.sin(yaw/2.0)
    x = math.sin(roll/2.0)*math.cos(pitch/2.0)*math.cos(yaw/2.0)-math.cos(roll/2.0)*math.sin(pitch/2.0)*math.sin(yaw/2.0)
    y = math.cos(roll/2.0)*math.sin(pitch/2.0)*math.cos(yaw/2.0)+math.sin(roll/2.0)*math.cos(pitch/2.0)*math.sin(yaw/2.0)
    z = math.cos(roll/2.0)*math.cos(pitch/2.0)*math.sin(yaw/2.0)-math.sin(roll/2.0)*math.sin(pitch/2.0)*math.cos(yaw/2.0)
    return x,y,z,w
# 绕z轴90度
print("绕z轴90度的四元数为:",(eulerToQuaternion(math.pi/2,0,0)))
# 绕y轴90度
print("绕y轴90度的四元数为:",(eulerToQuaternion(0,math.pi/2,0)))
# 绕x轴90度
print("绕x轴90度的四元数为:",(eulerToQuaternion(0,0,math.pi/2)))

# 结果输出:
绕z轴90度的四元数为: (0.0, 0.0, 0.7071067811865476, 0.7071067811865476)
绕y轴90度的四元数为: (0.0, 0.7071067811865476, 0.0, 0.7071067811865476)
绕x轴90度的四元数为: (0.7071067811865476, 0.0, 0.0, 0.7071067811865476)
 

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • 解决BN和Dropout共同使用时会出现的问题

    解决BN和Dropout共同使用时会出现的问题

    这篇文章主要介绍了解决BN和Dropout共同使用时会出现的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • 如何利用python处理原始音频数据

    如何利用python处理原始音频数据

    这篇文章主要介绍了如何利用python处理原始音频数据,文章以audioop的相关资料展开内容,audioop是python标准库中用于处理原始音频数据的模块,封装了一些便捷的编码转换函数。下文详细内容,需要的朋友可以参考以下
    2022-01-01
  • python使用xlrd实现检索excel中某列含有指定字符串记录的方法

    python使用xlrd实现检索excel中某列含有指定字符串记录的方法

    这篇文章主要介绍了python使用xlrd实现检索excel中某列含有指定字符串记录的方法,涉及Python使用xlrd模块检索Excel的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-05-05
  • Python常用特殊方法实例总结

    Python常用特殊方法实例总结

    这篇文章主要介绍了Python常用特殊方法,结合实例形式总结分析了Python常见的__init__、__new__、__del__、__str__、__repr__等特殊方法与描述符相关功能及使用技巧,需要的朋友可以参考下
    2019-03-03
  • Django与遗留的数据库整合的方法指南

    Django与遗留的数据库整合的方法指南

    这篇文章主要介绍了Django与遗留的数据库整合的方法指南,Django是最具人气的Python开发框架,需要的朋友可以参考下
    2015-07-07
  • Python pandas的describe函数参数示例详解

    Python pandas的describe函数参数示例详解

    describe()函数是pandas 中一个十分实用的工具,用于快速获取数据集的描述性统计信息,本文详细介绍了该函数的各种参数及其用法,包括控制输出的百分位数、列类型以及是否将日期时间列视为数值型列等,感兴趣的朋友一起看看吧
    2018-04-04
  • pycharm自动生成文件注释和函数注释

    pycharm自动生成文件注释和函数注释

    这篇文章主要介绍了pycharm自动生成文件注释和函数注释的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-07-07
  • python结合API实现即时天气信息

    python结合API实现即时天气信息

    这篇文章主要介绍了python结合API实现即时天气信息的代码,非常的实用,有需要的小伙伴可以参考下。
    2016-01-01
  • Python Web框架Pylons中使用MongoDB的例子

    Python Web框架Pylons中使用MongoDB的例子

    这篇文章主要介绍了Python Web框架Pylons中使用MongoDB 的例子,大家参考使用
    2013-12-12
  • python查看模块,对象的函数方法

    python查看模块,对象的函数方法

    今天小编就为大家分享一篇python查看模块,对象的函数方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10

最新评论