Python入门之模块(二)

    科技2022-07-29  106

    @R星校长

    第2关:内置模块中的内置函数

    Python 的内置模块

    是 Python 编程的重要组织形式,内置模块中的内置函数也极大方便了编程过程中对函数等功能的使用。

    Python 中常见的内置模块如下:

    os模块:文件和目录,用于提供系统级别的操作;sys模块:用于提供对解释器相关的操作;json模块:处理JSON字符串;logging: 用于便捷记录日志且线程安全的模块;time&datetime模块:时间相关的操作,时间有三种表示方式;hashlib模块:用于加密相关操作,代替了md5模块,主要是提供SHA1、SHA224、SHA256、SHA384、SHA512和MD5算法;random模块:提供随机数。

    内置模块中的内置函数

    Python 的内置模块中也有很多使用十分方便的内置函数。

    dir()函数

    dir()函数是一个排好序的字符串列表,其内容是一个模块里定义过的名字,包含在一个模块里定义的所有模块、变量和函数。例如:

    # 导入内置math模块 import math # 调用math模块中的dir()函数 content = dir(math) # 输出math模块中所有模块、函数和变量的名字 print(content)

    输出结果:

    ['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs','factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'pi', 'pow', 'radians', 'sin','sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']

    程序输出了math模块中所有模块、函数和变量的名字。特殊字符串变量__name__是指向模块的名字,变量__file__是指向该模块的导入文件名。

    globals()和locals()函数

    globals()和locals()函数可被用来返回全局和局部命名空间里的名字。如果在函数内部调用的是globals()函数,那么返回的是所有在该函数里能够访问的全局名字。如果在函数内部调用的locals()函数,返回的是能够在该函数里访问的局部命名。globals()函数和locals()函数的返回类型都是字典,所以名字们能用keys()函数摘取。

    reload()函数

    当一个模块被导入到一个脚本中后,程序只会将模块顶层部分的代码执行一次。因此,如果我们想再次执行模块顶层部分的代码,可以用reload()函数。该函数便会重新将之前导入过的模块导入。格式如下:

    reload(module_name)

    在这里,module_name要直接放模块名,而不能是一个字符串形式。例如,我们想重载hello模块:

    reload(hello)

    小结

    Python 中的内置模块和内置函数可以帮助程序员快速完成编程功能,使他们不必重复开发已存在的常用代码,因此极大的提高了办事效率和代码质量。Python 中的内置模块和内置函数的应用也十分广泛,希望学习者在接下来的学习生活中有更加深刻的体会。

    # coding=utf-8 # 导入math模块 import math # 输入两个整数a和b a = int(input()) b = int(input()) # 请在此添加代码,要求判断是否存在两个整数,它们的和为a,积为b ########## Begin ########## x1 = int(float(a+math.sqrt(a**2-4*b))/2) x2= int(float(a-math.sqrt(a**2-4*b))/2) # print(x1) # print(x2) # 看看计算出的x1 ,x2,有助于理解 if x1+x2 == a and x1*x2 == b: print('Yes') else: print('No') ########## End ########## 测试输入: 9 15 预期输出: No 测试输入: 9 20 预期输出: Yes 测试输入: 20 36 预期输出: Yes 测试输入: 18 40 预期输出: No

    Processed: 0.009, SQL: 8