python函数和模块

    技术2022-07-11  76

    def来定义函数,在函数执行完成后可以通过return来返回一个值,相当于函数上的因变量。

    函数的重构:在不影响函数运行结果的前提下,对函数的结构进行调整。、

    模块管理:

    由于没有函数重载概念,同时定义两个函数,后面的会覆盖前面的:

    def main(): print('123456') def main(): print('abcde') main()#输出为abcd

    在多人协助时可能会出现多个同名函数,此时可以用import调用

    from....import... 或者是 import...as....

    如果导入的函数有执行代码,导入时为了不执行代码将执行代码放在下列条件中:

    def foo(): pass def bar(): pass # __name__是Python中一个隐含的变量它代表了模块的名字 # 只有被Python解释器直接执行的模块的名字才是__main__ if __name__ == '__main__': print('call foo()') foo() print('call bar()') bar() 构造一个回文函数: def is_palindrome(num): a = num b = 0 while a > 0: b = b*10 + a % 10 a //= 10 return b == num

    构造一个素数函数:

    def is_prime(num): for factor in range(1, int(num**0.5)+1): if num % factor == 0: return False return True if num != 1 else False

    构造判断是否是回文素数:

    if __name__ == '__main__': num = int(input('请输入正整数: ')) if is_palindrome(num) and is_prime(num): print('%d是回文素数' % num)

    变量作用域,

    全局作用域(a),局部作用域(b),嵌套作用域(b),

    def foo(): b = 'hello'#局部作用域(b) # Python中可以在函数内部再定义函数 def bar(): c = True print(a) print(b)#嵌套作用域(b) print(c) bar() # print(c) # NameError: name 'c' is not defined if __name__ == '__main__': a = 100#全局作用域(a) # print(b) # NameError: name 'b' is not defined foo()

    可以用global来指定全局变量:

    def foo(): global a a = 200 print(a) # 200 if __name__ == '__main__': a = 100 foo() print(a) # 20

     

    Processed: 0.010, SQL: 9