![](https://img-blog.csdnimg.cn/direct/b508ae9dac7d47ddbbf187c9231f1c63.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python基础学习
文章平均质量分 90
学习Python的基础部分
雾重烟秋
这个作者很懒,什么都没留下…
展开
-
Python数据类型
将二进制数101100101转换为十六进制。, 反之,如果将十六进制。原创 2024-05-13 13:21:05 · 526 阅读 · 1 评论 -
Python字符串和编码
由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。文件就是UTF-8编码的,必须并且要确保文本编辑器正在使用UTF-8 without BOM编码,如果。,在内存中以Unicode表示,如果要在网络上传输,或者保存到磁盘上,就需要把。格式化字符串的时候,可以用Python的交互式环境测试,方便快捷。原创 2024-05-13 15:53:07 · 871 阅读 · 0 评论 -
使用list和tuple
所以,tuple所谓的“不变”是指,每个元素指向永远不变,但是指向的list是可变的,因此,要创建一个内容也不变的tuple就需要保证tuple的每一个元素本身也不能变。classmates这个tuple不能变了,因为不能变,所以更安全,如果可能,能用tuple代替list就尽量用tuple。变的不是tuple的元素,而是list的元素,tuple指向的list并没有变成别的list,但是list指向的元素变了。Python在显示只有1个元素的tuple时,也会加一个逗号。删除指定位置的元素,原创 2024-05-13 16:28:23 · 437 阅读 · 1 评论 -
条件判断和模式匹配
函数发现一个字符串并不是合法的数字时就会报错,程序就退出了。后面的错误和调试会讲到。小明身高1.75,体重80.5kg。这种形式,是为了写法简洁,Python的一般的布尔表达式还是用。参考:https://www.liaoxuefeng.com/的作用将在函数的参数中讲解),它实际上表示至少指定一个文件;是非零数值、非空字符串、非空list等,就判断为。针对某个变量匹配若干种情况,可以使用。字符串,没有指定文件名,报错;,他们默认支持短路操作,用。,后面的任意个字符串绑定到。,第二个字符串绑定到变量。原创 2024-05-13 18:19:50 · 340 阅读 · 0 评论 -
循环、使用dict和set
set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”。试试把list放入set,看看是否会报错。这是因为dict根据key来计算value的存储位置,如果每次计算相同的key得出的结果不同,那dict内部就完全混乱了。所以,对于不变对象来说,调用对象自身的任何方法,也不会改变对象自身的内容,相反,这些方法会创建新的对象并返回,这样就保证了不可变对象永远是不可变的。原创 2024-05-13 19:34:50 · 720 阅读 · 0 评论 -
Python的函数
自定义一个求绝对值的my_absif x >= 0:return xelse:return -x在Python交互环境中定义函数的时候,会出现...的提示,定义结束后要按两次回车重新回到>>>... else:...9如果把my_abs()函数定义保存为abstest.py文件,那么,可以在该文件的当前目录下启动Python解释器,用来导入my_abs()函数,abstest是文件名(不含.py扩展名)9。原创 2024-05-13 22:45:53 · 859 阅读 · 0 评论 -
Python的高级特性
而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?generator是非常强大的工具,在Python中,可以简单地把列表生成式改成generator,也可以通过函数实现复杂逻辑的generator。这种数据类型虽然有下标,但很多其他数据类型是没有下标的,但是,只要是可迭代对象,无论有无下标,都可以迭代,比如。原创 2024-05-14 14:39:45 · 1002 阅读 · 1 评论 -
函数式编程——高阶函数
直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来。作用在list的每一个元素并把结果生成一个新的list”,所以,`map()作为高阶函数,事实上它把运算规则抽象了,因此,我们不但可以计算简单的。是惰性计算的序列,所以我们可以用Python表示“全体自然数”,“全体素数”这样的序列,而代码非常简洁。从上述例子可以看出,高阶函数的抽象能力是非常强大的,而且,核心代码可以保持得非常简洁。key指定的函数将作用于list的每一个元素上,并根据key函数返回的结果进行排序。原创 2024-05-14 16:47:22 · 988 阅读 · 0 评论 -
函数式编程——返回函数、匿名函数、装饰器、偏函数
因为它是一个decorator,所以接受一个函数作为参数,并返回一个函数。本质上,decorator就是一个返回函数的高阶函数。,所以,当一个函数返回了一个函数后,其内部的局部变量还被新函数引用,所以,闭包用起来简单,实现起来可不容易。的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。由于函数也是一个对象,而且函数对象可以被赋值给变量,所以,通过变量也能调用该函数。在上面的例子中,每次循环,都创建了一个新的函数,然后,把创建的3个函数都返回了。原创 2024-05-14 21:42:24 · 688 阅读 · 2 评论 -
Python的模块
我们推荐直接使用Anaconda,这是一个基于Python的数据处理和科学计算平台,它已经内置了许多非常有用的第三方库,我们装上Anaconda,就相当于把数十个第三方模块自动安装好了,非常简单易用。下载后直接安装,Anaconda会把系统Path中的python指向自己自带的Python,并且,Anaconda安装的第三方模块会安装在Anaconda自己的路径下,不影响系统已安装的Python目录。第4行是一个字符串,表示模块的文档注释,任何模块代码的第一个字符串都被视为模块的文档注释;原创 2024-05-14 21:42:50 · 875 阅读 · 2 评论 -
面向对象编程
面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度。而面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递。原创 2024-05-15 11:14:48 · 859 阅读 · 0 评论 -
面向对象高级编程
数据封装、继承和多态只是面向对象程序设计中最基础的3个概念。在Python中,面向对象还有很多高级特性,允许我们写出非常强大的功能。我们会讨论多重继承、定制类、元类等概念。原创 2024-05-15 15:55:23 · 539 阅读 · 0 评论 -
错误、调试和测试
在程序运行过程中,总会遇到各种各样的错误。有的错误是程序编写有问题造成的,比如本来应该输出整数结果输出了字符串,这种错误我们通常称之为bug,bug是必须修复的。有的错误是用户输入造成的,比如让用户输入email地址,结果得到一个空字符串,这种错误可以通过检查用户输入来做相应的处理。还有一类错误是完全无法在程序运行过程中预测的,比如写入文件的时候,磁盘满了,写不进去了,或者从网络抓取数据,网络突然断掉了。这类错误也称为异常,在程序中通常是必须处理的,否则,程序会因为各种问题终止并退出。原创 2024-05-15 19:54:03 · 845 阅读 · 0 评论 -
Python——IO编程
IO在计算机中指Input/Output,也就是输入和输出。由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘、网络等,就需要IO接口。比如你打开浏览器,访问新浪首页,浏览器这个程序就需要通过网络IO获取新浪的网页。浏览器首先会发送数据给新浪服务器,告诉它我想要首页的HTML,这个动作是往外发数据,叫Output,随后新浪服务器把网页发过来,这个动作是从外面接收数据,叫Input。所以,通常,程序完成IO操作会有Input和Output两个数据流。原创 2024-05-15 21:13:58 · 971 阅读 · 0 评论 -
进程和线程
很多同学都听说过,现代操作系统比如Mac OS X,UNIX,Linux,Windows等,都是支持“多任务”的操作系统。什么叫“多任务”呢?简单地说,就是操作系统可以同时运行多个任务。打个比方,你一边在用浏览器上网,一边在听MP3,一边在用Word赶作业,这就是多任务,至少同时有3个任务正在运行。还有很多任务悄悄地在后台同时运行着,只是桌面上没有显示而已。现在,多核CPU已经非常普及了,但是,即使过去的单核CPU,也可以执行多任务。原创 2024-05-16 20:00:11 · 1429 阅读 · 1 评论 -
正则表达式
字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在。比如判断一个字符串是否是合法的Email地址,虽然可以编程提取前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦,而且代码难以复用。正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。所以我们判断一个字符串是否是合法的Email的方法是:创建一个匹配Email的正则表达式;原创 2024-05-16 20:40:16 · 827 阅读 · 0 评论