还剩48页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
编程语言Python欢迎参加编程语言课程!作为一种强大而灵活的编程语言,Python Python已成为全球开发者的首选工具本课程将带领您从基础概念到高级应用,全面掌握的核心技能Python通过系统学习,您将了解的语法特点、数据结构、函数编程、面向对Python象设计以及实际应用场景无论您是编程新手还是有经验的开发者,这门课程都将为您提供宝贵的知识和实践经验让我们一起踏上学习之旅,探索这门优雅而强大的编程语言!Python什么是Python起源与定位是由荷兰程序员于年发布的高级编程语言它的设计哲学强调代码的可读性和简洁性,使用Python Guidovan Rossum1991缩进而非括号来组织代码结构根据指数,目前稳居全球第三大主流编程语言的位置,仅次于和其影响力和应用范围仍在持续扩大,TIOBE PythonC Java特别是在数据科学和人工智能领域的发展历史PythonPython
1.01994Python
3.02008第一个正式版本发布,引入了、、和重大版本更新,打破向后兼容性,修复了语言中的设计缺lambda mapfilter等函数式编程特性陷,使其更加一致和直观reduce1234主导现今Python
2.02000Python
3.x引入了列表推导式、垃圾回收机制和支持,奠定目前系列主导开发趋势,已于年月Unicode
3.x Python220201了现代化的基础日停止支持最新版本引入了更多现代化特性和性能优Python1化的优势Python简洁易读代码简洁明了,语法设计接近自然语言,减少了学习和维护的难度Python它强调可读性第一的原则,使得代码便于理解和协作跨平台兼容程序可以在、、等各种操作系统上运行,Python WindowsmacOS Linux无需修改代码,大大提高了开发效率和应用部署的灵活性社区活跃拥有庞大而活跃的全球开发者社区,提供了大量开源库和框架,使Python开发者能够站在巨人的肩膀上快速构建应用应用领域广泛从开发到数据科学,从人工智能到自动化脚本,在各个技术领Web Python域都有广泛应用,学习一次可以适用多种场景应用领域举例Python数据分析与可视化人工智能与机器学习、、等库使pandas NumPyMatplotlib成为数据科学家处理和分析大Python、等主流框架均TensorFlow PyTorch规模数据的强大工具以为主要接口,使其成为研Python AI究和应用的首选语言开发Web、等框架支持快速构建功Django Flask能丰富的网站和服务,满足各种规API模的应用需求web科学计算自动化与脚本在物理、化学、生物等领域,Python被广泛用于数值计算、模拟仿真和实验脚本可以自动化日常任务,如Python数据处理文件操作、数据处理和系统管理,提高工作效率安装及开发环境PythonAnaconda/Miniconda PyCharmVS Code推荐科学计算和数据分析用户使用,预装了大出品的强大,提供代码补全、微软开发的轻量级代码编辑器,通过安装JetBrains IDE量科学计算库和包管理工具调试、测试、版本控制等全面功能有专业版扩展可获得优秀的开发体验,conda Python Python是其精简版本,占用空间更小和社区免费版可选兼具轻量和功能性Miniconda一键安装多种科学计算包智能代码补全轻量快速•••环境管理简便集成调试工具扩展丰富•••适合数据科学工作项目管理功能跨平台支持•••安装完成后,别忘了配置系统的环境变量,确保在命令行中可以直接使用命令这样就能在任何目录下启动解释器或运行脚本PATH pythonPython Python了第一个程序Python HelloWorld创建文件新建一个文本文件,命名为源代码文件的扩展名通常为hello.py Python.py编写代码在文件中输入以下代码你好,世界!是中用于printprint Python输出内容的基本函数运行程序打开命令行终端,导航到文件所在目录,输入命令执行python hello.py程序,你将看到输出的问候语恭喜!您已经成功编写并运行了第一个程序函数是最基础的输出函Python print数,它可以打印各种类型的数据,包括字符串、数字和其他对象在字符串中,您可以使用中文或任何字符,对多语言有很好的支持Unicode Python解释型语言的特点Python逐行解释执行快速开发迭代是一种解释型语言,代码不需要预先编译成机器码解解释型特性使具有较快的开发迭代速度程序员可以快Python Python释器会逐行读取代码并立即执行,这使得开发过程更加灵活快捷速修改代码并立即查看效果,大大缩短了开发周期这对于需要频繁调整的项目尤为重要这种特性使成为原型开发和脚本编写的理想选择,因为然而,解释执行也意味着程序通常比编译型语言(如Python Python你可以立即看到每一行代码的执行结果,而不需要等待整个程序)运行得慢一些不过在大多数应用场景中,这种性能差异C++编译完成并不显著,而开发效率的提升往往更为重要基本数据类型整数浮点数字符串布尔值int floatstr bool表示整数值,如表示带小数点的数值,如表示文本数据,用单引号或双表示逻辑值,只有和1,100,-
53.14,True的整数没有大小限制,浮点数遵循引号括起来,如世界两个值用于条件判断和Python-
0.001,
2.0Hello,False可以处理任意大的整数,仅受标准,有精度限制,字符串支持,逻辑运算,是编程中控制流程IEEE754Python Unicode限于可用内存可能出现浮点误差可以处理各种语言的文字的重要类型是动态类型语言,会自动推断变量的类型使用函数可以查看变量的类型,例如将返回理Python typetype42class int解这些基本数据类型是学习的基础Python变量与赋值变量命名规则按规范,变量名应使用小写字母,多个单词用下划线连接PEP8基本赋值使用等号给变量赋值张三name=多变量赋值一行给多个变量赋值x,y,z=1,2,3变量交换优雅地交换两个变量的值a,b=b,a的变量本质上是对象的引用,不需要预先声明类型变量名必须以字母或下划线开头,后面可以跟字母、数字和下划线命名时应避免使用Python的保留关键字(如、、等)良好的变量命名是提高代码可读性的关键因素Python iffor class字符串处理基础字符串定义使用单引号、双引号或三引号定义单引号双引号三引号支持,,多行文本索引访问使用方括号和索引访问单个字符获取第一个字符,name
[0]获取最后一个字符name[-1]字符串切片使用语法获取子串、(前个)、[start:end:step]text[2:8]text[:5]5(第个及以后)text[5:]6多语言支持字符串原生支持,可以处理各国语言中文、日文、Python Unicode阿拉伯文等都能正确显示和处理字符串常用方法方法说明示例转换为大写upper text.upper→HELLO转换为小写lower text.lower→hello替换字符replace text.replaceo,0→Hell0分割字符串split text.split,→[a,b,c]去除首尾空白striptext.strip→text查找子串find text.findlo→3字符串格式化是另一个重要特性,提供了多种方式Python字符串()姓名,年龄
1.f-Python
3.6+f{name}{age}方法的价格是元
2.format{}{}.formatitem,price操作符的得分是(旧式,但仍然有效)
3.%%s%d%name,score数字和数学运算支持所有常见的数学运算符加、减、乘、除、整除、取余、幂运算除法运算总是返回浮点数,Python+-*///%**/如果需要整数结果,可以使用整除运算//内置的模块提供了更多高级数学函数,如三角函数、对数、阶乘等使用前需要先导入然后就可以使用如math importmath等函数对于复数运算,可以使用类型和模块math.sin,math.log,math.sqrt complexcmath布尔类型与逻辑运算运算符运算符True/False andor布尔类型只有两个值逻辑与运算,当两个操作逻辑或运算,当至少有一(真)和数都为时,结果为个操作数为时,结果True FalseTrue True(假),用于表示逻辑状,否则为例为例如True FalseTrue58态注意首字母大写,这如结果为53and10or4==4True与许多其他语言不同结果为==10True运算符not逻辑非运算,取反操作,变为,变True FalseFalse为例如True not5结果为8True类型转换与输入input获取用户输入函数从控制台获取用户输入,返回值始终是字符串类型input类型转换使用、、等函数将数据转换为需要的类型int floatstr输入处理组合使用可以获取数值输入请输入年龄age=intinput在中,有时需要显式地进行类型转换例如,函数返回的始终是字符串,Python input即使用户输入的是数字如果需要进行数学运算,就必须将其转换为或类型int float常见的类型转换函数包括(转为整数)、(转为浮点数)、(转为字符int floatstr串)、(转为布尔值)、(转为列表)、(转为元组)、(转为bool listtuple set集合)等请注意,如果转换不合法(如将转为),会引发异常abc intValueError列表基础List创建列表访问元素12使用方括号定义列表,各元素用逗号分隔使用索引访问单个元素(第一个元素)、numbers=[1,2,numbers
[0]列表可以包含任意类型的元素,甚至可以混合不同类(最后一个元素)也可以使用切片获取子列表3,4,5]numbers[-1]型或包含其他列表numbers[1:4]修改元素动态扩容34直接通过索引赋值来修改元素可以使用列表会根据需要自动调整大小,无需预先声明容量这使numbers
[2]=30Python、等方法添加元素,使用、等得列表非常灵活,可以根据需求动态增长或缩小append insertremove pop方法删除元素列表常用方法添加元素删除元素在列表末尾添加一个元移除列表中第一个值为•appendx•removex x素的元素在指定位置插入元素移除并返回指定位置的元•inserti,x ix•pop[i]素,默认为最后一个将可迭代对象的•extenditerable所有元素添加到列表末尾移除所有元素,清空列表•clear查找与排序返回第一个值为的元素的索引•indexx x统计元素在列表中出现的次数•countx x对列表元素进行原地排序•sort原地反转列表元素的顺序•reverse列表推导式是的一个强大特性,可以用简洁的语法创建新列表例如Python[x*2for x in将创建一个包含到的偶数的列表还可以添加条件过滤range10]018[x for x in将创建一个包含到中所有的倍数的列表range20if x%3==0]0193元组Tuple不可变序列解包赋值元组是不可变的列表,一旦创建,其中的元素就不能被修改、添元组支持解包赋值,可以一次为多个变量赋值x,y=加或删除元组使用圆括号定义在函数返回多个值时,这一特性特别有用coordinates=10,20coordinates单元素元组需要特别注意,必须在元素后面加逗号,否则1,由于元组的不可变性,它比列表更安全,特别适合保存那些不应会被解释为普通的数学括号表达式元组虽然不可修改元素,但该被修改的数据元组也比列表更高效,因为可以对其如果元素本身是可变对象(如列表),那么该元素的内容是可以Python进行优化改变的字典Dict快速查找键值对结构通过键可以快速访问对应的值字典是无序的键值对集合,每个键都映或person[name]射到一个值使用花括号和冒号定义字典内部使用哈person.getname李明person={name:,age:25}希表实现,查找效率很高删除操作添加和修改使用语句删除特定键值对可以通过赋值添加新的键值对或修改现del del,或使用方法删除有值person[age]pop person[email]=并返回值liming@example.com集合Set集合特性集合操作集合是无序的、不重复的元素集合,添加元素使用方法,移除元add适用于成员测试、消除重复项和数素使用或方法remove discard学集合运算使用花括号或函集合支持并集、交集、差集set|数创建苹果香蕉、对称差集等数学运算fruits={,,-^橙子}集合推导式与列表推导式类似,集合也支持推导式语法将{x**2for x in range10}创建一个包含到的平方数的集合,自动去除重复值09集合是检查元素存在性的高效工具,语法为对于大量数据,集if xin my_set合的成员检查比列表快得多,因为集合使用哈希表实现注意,集合中的元素必须是可哈希的(即不可变对象),因此列表和字典不能作为集合元素,但元组可以条件语句if-else三元表达式1x ifcondition elsey结构if-elif-else多条件分支判断基本语句if-else简单条件判断条件语句允许程序根据特定条件执行不同的代码块的条件语句使用缩进来定义代码块,不需要使用花括号基本结构是条Python if件执行代码块条件执行代码块执行代码块1:1;elif2:2;else:3条件表达式可以使用比较运算符()和逻辑运算符()组合形成复杂条件还支持链式比较,==,!=,,,=,=and,or,not Python如,这相当于,但更简洁易读0x100x andx10循环基本语法for使用函数遍历列表遍历字符串遍历字典range函数生成一个数字序直接遍历列表中的元素字符串也是可迭代对象,可以可以遍历字典的键、值或键值range for列,常用于控制循环次数例逐字符遍历对或item inmy_list:for charin forkey inmy_dict:如如果同时需要这for iin range5:printitem Python:printchar forkey,value in将打印到索引和元素,可以使用对于处理文本数据非常方便,使用printi04range my_dict.items:可以指定起始值、结束值和步函数尤其是需要统计或处理每个字方法可以同时获取键和enumerate for items长生成符时值,这是处理字典数据的常用range1,10,21,index,value in方式3,5,7,9enumeratemy_list:printindex,value循环与循环控制while循环基本结构while条件执行代码块,当条件为时重复执行while:True语句break跳出整个循环,通常与语句一起使用if语句continue跳过当前迭代,继续下一次循环子句else4循环正常完成时执行(未被打断)break循环在条件保持为时持续执行,适合不确定迭代次数的场景要避免无限循环,必须确保循环内部的代码最终会改变条件状态,使其变为while TrueFalse循环的子句是的特殊语法,它只在循环正常完成(未被语句终止)时执行这个特性可以用来确认是否已经找到特定项目,或者是否已经处理完所else Pythonbreak有数据列表推导式与生成式语法形式示例说明基本列表推导式[x*2for xin range5]→[0,2,4,6,8]带条件过滤[x for xin range10if x%2==0]→[0,2,4,6,8]多层推导式[x,y for xin[1,2]for yin[3,4]]→[1,3,1,4,2,3,2,4]字典推导式{x:x**2forxin range5}→{0:0,1:1,2:4,3:9,4:16}集合推导式{x%3forxin range10}→{0,1,2}生成器表达式生成器对象,惰性求值x*2forxinrange5列表推导式是的一个强大特性,可以用简洁的语法替代传统的循环创建列表它不仅代码更短,而且通常执行更快生成器表达式与列表推导式语法类似,但使用圆括Python for号,返回一个生成器对象,惰性计算,适合处理大数据集函数定义与调用函数定义使用关键字定义函数,指定函数名和参数def def你好,!greetname:printf{name}函数调用使用函数名和圆括号调用函数,传入参数小明greet返回值使用语句返回结果return defadda,b:return a+b文档字符串在函数开头使用三引号添加文档说明这是函数说明函数参数高级用法默认参数关键字参数定义时指定默认值调用时通过参数名指定值def greetname,您好,调用时可以省略有早上好张greeting=greetgreeting=,name=默认值的参数三,顺序可以不同可变关键字参数可变位置参数**kwargs*args接收任意数量的关键字参数接收任意数量的位置参数def def,参数将作为字典传,参数将作为元组传入user_info**data add*numbers入匿名函数lambda函数定义常见应用场景lambda函数是小型的匿名函数,用关键字创建,语法函数常用于排序、过滤和映射操作lambda lambdalambda为参数表达式例如表示一个接lambda:lambda x:x*2排序•sortedstudents,key=lambda s:s[score]受一个参数并返回其两倍的函数过滤•listfilterlambda x:x0,numbers函数可以接受任意数量的参数,但只能有一个表达式lambda映射•listmaplambda x:x*2,numbers表达式的结果被返回,无需显式的语句函数通return lambda常用于需要简短函数的场合,尤其是作为其他函数的参数时这些高阶函数接受函数作为参数,提供了一种简便方式lambda创建这些函数,而不必单独定义作用域与命名空间内置作用域预定义的标识符,如内置函数和异常Python全局作用域模块级别定义的变量,在整个模块可见闭包作用域外部函数中定义的变量,对内部函数可见局部作用域函数内部定义的变量,仅在函数内可见的变量查找遵循规则(局部)(闭包)(全局)(内置)当访问一个变量时,会按这个顺Python LEGBLocal→Enclosing→Global→Built-in Python序查找变量名关键字可以在函数内部声明全局变量,使函数能够修改全局变量类似地,关键字用于在嵌套函数中修改外部函数的变量这些关键字在处理global nonlocal复杂作用域时非常有用,但应谨慎使用,以避免代码难以理解常用内置函数len enumeratemap sorted返回对象的长度或项目数量返回一个枚举对象,将可迭代对可迭代对象的每个元素应用返回一个新的已排序列表可适用于字符串、列表、元组、对象组合为索引序列常用于指定函数,返回一个迭代器以指定函数和排序方向key字典等序列或集合类型例如循环中同时需要索引和值例如返回for listmaplambdax:sorted[3,1,2][1,2,返回,返回,lenPython6len[1,fori,val inenumerate[a,x*2,[1,2,3,4][2,3]sorted[c,a,b],返回返回2,3]3b,c]:printi,val4,6,8]reverse=True[c,b,a]异常处理机制使用结构try-except基本语法可能出错的代码处理异常的代码这try:;except Exceptionas e:样可以捕获并处理程序运行过程中可能发生的错误,避免程序崩溃捕获特定异常可以指定要捕获的异常类型try:x=intabc;except ValueError:无效的数值也可以使用多个块捕获不同类型的异常,每种printexcept异常类型有不同的处理方式子句finally无论是否发生异常都会执行的代码块操作文件处理异常try:;except:;关闭文件常用于释放资源,确保资源被正确关闭finally:finally抛出异常使用语句手动抛出异常年龄不raise ifage0:raise ValueError能为负数可以抛出内置异常或自定义异常类,提供更具体的错误信息文件操作基础打开文件读取内容使用函数打开文件,返回文件对象文件对象提供多种读取方法open file=opendata.txt,r,encoding=utf-8读取全部内容为单个字符串•read第一个参数是文件路径•读取一行内容•readline第二个参数是模式读取,写入,追加,二进制•r wa b读取所有行,返回列表•readlines参数指定编码,处理中文应使用•encoding utf-8直接遍历•for linein file:写入内容关闭文件使用方法写入内容使用方法关闭文件,释放系统资源write closefile.close写入字符串文件使用完毕必须关闭•writestring•写入字符串列表未关闭可能导致资源泄露•writelineslist•写入后需要手动添加换行符建议使用语句自动关闭•\n•with语句与上下文管理with语句的优势语句简化代码with with语句创建一个上下文管理器,可以自动处理资源的获取和使用语句简化为with with with opendata.txt,r asfile:释放,无论操作过程中是否发生异常最常见的应用是文件操作,content=file.read使用打开文件会自动关闭文件句柄,避免忘记调用with close语句可以同时管理多个资源withwithopeninput.txt as方法input_file,openoutput.txt,w asoutput_file:传统方式需要手动关闭文件file=opendata.txt,r try:output_file.writeinput_file.readcontent=file.read finally:file.close除了文件操作,还可以用于其他资源管理,如网络连接、with数据库连接等,只要对象实现了上下文管理协议和__enter__方法__exit__面向对象编程简介OOP类与对象的概念类是对象的模板,定义了对象的属性和方法;对象是类的实例,代表Class Object类的具体实体通过类,我们可以创建具有相似属性和行为的多个对象封装、继承与多态面向对象编程的三大特性封装隐藏内部细节,继承实现代码重用,多态允许不同类对象对相同消息作出不同响应支持这些特性,但比其他语言如更加灵Python Java活一切皆对象Python在中,所有的数据类型都是对象整数、字符串、函数,甚至类本身也是对Python象这种一致性使的面向对象体系非常强大,允许高度的灵活性和动态性Python动态特性允许运行时修改类和对象,可以动态添加属性和方法,这与静态类型语言如Python和有很大不同,提供了更大的灵活性但也需要更谨慎地使用Java C++类的定义与实例化定义类构造方法实例化对象理解参数self使用关键字定义类方法是类的构造方法,使用类名后跟括号创建对象是类方法的第一个参数,class class__init__self类名通常采用大驼在创建对象时自动调用张三表示调用该方法的对象实例Person:def person=Person,峰命名法(首字母大写)类这将调用方法,通过可以访问对象的属性__init__self,name,age:25__init__self体中可以定义属性和方法,表这个方法用于初始化对象的属创建一个新的对象,并和其他方法不是关键字,Person self示对象的数据和行为性,参数表示对象自身,初始化其和属性只是一个约定的命名self nameage必须是第一个参数类的属性与方法实例属性类属性实例方法属于每个对象实例,通常在方属于类本身,在类定义中直接定义定义在类中,第一个参数是__init__self def法中通过定义人类所有实例共享同一通过对象实例调用self self.name=species=introduceself:不同实例的同名属性可以有个值,通过类名或实例访问name person.introduce不同的值访问方式或Person.species person.speciesinstance.attribute类方法静态方法使用装饰器,第一个参数是使用装饰器,不需要或参数@classmethod cls def@staticmethod selfclsdef通过类名调用通过类名调用get_speciescls:Person.get_species is_adultage:Person.is_adult20继承与多态基类与子类子类继承父类的属性和方法可以继承一个或多个父类,实现代码重用class StudentPerson:方法重写子类可以重新定义父类的方法,提供特定的实现这允许子类定制自己的行为def introduceself:函数isinstance检查对象是否是特定类或其子类的实例用于类型检查和多态实现isinstancestudent,Person函数super调用父类的方法避免硬编码父类名称,便于维护多层继承关系super.__init__name,age魔术方法方法名作用示例字符串表示,用于__str__str returnf{self.name},岁{self.age}官方表示,用于__repr__repr returnfPerson{self.name},{self.age}长度,用于__len__len returnlenself.items索引访问,用于__getitem__obj[key]return self.data[key]相等比较,用于__eq__obj1==obj2return self.id==other.id加法运算,用于__add__obj1+obj2return Vectorself.x+other.x,self.y+other.y魔术方法(也称为双下划线方法或方法)是类中的特殊方法,名称前后有双下划线它dunder Python们允许类的对象与的内建函数和操作符交互,实现语言的特性通过实现这些方法,您Python Python可以定制对象的行为,使其像内置类型一样工作模块与包管理模块概念包结构模块是一个包含定义和语句的包是一个包含多个模块的目录,必须包Python1文件,以为扩展名通过模块可以组含文件(可.py__init__.py Python
3.3+织代码,实现代码重用选)包允许更加结构化地组织模块模块搜索路径导入语法在列表中的目录搜索Python sys.path导入整个模块,import modulefrom模块可以通过修改环PYTHONPATH导入特定名称,module importname境变量或列表添加自定义目录sys.path关键字创建别名as标准库简析Python标准库包含了大量实用模块,无需额外安装即可使用Python模块提供与操作系统交互的功能,如文件和目录操作、环境变量访问、进程管理等os模块处理日期和时间的类和函数,支持日期计算、格式化、时区处理等datetime模块生成伪随机数、随机选择元素、随机打乱序列等功能random模块提供数学函数和常量,如三角函数、对数、阶乘等math其他常用模块包括(系统特定参数和函数)、(正则表达式)、(数据处理)、(特殊容器数据类型)等sys rejson JSONcollections外部库管理使用安装包pip是的包管理工具,用于安装和管理第三方库基本命令pip Pythonpip安装包,卸载包,install package_name pipuninstall package_name列出已安装的包,显示包信息pip listpip showpackage_name创建虚拟环境虚拟环境是一个独立的环境,可以为不同项目安装不同版本的Python包使用模块创建用户venv python-m venvmyenv Anaconda可以使用创建环境conda create-n myenvpython=
3.8管理依赖关系使用文件记录项目依赖requirements.txt pipfreeze导出,安装requirements.txt pipinstall-r requirements.txt这样可以确保在不同环境中重现相同的依赖配置正则表达式与模块re正则表达式模式模块应用re正则表达式是描述字符串模式的强大工具,用于搜索、匹配和替的模块提供了正则表达式操作的函数Python re换文本常用的模式元素包括从字符串开头匹配模式•re.match匹配任意字符(除换行符外)•.搜索字符串中的模式(首次出现)•re.search匹配字符串开头•^返回所有匹配的列表•re.findall匹配字符串结尾•$替换匹配的子串•re.sub匹配前面的模式零次或多次•*实用案例匹配前面的模式一次或多次•+验证邮箱匹配前面的模式零次或一次•re.matchr^[\w.-]+@[\w.-]+\.\w+$,email•匹配字符集合中的任意一个字符•[]提取电话号码•re.findallr\d{3}-\d{8}|\d{4}-\d{7},匹配数字,等价于•\d[0-9]text匹配字母、数字、下划线•\w替换敏感词敏感词•re.subr\d+,***,text简单图形界面编程Tkinter简介Tkinter是的标准(图形用户界面)工具包,内置于标准库中,无需额外安Tkinter PythonGUI Python装它是基于工具包的接口,用于创建桌面应用程序Tk Python创建窗口创建基本窗口只需几行代码我的应用import tkinteras tkroot=tk.Tk root.title设置窗口大小进入事件循环root.geometry400x300#root.mainloop#添加控件提供了多种控件()标签显示文本或图像按钮用Tkinter widgets-Label-Button户可点击的按钮输入框单行文本输入文本框多行文本输入列表框-Entry-Text-选择列表复选框勾选项单选框单选项Listbox-Checkbutton-Radiobutton事件绑定使用方法或控件的参数绑定事件处理函数bind commandbutton=tk.Buttonroot,点击我通过事件绑定,可以响应用text=,command=on_click entry.bind,on_enter户操作,如点击、按键、鼠标移动等与网络编程Python编程基础请求(库)Socket HTTPrequests是网络通信的基本单元,的模块提供了底层网络是一个优雅而简单的库,广泛用于调用、网页抓取Socket Pythonsocket requests HTTP API接口等任务创建服务器基本用法TCP导入模块socket importrequests创建对象socket response=requests.gethttps://api.example.com/data绑定地址和端口状态码printresponse.status_code#监听连接请求响应内容printresponse.text#接受客户端连接解析响应printresponse.json#JSON发送接收数据库支持所有方法(、、、等),/requestsHTTPGET POSTPUT DELETE可以设置请求头、传递参数、上传文件、处理和会话等相比cookies关闭连接于标准库的,使用更加简洁直观urllib requests这种低级别的接口适合构建自定义网络协议或理解网络通信原理多线程与多进程Python多线程编程多进程编程异步concurrent.futures I/O的模块提供模块实现了模块提供模块提供了基于事件Python threadingmultiprocessing concurrent.futures asyncio了基于线程的并发执行线程类似于的,但了更高级的异步执行接口,可循环的异步编程框架,使用threading API是程序执行的最小单元,共享基于进程而非线程每个进程以使用语法编写非阻塞ThreadPoolExecutor async/await相同的内存空间由于有独立的内存空间,不受或管理代码这种方式适合高并发GIL ProcessPoolExecutor的(全局解释器锁)限制,适合密集型任务,线程池或进程池这种方式简操作,如网络服务器、Python GILCPU I/O限制,多线程主要适用于如数学计算、图像处理等进化了并行任务的提交和结果收爬虫等,可以在单线程中I/O Web密集型任务,如网络操作、文程间通信可使用、集,适合处理大量独立任务处理数千个并发连接Queue Pipe件读写等或共享内存文件与数据序列化序列化JSON模块提供了对象与格式的互相转换功能将对象转json PythonJSON json.dumps换为字符串,将字符串解析为对象适用于网络传JSON json.loads JSONPython输和配置文件,具有跨语言兼容性序列化Pickle模块可以将对象序列化为二进制流,通过保存对象,pickle Pythonpickle.dump恢复对象适合保存复杂的特有对象,但不具有跨语言兼容性,pickle.load Python存在安全风险文件处理CSV模块简化了文件的读写操作使用读取文件,csv CSVcsv.reader CSVcsv.writer写入文件适合处理表格数据,如电子表格导出的数据CSV文件处理Excel使用第三方库如、可以读写文件这些库提供了访问和修openpyxl xlrd/xlwt Excel改工作簿、工作表、单元格格式等功能,适合处理复杂的电子表格数据Excel与数据可视化Python在数据分析中的应用Python库简介数据读取数据清洗pandas是数据分析的核支持从多种格式读取数提供了处理缺失值、重复数据、pandas Pythonpandas心库,提供了高性能、易用的数据()、异常值的函数,如、CSV read_csv Exceldropna据结构和数据分析工具其两个()、数据库、等read_excel SQLfillna drop_duplicates主要数据结构是(一维数()、数据清洗是数据分析中最耗时但Series read_sql JSON据)和(二维表格()等只需一行代最关键的步骤DataFrame read_json数据),可以高效处理结构化数码即可将外部数据导入为据对象DataFrame数据分析强大的功能包括分组()、聚合()、groupby agg透视表()、时间序pivot_table列分析、统计函数(、mean、)等这些工具使sum count复杂的数据分析变得简单高效与人工智能Python已成为人工智能和机器学习领域的主导语言,拥有丰富的库和框架Python由开发的开源深度学习框架,提供了灵活的生态系统,用于构建和部署机器学习模型特别适合大规模分布式训练和生产部署TensorFlow Google由开发,以其动态计算图和的设计理念受到研究人员的欢迎它提供了直观的接口,便于快速原型设计和实验PyTorch Facebookpythonic提供了简单高效的工具,用于数据挖掘和数据分析实现了各种机器学习算法,如分类、回归、聚类等Scikit-learn实际应用案例包括图像识别、自然语言处理、推荐系统、自动驾驶等众多领域的生态系统使开发者能够从概念验证快速过渡到生产部署Python学习的资源推荐Python官方文档和教程书籍和在线课程官方文档()是最权威的学习资源,提供了推荐书籍Python python.org语言参考、库手册和教程虽然内容全面,但对初学者可能有些《编程从入门到实践》适合零基础入门•Python-技术性强官方提供的教程是一个很好的起点,系统Python《流畅的》进阶学习优雅用法地介绍了的基础知识•Python-PythonPython《》实用技巧和最佳实践•Python Cookbook-标准库文档详细说明了内置功能和标准模块,是编写Python程序时必不可少的参考资料增强提案()优质在线课程平台Python PythonPEPs记录了的设计决策和未来发展方向,对理解语言深层次Python专项课程•Coursera-Python forEverybody特性很有帮助的•edX-MIT Introductionto ComputerScience andProgrammingUsing Python慕课网、中国大学等中文平台的课程•MOOC Python课程总结与答疑专业应用机器学习、数据分析、开发等领域进阶Web高级特性装饰器、生成器、上下文管理器、元类常用模块标准库和第三方库的应用数据结构与算法列表、字典、集合及其操作基础语法变量、控制流、函数等核心概念本课程从基础语法开始,逐步深入到高级特性和专业应用,建立了完整的知识体系的学习是一个持续的过程,建议通过实际项目巩固所学知识,参与开源社区扩PythonPython展视野,并保持对新特性和最佳实践的关注感谢大家的参与!希望这门课程能够帮助你开启编程之旅,为你的技术成长奠定坚实基础如有问题,欢迎在课后交流讨论Python。
个人认证
优秀文档
获得点赞 0