函数

作者: jealousl | 来源:发表于2018-03-10 15:14 被阅读0次

函数的作用

函数的作用:就是将实现某一个功能的代码封装到一个称为‘函数’的模块之中

定义函数

在Python之中使用 def 关键字来定义,当函数执行完的时候应当使用return 关键字来返回一个结果
例如:

# n以内的和
def my_sum(n):
"""
求n以内的和

:param n: 非负整数

:return: n以内的和
"""
    if n == 1:
        return 1
    else:
        return n + my_sum(n-1)
a = int(input('a = )')
# 直接使用函数而不需要在写循环
print(my_sum(a))

函数的参数

在Python之中函数的参数可以是一个也可以是不确定个数,该参数可以赋默认值也可以不赋默认值

def foo(n=2):
"""
    计算n的n次幂

    :param n: 非负整数

    :return: n的n次幂
"""
     return n ** n
print(foo())
print(foo(3))
def foo(*args):
    total = 0
    for val in args:
        total += val
    return total

print(foo(1,2,3,4))
print(foo(1,2,3,4,5))

模块调用函数

在使用模块调用函数的时候,如果出现相同的函数名应当使用该模块加点使用函数,否则会被覆盖

l1.py

def foo():
    print('ljl')

l2.py

def foo():
    print('zy')
import l1
import l2

l1.foo()
# 输出 ljl
l2.foo()
# 输出 zy

如果你这样使用:

from l1 import foo
from l2 import foo

foo()
# 输出 zy

from l2 import foo
from l1 import foo

foo()
# 输出 ljl

if name == 'main': 的使用规则:

可以将需要在本Python运行的函数放在其中,那么在运行本页面的Python文本的时候才会运行到该函数

练习题

1.判断一个数是不是素数

def is_prime(num):
    for x in range(2, num):
        if num % x == 0:
            return False
    return True if num != 1 else False

2.判断一个数是不是回文数

def is_palindrome(num):
    temp = num
    total = 0
    while temp > 0:
        total = total * 10 + temp % 10
        temp //= 10
    return total == num

3.公约数

def gcd(x, y):
    if x > y:
        return gcd(y, x)
    elif y % x == 0:
        return x
    else:
        return gcd(y % x, x)

Python变量作用域有

Local - Enclosed - Global - build_in
如果想改变搜索范围 可以使用global和nonlocal关键字

def foo():
    # local variable
    # 函数内的局部变量 离开foo函数变量a是无法访问的
    global a  # 定义一个全局的a
    a = 200
    b = 'hello'

    def bar():
        nonlocal b
        b = 'good'
        print(a, end=' ')
        print(b, end=' ')

    bar()
    print(b, end=' ')


foo()
print(a, end=' ')

"""
输出结果为:200 good good 200 
"""

在实际开发之中我们应当避免使用全局变量,减少全局变量意味着我们可以将变量放在函数之中使用,所以我们在使用的时候应当如下定义:

def main():
      pass


if __name__ == '__main__':
    main()

相关文章

  • Excel(三)

    AND函数 OR函数 NOT函数 IF函数 频率分析函数FREQUENCY

  • if、else if、for、while、repeat函数

    ①if函数 ②else if函数 ③for函数 ④while函数 ⑤repeat函数

  • strsplit、mapply、paste、match函数

    strsplit函数 mapply函数 strsplit函数 mapply函数 paste函数 match函数 第...

  • Oracle中常用函数(SQL)

    Oracle函授有以下几个分类:数字函数、字符函数、日期函数、转换函数、集合函数、分析函数 数字函数: 字符函数:...

  • MySQL函数

    字符函数 数字运算函数 比较运算符和函数 日期时间函数 信息函数 聚合函数 加密函数 流程函数

  • BI-SQL丨AND & OR & IN

    AND函数 & OR函数 & IN函数 AND函数、OR函数和IN函数都可以理解是WHERE函数的补充,当然也可以...

  • Python之函数

    课程大纲 函数定义 函数的参数 函数的返回值 高阶函数 函数作用域 递归函数 匿名函数 内置函数 函数式编程 将函...

  • 函数基本知识

    函数 函数的定义: def 函数名() 函数的调用:函数名() #不能将函数调用放在函数定义上方 函数的文档注...

  • 积分表——不定期更新

    基本初等函数包括: 常函数: 幂函数 指数函数 对数函数 三角函数 反三角函数 I、反函数Ⅱ、复合函数:初等函数(...

  • MySQL基本使用

    函数 常用函数 数学函数 字符串函数 日期函数

网友评论

      本文标题:函数

      本文链接:https://www.haomeiwen.com/subject/rgmsfftx.html