Python-函数

  • 函数的本质就是对功能的封装和对代码的抽象

  • 函数的作用:
    1.避免开发重复性相同的代码
    2.便于程序的理解和维护
    3.对底层代码的抽象

  • 基本的函数格式
    def 函数名():
    函数功能代码…
    函数功能代码…
    return(没有return,默认返回None)

  • 调用函数:函数名()

  • 特征:函数定义之后不会自动执行,必须在调用后才会执行

  • 函数名的命名规则:驼峰+动词开头

  • 带有参数的函数格式
    def 函数名(参数,参数…)

    • 形参:形式上的参数,声明函数时()中的参数就是形参
    • 实参:实际上的参数,调用函数时()中的参数就是实参
    • 注意:实参将值传递给形参的过程本质上就是简单的变量赋值
    • 参数必须以正确的顺序传入函数。调用时的数量必须和声明时一样
  • 函数参数格式:

     	 - 1.默认值的参数:可选择性输入的参数
     	 - 2.可变参数:可以输入0到任意个参数,函数内组装成Tuple
     	 - 3.关键字参数:可以输入0到任意个含参数名的参数,函数内组装成dic
     	 - 4.命名关键字参数
    
  • 函数返回值

    • 调用函数根据执行完毕是否可以得到一个结果,将函数分为2个类型:

      • 执行过程函数:print()
      • 具有返回值的函数:id(),type()
    • return 特征

      • 具有return语句的函数称为具有返回值的函数
      • return可以为当前函数执行完毕返回一个结果,这样的函数调用可以被接受
      • return执行之后,函数则会终止,所有return之后的语句不会被执行
      • 一个函数可以书写多个return语句,但是一般会放入分支结构中
      • 一个函数若要返回多个数据,可借助复合数据类型(list,tuple,set,dict)来操作
      • 不带参数值的return返回None
  • 函数文档:

      - 函数文档就是用来查看当前函数相关信息介绍的一种特定格式而已
      - 查看函数文档的方法:
     	 - 1.help(函数名称)    #直接输出显示函数文档的内容字符串
     	 - 2.函数名.__doc__ #直接输出显示函数文档的内容字符串
     	 - 3.官方文档:https://docs.python.org/zh-cn/3/tutorial/index.html
      - 定义函数文档:'''或"""
     	 - def 函数名(参数...):
     	 '''
     	 	在此声明函数文档
     	 '''
     	 函数功能代码...
     
      - 注意:函数文档的作用是对函数进行说明,便于阅读和快速掌握函数的使用,通常函数文档需要具有以下信息:
     	 - 1.函数的作用
     	 - 2.函数的参数介绍(个数、数据类型)
     	 - 3.函数的返回值(数据和类型)
    
 内置函数
print(abs(-10))   #abs取绝对值

help(abs)  #查看帮助文档
# 函数中的个数和类型都需要确认清楚
print(max(2,10))
print(max(2,1,4,7))

# 数据类型的转换
print(int('123'))  # 字符串强制转换为整数
# 字符串转换成浮点
print(float(123))
# 浮点强制转换为字符串
print(str(34.56))
print(type(str(34.56)))
# 自定义abs函数
def my_abs(x):  #x 的变量的生命周期不会超过函数的调用
    if x>=0:
        return x
    else:
        return -x
a=my_abs(-99)  # 用一个变量a来承接函数的返回值
print(a)

# 通过from和import,调用其他py文件调用的函数
from MyTest import my_abs

print(my_abs(-89))
# help 查看函数说明文档
help(my_abs)
# __doc__查看
my_abs.__doc__

print(my_abs('abcd') # 提供了一个非常友好的错误提示

自定义函数:

def my_abs(x):
    '''
    自定义abs函数
    :param x: int或float
    :return: abs值
    '''
    if not isinstance(x,(int,float)):
        raise TypeError('只能输入int和float类型')
    if x>=0:
        return x
    else:
        return -x

运行的结果:

10
Help on built-in function abs in module builtins:

abs(x, /)
    Return the absolute value of the argument.

10
7
123
123.0
34.56
<class 'str'>
99
89
Help on function my_abs in module MyTest:

my_abs(x)
    自定义abs函数
    :param x: intfloat
    :return: abs值

Traceback (most recent call last):
  File "D:/爬虫/pythonProject/实战/python 内置函数.py", line 35, in <module>
    print(my_abs('abcd'))
  File "D:\爬虫\pythonProject\实战\MyTest.py", line 8, in my_abs
    raise TypeError('只能输入int和float类型')
TypeError: 只能输入intfloat类型

你可能感兴趣的:(python3.0,python,编程语言,字符串)