企业设计网站公司有哪些,成品网站源码1688版本号,海外流量渠道,html静态网站开发自我介绍模块 内置模块 sys模块 概述#xff1a;Python 的 sys 模块提供访问解释器使用或维护的变量#xff0c;和与解释器进行交互的函数。通俗来讲#xff0c;sys 模块为程序与 Python 解释器的交互#xff0c;提供了一系列的函数和变量#xff0c;用于操控 Python 运行时的环境…模块 内置模块 sys模块 概述Python 的 sys 模块提供访问解释器使用或维护的变量和与解释器进行交互的函数。通俗来讲sys 模块为程序与 Python 解释器的交互提供了一系列的函数和变量用于操控 Python 运行时的环境 sys.argv sys.argv 实现从程序外部向程序传递参数 sys.argv 变量是一个包含了命令行参数的字符串列表利用命令行向程序传递参数。其中脚本的名称总是 sys.argv 列表的第一个参数。 import sys
print(sys.argv[0]) #sys.argv[0]表示代码本身的文件路径
print(命令行参数如下)
for i in sys.argv:print(i)命令行输入参数如下:
D:\st13\python\1.20\python lx.py Welcome to Xian运行结果:
lx.py #sys.argv[0]
命令行参数如下
lx.py
Welcome
to
Xian sys.copyright sys.copyright 包含 Python 解释器有关的版权信息的字符串 import syssys.copyright
Copyright (c) 2001-2022 Python Software Foundation.\nAll Rights Reserved
.\n\nCopyright (c) 2000 BeOpen.com.\nAll Rights Reserved
.\n\nCopyright (c) 1995-2001 Corporation for National Research Initiatives
.\nAll Rights Reserved.\n\nCopyright (c) 1991-1995 Stichting
Mathematisch Centrum, Amsterdam.\nAll Rights Reserved.sys.exit([arg]) sys.exit([arg]) : 一般情况下执行到主程序末尾解释器自动退出但是如果需要中途退出程序可以调用 sys.exit() 函数带有一个可选的整数参数返回给调用它的程序表示你可以在主程序中捕获对 sys.exit() 的调用。0是正常退出其他为异常当然也可以用字符串参数表示错误不成功的报错信息。 下面的例子首先打印 Hello执行完 sys.exit(1)执行 except 语句将 中途退出 作为参数传递给函数 exitfunc()然后将 中途退出 打印出来程序正常退出不执行后面的 print(Welcome) 语句 import sys
def exitfunc(value):print(value)sys.exit(0)
print(Hello)
try:sys.exit(1)
except SystemExit as value:exitfunc(中途退出)
print(Welcome)运行结果
Hello
中途退出 或者在终端上退出python解释器 sys.exit()C:\Users\朱俊杰 sys.getrecursionlimit() 返回当前递归的限制也就是Python解释器堆栈最大深度的值。该限制可防止无限递归导致C堆栈溢出和Python崩溃。它可以通过setrecursionlimit()设置。 sys.getrecursionlimit()
1000 sys.setrecursionlimit(limit) 设置Python解释器的堆栈最大深度为limit。 该限制可防止无限递归导致C堆栈溢出和Python崩溃。 最高可能的限制取决于平台 sys.setrecursionlimit(2000)sys.getrecursionlimit()
2000 sys.getrefcount(object) 获取引用数量 引用计数的精确分析可能受到一些内部因素的影响通常情况下你只需要关注相对引用的变化而不必过于关注具体的引用次数。返回object的引用次数。引用次数会比期望值值多一个因为它包含getrefcount()参数的临时引用。 class Test():passt Test()sys.getrefcount(t) # t本身是Test,所以被引用了一次。
2 引出 小整数对象池python为了让程序简单化运行更加迅速在python解释器加载的那一刻将一些常用的数字创建好范围[-5,256] 范围内的数字称为小整数这个范围称为小整数对象池 a [1,2,3,4]b [1,2,3,4]id(a)
2312403015936id(b)
2312403230080 #尽管内容相同但不同变量地址不同c 5d 5id(c)
2312401846640id(d)
2312401846640 #证明5是小整数对象池里的常用e -10f -10id(e)
2312402870448id(f)
2312402870704 #证明-10不是小整数对象池里的不常用字符串驻留机制Intern机制创建普通字符串不含空格等特殊字符时打开不重复创建字符串地址 a loveb love #普通字符串id(a)
2312403517808id(b)
2312403517808c l love youd l love you #字符串内含空格等特殊字符不开启字符串驻留机制id(c)
2312403517872id(d)
2312403517936引用计数机制python中为了知道引用我当前对象变量的个数在每一个对象当中会存在一块小小的空间里面存放着引用计数 优点 简单实时性 缺点 消耗内存循环引用的话计数永远不为0即不会释放 例
[1,2,3] 空间存在一个数据
引用计数机制开辟一个小空间记录这个数据被引用的次数
[1,2,3] 0(被引用次数为0)
a [1,2,3] 1被引用一次
b a 2被引用两次
b None 1被引用一次切断了b的引用
a None 0没有被引用切断了a的引用
当引用计数为0时证明没人使用python解释器就会将数据释放出来计算机垃圾回收机制:代码在内存中运行函数等会进行弹栈进行内存释放那么堆如何进行内存释放呢 java、python、c不需要程序员自行回收机制因为对程序员的要求太高提供复杂的回收算法其中引用计时法解决80%问题缺点循环引用看内存有无被其他内存引用别人指向我我有用。 循环引用会出现问题------出现标记、清除算法。 sys.path sys.path获取指定模块搜索路径的目录名列表列表中的第一项为当前的工作目录 import sys
print(sys.path)运行结果
[D:\\st13\\python\\1.20, C:\\Python36\\python36.zip,
C:\\Python36\\DLLs, C:\\Python36\\lib, C:\\Python36,
C:\\Python36\\lib\\site-packages] sys.getsizeof(object, default) 返回object的大小。以字节为单位。 class Test():passt Test()sys.getsizeof(t)
64 sys.hash_info 一个包含哈希参数的元祖。返回的属性包含: sys.hash_info
sys.hash_info(width64, modulus2305843009213693951, inf314159,
nan0, imag1000003, algorithmsiphash24, hash_bits64,
seed_bits128, cutoff0) time模块 time.time( ) time.time( ) 返回当前时间的时间戳 #时间戳指格林威治时间1970年01月01日00时00分00秒北京时间1970年01月01日08时00分00秒起至现在的总秒数 import time
print(time.time())
# 1596760621.3079221 time.ctime([secs]) time.ctime([secs])返回当前时间 把一个时间戳按秒计算的浮点数转化为time.asctime()的形式。如果参数未给或者为None的时候将会默认time.time()为参数 time.ctime()
Sun Oct 29 18:26:36 2023time.localtime([secs]) time.localtime([secs])将一个时间戳转换为当前时区的struct_time结果为元组 import time
print(time.localtime())结果
time.struct_time(tm_year2020, tm_mon8, tm_mday7, tm_hour8,
tm_min38, tm_sec57, tm_wday4, tm_yday220, tm_isdst0) time.strftime(格式时间元组) time.strftime(格式时间元组) 将时间元组换一种格式时间字符串打印出来 如果时间元组未指定则默认传入time.localtime() %Y 四位的年 %y 两位的年 %m 月 %d 日 %H 时 %M 分 %S 秒 %X %H:%M:%S 例打印格式为2023/10/21 11:11:11time.strftime(%Y/%m/%d %H:%M:%S,time.localtime())
2023/10/29 18:39:57time.strftime(%Y/%m/%d %H:%M:%S)
2023/10/29 18:42:09time.strptime(string[, format]) time.strptime(string[, format]) 把一个格式化时间字符串转化为struct_time。实际上它和strftime()是逆操作。在这个函数中format默认为%a %b %d %H:%M:%S %Y time.strptime(2011-05-05 16:37:06, %Y-%m-%d %X) #要一一对应
Output: time.struct_time(tm_year2011, tm_mon5, tm_mday5,
tm_hour16, tm_min37, tm_sec6, tm_wday3, tm_yday125, tm_isdst-1) time.mktime(t) time.mktime(t)将一个struct_time时间元组转化为时间戳 time.mktime(time.localtime())
#Output: 1634864031.0 time.sleep(secs) time.sleep(secs)线程推迟指定的时间运行。单位为秒 import time
time.sleep(2)
print(我执行了...)
# 线程推迟2秒后执行 datetime模块 datetime.datetime模块 datetime.now( ) datetime.now( ) 返回当前时间注意这是datetime.datetime里的方法 import datetimedatetime.now()
Traceback (most recent call last):File stdin, line 1, in module
AttributeError: module datetime has no attribute nowfrom datetime import datetimedatetime.now()
datetime.datetime(2023, 10, 29, 18, 58, 18, 486190)