python视频教程栏目介绍最后一篇知识点。
13、Python标准库
Python标准库是随Pthon附带安装的,包含了大量极其有用的模块。
我们主要了解下sys和os就够了。
13.1 sys模块
sys模块主要是针对与Python解释器相关的变量和方法,不是主机操作系统。
sys.argv #获取命令行参数列表,第一个元素是程序本身 sys.exit(n) #退出Python程序,exit(0)表示正常退出。当参数非0时,会引发一个SystemExit异常,可以在程序中捕获该异常 sys.version #获取Python解释程器的版本信息 sys.maxsize #最大的Int值,64位平台是2**63 - 1 sys.path #返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 sys.platform #返回操作系统平台名称 sys.stdin #输入相关 sys.stdout #输出相关 sys.stderr #错误相关 sys.exc_info() #返回异常信息三元元组 sys.getdefaultencoding() #获取系统当前编码,默认为utf-8 sys.setdefaultencoding() #设置系统的默认编码 sys.getfilesystemencoding() #获取文件系统使用编码方式,默认是utf-8 sys.modules #以字典的形式返回所有当前Python环境中已经导入的模块 sys.builtin_module_names #返回一个列表,包含所有已经编译到Python解释器里的模块的名字 sys.copyright #当前Python的版权信息 sys.flags #命令行标识状态信息列表。只读。 sys.getrefcount(object) #返回对象的引用数量 sys.getrecursionlimit() #返回Python最大递归深度,默认1000 sys.getsizeof(object[, default]) #返回对象的大小 sys.getswitchinterval() #返回线程切换时间间隔,默认0.005秒 sys.setswitchinterval(interval) #设置线程切换的时间间隔,单位秒 sys.getwindowsversion() #返回当前windwos系统的版本信息 sys.hash_info #返回Python默认的哈希方法的参数 sys.implementation #当前正在运行的Python解释器的具体实现,比如CPython sys.thread_info #当前线程信息复制代码
上面是sys模块所有语法,我们看看就够了,了解下sys.argv和sys.path就足够了
sys.argv是一个脚本执行参数列表,列表的第一个元素是脚本名称,从第二个元素开始才是真正的参数。
# test.py import sys for index, arg in enumerate(sys.argv): print("第%d个参数是: %s" % (index, arg)) #输出 第0个参数是: test.py 第1个参数是: 1 第2个参数是: 2 第3个参数是: 3 第4个参数是: 4 复制代码
argv:获取程序外部向程序传递的参数
# script.py import sys print(sys.argv[0]) print(sys.argv[1])复制代码
运行:
# python script.py argv1 sys.py argv1复制代码
sys.path
path是一个目录列表,供Python从中查找模块。在Python启动时,sys.path根据内建规则和PYTHONPATH变量进行初始化。sys.path的第一个元素通常是个空字符串,表示当前目录。
>>> sys.path ['', 'C:\\Python36\\Lib\\idlelib', 'C:\\Python36\\python36.zip', 'C:\\Python36\\DLLs', 'C:\\Python36\\lib', 'C:\\Python36', 'C:\\Python36\\lib\\site-packages']复制代码
sys.path本质上是一个列表,可以进行append、insert、pop、remove等各种列表相关的操作,但通常都进行append操作,添加自己想要的查找路径。
sys.stdin、sys.stdout、sys.stderr
- stdin用于所有的交互式输入(包括input()函数)。
- stdout用于print()的打印输出或者input()函数的提示符。
- stderr用于解释器自己的提示信息和错误信息。
简而言之,这三个属性就是操作系统的标准输入、输出和错误流,它们返回的都是一个“文件类型”对象,支持read()、write()和flush()等操作。
>>> import sys >>> s = sys.stdin.readline() i don't like python >>> s 'i don't like python\n' >>> sys.stdout.write(s) i don't like python 20复制代码
python3中sys.stdin与input的区别:
input()方法和stdin()类似,不同的是input()括号内可以直接填写说明文字。
s = input('Please input something!') print('Please input something!',) # 逗号表示不换行 s = sys.stdin.readline()[:-1] # -1 抛弃输入流中的'\n' 换行符复制代码
当我们print(obj)的时候,事实上是调用了sys.stdout.write(obj+'\n'),将内容打印到控制台(默认是显示器),然后追加一个换行符。以下两行等价:
sys.stdout.write('hello'+'\n') print('hello')复制代码
13.2 os模块
该模块包含普遍的操作系统功能
os.name字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'
os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径
os.getenv()和os.putenv()函数分别用来读取和设置环境变量
os.listdir()返回指定目录下的所有文件和目录名
os.remove()函数用来删除一个文件
os.system()函数用来运行shell命令
os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'
os.sep 操作系统特定的路径分割符
os.path.split()函数返回一个路径的目录名和文件名
os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录
os.path.existe()函数用来检验给出的路径是否真地存在
14、类中的特别方法
名称 | 说明 |
---|---|
init(self,...) | 这个方法在新建对象恰好要被返回使用之前被调用。 |
del(self) | 恰好在对象要被删除之前调用。 |
str(self) | 在我们对对象使用print语句或是使用str()的时候调用。 |
getitem(self,key) | 使用x[key]索引操作符的时候调用。 |
len(self) | 对序列对象使用内建的len()函数的时候调用。 |
下面的类中定义了上表中的方法:
class Array: __list = [] def __init__(self): print "constructor" def __del__(self): print "destructor" def __str__(self): return "this self-defined array class" def __getitem__(self, key): return self.__list[key] def __len__(self): return len(self.__list) def Add(self, value): self.__list.append(value) def Remove(self, index): del self.__list[index] def DisplayItems(self): print "show all items----" for item in self.__list: print item arr = Array() #constructor print(arr) #this self-defined array class print(len(arr)) #0 arr.Add(1) arr.Add(2) arr.Add(3) print(len(arr)) #3 print(arr[0]) #1 arr.DisplayItems() #show all items---- #1 #2 #3 arr.Remove(1) arr.DisplayItems() #show all items---- #1 #3 #destructor复制代码
15、列表推导式
通过列表综合,可以从一个已有的列表导出一个新的列表。
list1 = [1, 2, 3, 4, 5] list2 = [i*2 for i in list1 if i > 3] print(list1) #[1, 2, 3, 4, 5] print(list2) #[8, 10]复制代码
16、 *和**args区别
当函数接收元组或字典形式的参数的时候,有一种特殊的方法,使用*和**前缀。
该方法在函数需要获取可变数量的参数的时候特别有用。
由于在args变量前有*前缀,所有多余的函数参数都会作为一个元组存储在args中。如果使用的是**前缀,多余的参数则会被认为是一个字典的键/值对。
*args接受元组
**args接受字典
def powersum(power, *args): total = 0 for i in args: total += pow(i, power) return total print (powersum(2, 1, 2, 3)) #14 1^2+2^2+3^2 = 14 def displaydic(**args): for key,value in args.items(): print( "key:%s;value:%s" % (key, value)) displaydic(a="one", b="two", c="three") #key:a;value:one #key:c;value:three #key:b;value:two复制代码
17、lambda函数
lambda语句被用来创建新的函数对象,并在运行时返回它们。lambda需要一个参数,后面仅跟单个表达式作为函数体,而表达式的值被这个
新建的函数返回。 注意,print语句也不能用在lambda形式中,只能使用表达式。
func = lambda s: s * 3 print(func("Runsen ")) # Runsen Runsen Runsen func2 = lambda a, b: a * b print(func2(2, 3)) #6复制代码
18、exec/eval
exec语句用来执行储存在字符串或文件中的Python语句
eval语句用来计算存储在字符串中的有效Python表达式。
cmd = "print 'hello world'" exec cmd #hello world expression = "10 * 2 + 5" print(eval(expression)) #25复制代码
exec还批量创建变量,这个大家可能忽视
for i in range(8): exec('v' + str(i) + ' = ' + str(i)) print('v' + str(i) + ':', eval('v' + str(i))) v0: 0 v1: 1 v2: 2 v3: 3 v4: 4 v5: 5 v6: 6 v7: 7 复制代码
19、assert
assert语句用来断言某个条件是真的,并且在它非真的时候引发一个错误--AssertionError。
>>> assert True # 条件为 true 正常执行 >>> assert False # 条件为 false 触发异常 Traceback (most recent call last): File "<stdin>", line 1, in <module> AssertionError复制代码</module></stdin>
assert一般和try except连用
flag = True assert flag == True try: assert flag == False except AssertionError: print ("failed") else: print ("pass") failed复制代码
20、repr
repr函数用来取得对象的规范字符串表示。
注意,在大多数时候有eval(repr(object)) == object。
可以通过定义类的__repr__方法来控制对象在被repr函数调用的时候返回的内容。
arr = [1, 2, 3] print(arr) #[1, 2, 3] print(repr(arr)) #[1, 2, 3]复制代码
其实Python就是这么简单,学Python就是看官方文档,看demo,代码跟做英语阅读似的,多看官方文档,然后调下第三方库,实现需求就行了。
相关免费学习推荐:python视频教程
위 내용은 초보자를 위해 정리된 마지막 Python 지식 포인트의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

