zoukankan      html  css  js  c++  java
  • python 函数

    调用函数:

    Python 内置了很多的函数

    调用一个函数,必须要知道函数的名称和参数:

    abs()    绝对值

    cmp()    比较函数

    数据类型的转换

    函数的别名:
    因为函数名其实就是指向一个函数对象的引用,完全可以把函数名赋给一个变量,相当于你就是给这个函数起了一个别名

    比如说:a = abs  变量a指向abs函数

    调用Python的函数,需要根据函数定义,传入正确的参数。如果函数调用出错,一定要学会看错误
    信息,所以英文很重要

    函数的定义:
    定义语法:

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

    def 函数名(参数):

    空函数:

    空函数的定义,可以使用pass语句

    def nop():
      pass

    这个空函数的作用可以充当占位符,有时候这个pass是必不可少的,少了他程序就会出错

    参数检查:

    系统中的函数当我们调用的时候,如果说我们调用错误,或者是传入的参数不对的时候,他有一个参数检查,并且会返回一个TypeError,但是我们自定义的函数是没有这项功能的,所以需要

    我们自己自定义一个参数检查

    数据类型的检查我们可以使用系统内置的函数isinstance来实现

    现在就拿我们自定义的绝对值函数来举个列子,这个绝对值函数的参数类型只能是整型或者是字符型,

    下面的   raise   的作用就是当有异常的时候,可以用raise莱尔决定该做什么,即使没有异常,也可以使用raise来定义满足了特定的条件之后抛弃某某某异常

    下面就是一个参数检查的实例:

    def my_abs(x):
      if not isinstance(x,(int ,float)):

        raise TypeError('bad operand type')

      if x < 0:
        return -x

      else:

        return x

    函数返回多个值:

    [root@git python]# cat move.py
    #!/usr/bin/env python
    #Author:Big_Bao
    x = int(input('input your x number:'))
    y = int(input('input your y number:'))
    step = int(input('input your step number:'))
    #angle = float(input('input your angle number:'))
    import math
    def move(x,y,step,angle):
        nx = x + step * math.cos(angle)
        ny = y - step * math.sin(angle)
        return nx,ny
    print move(x,y,step,math.pi/6)

    返回的其实就是一个元祖(tuple),语法山,返回一个元祖可以省略括号,而多个变量可以同时接收一个元祖(tuple),按位置赋值,所以python的函数返回多值就是返回一个元祖

    注意:

    (1)定义函数的时候,需要确定函数名和函数参数

    (2)在定义函数的时候,如果有必要,可以先对函数的数据类型做检查

    (3)定义函数的内部使用return返回函数的结果

    (4)函数执行完毕没有return语句的时候,自动执行return  None(也可以咋定义的时候写    return )

    (5)函数可以同时返回多个值,但是它其实就是一个元祖(tuple)

  • 相关阅读:
    建议博客园搭个威客平台,可行的发展方向和盈利方向
    SQLServer DBA 三十问(第11~20题)
    sqlserver2000中nvarchar保存韩文乱码问题解决
    beginning Linux programming读书笔记(2)之shell编程
    IBM打狗问题
    Perl入门笔记2之第二章 标量数据
    linux面试大全
    结构体对齐详解
    Linux下静态链接库与动态链接库的区别
    Perl入门 笔记1之第一章简介
  • 原文地址:https://www.cnblogs.com/smail-bao/p/5615036.html
Copyright © 2011-2022 走看看