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 中国語 Web サイトの他の関連記事を参照してください。

Pythonの柔軟性は、マルチパラダイムサポートと動的タイプシステムに反映されていますが、使いやすさはシンプルな構文とリッチ標準ライブラリに由来しています。 1。柔軟性:オブジェクト指向、機能的および手続き的プログラミングをサポートし、動的タイプシステムは開発効率を向上させます。 2。使いやすさ:文法は自然言語に近く、標準的なライブラリは幅広い機能をカバーし、開発プロセスを簡素化します。

Pythonは、初心者から上級開発者までのすべてのニーズに適した、そのシンプルさとパワーに非常に好まれています。その汎用性は、次のことに反映されています。1)学習と使用が簡単、シンプルな構文。 2)Numpy、Pandasなどの豊富なライブラリとフレームワーク。 3)さまざまなオペレーティングシステムで実行できるクロスプラットフォームサポート。 4)作業効率を向上させるためのスクリプトおよび自動化タスクに適しています。

はい、1日2時間でPythonを学びます。 1.合理的な学習計画を作成します。2。適切な学習リソースを選択します。3。実践を通じて学んだ知識を統合します。これらの手順は、短時間でPythonをマスターするのに役立ちます。

Pythonは迅速な開発とデータ処理に適していますが、Cは高性能および基礎となる制御に適しています。 1)Pythonは、簡潔な構文を備えた使いやすく、データサイエンスやWeb開発に適しています。 2)Cは高性能で正確な制御を持ち、ゲームやシステムのプログラミングでよく使用されます。

Pythonを学ぶのに必要な時間は、人によって異なり、主に以前のプログラミングの経験、学習の動機付け、学習リソースと方法、学習リズムの影響を受けます。現実的な学習目標を設定し、実用的なプロジェクトを通じて最善を尽くします。

Pythonは、自動化、スクリプト、およびタスク管理に優れています。 1)自動化:OSやShutilなどの標準ライブラリを介してファイルバックアップが実現されます。 2)スクリプトの書き込み:Psutilライブラリを使用してシステムリソースを監視します。 3)タスク管理:スケジュールライブラリを使用してタスクをスケジュールします。 Pythonの使いやすさと豊富なライブラリサポートにより、これらの分野で優先ツールになります。

限られた時間でPythonの学習効率を最大化するには、PythonのDateTime、時間、およびスケジュールモジュールを使用できます。 1. DateTimeモジュールは、学習時間を記録および計画するために使用されます。 2。時間モジュールは、勉強と休息の時間を設定するのに役立ちます。 3.スケジュールモジュールは、毎週の学習タスクを自動的に配置します。

PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 中国語版
中国語版、とても使いやすい

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境