하루에 2 시간 동안 파이썬을 배우는 것으로 충분합니까? 목표와 학습 방법에 따라 다릅니다. 1) 명확한 학습 계획을 개발, 2) 적절한 학습 자원 및 방법을 선택하고 3) 실습 연습 및 검토 및 통합 연습 및 검토 및 통합,이 기간 동안 Python의 기본 지식과 고급 기능을 점차적으로 마스터 할 수 있습니다.

웹 개발에서 Python의 주요 응용 프로그램에는 Django 및 Flask 프레임 워크 사용, API 개발, 데이터 분석 및 시각화, 머신 러닝 및 AI 및 성능 최적화가 포함됩니다. 1. Django 및 Flask 프레임 워크 : Django는 복잡한 응용 분야의 빠른 개발에 적합하며 플라스크는 소형 또는 고도로 맞춤형 프로젝트에 적합합니다. 2. API 개발 : Flask 또는 DjangorestFramework를 사용하여 RESTFULAPI를 구축하십시오. 3. 데이터 분석 및 시각화 : Python을 사용하여 데이터를 처리하고 웹 인터페이스를 통해 표시합니다. 4. 머신 러닝 및 AI : 파이썬은 지능형 웹 애플리케이션을 구축하는 데 사용됩니다. 5. 성능 최적화 : 비동기 프로그래밍, 캐싱 및 코드를 통해 최적화

Python은 개발 효율에서 C보다 낫지 만 C는 실행 성능이 높습니다. 1. Python의 간결한 구문 및 풍부한 라이브러리는 개발 효율성을 향상시킵니다. 2.C의 컴파일 유형 특성 및 하드웨어 제어는 실행 성능을 향상시킵니다. 선택할 때는 프로젝트 요구에 따라 개발 속도 및 실행 효율성을 평가해야합니다.

Python의 실제 응용 프로그램에는 데이터 분석, 웹 개발, 인공 지능 및 자동화가 포함됩니다. 1) 데이터 분석에서 Python은 Pandas 및 Matplotlib를 사용하여 데이터를 처리하고 시각화합니다. 2) 웹 개발에서 Django 및 Flask 프레임 워크는 웹 응용 프로그램 생성을 단순화합니다. 3) 인공 지능 분야에서 Tensorflow와 Pytorch는 모델을 구축하고 훈련시키는 데 사용됩니다. 4) 자동화 측면에서 파이썬 스크립트는 파일 복사와 같은 작업에 사용할 수 있습니다.

Python은 데이터 과학, 웹 개발 및 자동화 스크립팅 필드에 널리 사용됩니다. 1) 데이터 과학에서 Python은 Numpy 및 Pandas와 같은 라이브러리를 통해 데이터 처리 및 분석을 단순화합니다. 2) 웹 개발에서 Django 및 Flask 프레임 워크를 통해 개발자는 응용 프로그램을 신속하게 구축 할 수 있습니다. 3) 자동 스크립트에서 Python의 단순성과 표준 라이브러리가 이상적입니다.

Python의 유연성은 다중 파리가 지원 및 동적 유형 시스템에 반영되며, 사용 편의성은 간단한 구문 및 풍부한 표준 라이브러리에서 나옵니다. 유연성 : 객체 지향, 기능 및 절차 프로그래밍을 지원하며 동적 유형 시스템은 개발 효율성을 향상시킵니다. 2. 사용 편의성 : 문법은 자연 언어에 가깝고 표준 라이브러리는 광범위한 기능을 다루며 개발 프로세스를 단순화합니다.

Python은 초보자부터 고급 개발자에 이르기까지 모든 요구에 적합한 단순성과 힘에 호의적입니다. 다목적 성은 다음과 같이 반영됩니다. 1) 배우고 사용하기 쉽고 간단한 구문; 2) Numpy, Pandas 등과 같은 풍부한 라이브러리 및 프레임 워크; 3) 다양한 운영 체제에서 실행할 수있는 크로스 플랫폼 지원; 4) 작업 효율성을 향상시키기위한 스크립팅 및 자동화 작업에 적합합니다.

예, 하루에 2 시간 후에 파이썬을 배우십시오. 1. 합리적인 학습 계획 개발, 2. 올바른 학습 자원을 선택하십시오. 3. 실습을 통해 학습 된 지식을 통합하십시오. 이 단계는 짧은 시간 안에 Python을 마스터하는 데 도움이 될 수 있습니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기
