- 博客(30)
- 收藏
- 关注
原创 Python面向对象编程——访问限制
今天总算是闲下来了,弄好了Anaconda的环境配置。这一部分的访问限制呢是和封装挂钩的就是先封装self.gender→self._gender再利用get_(name)去从外部取值,然后set_(score)创建一个新的方法,
2025-08-11 13:56:45
195
原创 anaconda
学习访问权限的突然发现anaconda环境没有配置好,卸载软件之后又重新下载但是仍然还是和教学的不太一样,我怀疑是不是因为用了清华镜像的原因,但是更离谱的是anaconda的官网我把密码忘记居然昨天今天都显示邮箱发送错误,收不到邮件,但是也没办法重新发送。很离谱,最关键的是在b站找的视频基本上全是一个博主讲的不同剪辑号而已。
2025-08-09 20:23:58
156
原创 Python面向对象——类和实例
廖老师第一句话就向我们道来了面向对象的重点:面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。,表示该类是从哪个类继承下来的,继承的概念我们后面再讲,通常,如果没有合适的继承类,就使用。类是创建实例的模板,而实例则是一个一个具体的对象,各个实例拥有的数据都互相独立,互不影响。方法,在创建实例的时候,就不能传入空的参数了,必须传入与。
2025-08-05 21:00:59
273
原创 Python面向对象编程
面向对象的设计思想是从自然界中来的,因为在自然界中,类(Class)和实例(Instance)的概念是很自然的。Class是一种抽象概念,比如我们定义的Class——Student,是指学生这个概念,而实例(Instance)则是一个个具体的Student,比如,Bart Simpson和Lisa Simpson是两个具体的Student。而面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递。
2025-08-02 20:42:26
278
原创 Python模块——使用模块
首先廖老师给我们解释了什么是模块:为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Module)。模块可以引用,这样我们就不需要经常从头开始写代码。使用模块还可以避免函数名和变量名冲突。相同名字的函数和变量完全可以分别存在不同的模块中,因此,我们自己在编写模块时,不必考虑名字会与其他模块冲突。但是也要注意,尽量不要与内置函数名字冲突。点。
2025-07-30 20:48:43
404
原创 Python函数式编程——偏函数
的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。简单说廖老师的这篇内容就是引入了base参数来做N进制的转换。但是假设要转换大量的二进制字符串,每次都传入。最后,创建偏函数时,实际上可以接收函数对象、非常麻烦,于是,我们想到,可以定义一个。实际上固定了int()函数的关键字参数。参数重新设定默认值为。
2025-07-29 20:58:37
94
原创 Python函数式编程——匿名函数
用匿名函数有个好处,因为函数没有名字,不必担心函数名冲突。匿名函数有个限制,就是只能有一个表达式,不用写。,返回值就是该表达式的结果。表示匿名函数,冒号前面的。
2025-07-26 21:17:36
94
原创 Python函数式编程——返回函数
这一章节的重中之重就是闭包,它的特点是用起来简单但是实现起来不容易另一个需要注意的问题是,返回的函数并没有立刻执行,而是直到调用了f()才执行。在上面的例子中,每次循环,都创建了一个新的函数,然后,把创建的3个函数都返回了。你可能认为调用f1()f2()和f3()结果应该是149全部都是9!原因就在于返回的函数引用了变量i,但它并非立刻执行。等到3个函数都返回时,它们所引用的变量i已经变成了3,因此最终结果为9。如果后续要引入循环,那就只能再创建一个函数缺点是代码较长,可利用lambda函数缩短代码。
2025-07-25 21:03:33
244
原创 Python函数式编程——高阶函数
今天继续跟着廖老师的课堂学习新的章节:函数式编程——高阶函数。首先,高阶函数(Higher-order function)存在的好处。
2025-07-24 21:02:15
285
原创 Python高级特性——迭代器
甚至可以表示一个无限大的数据流,例如全体自然数。而使用list是永远不可能存储全体自然数的。可以把这个数据流看做是一个有序序列,但我们却不能提前知道序列的长度,只能不断通过。迭代器的内容相较于生成器很少,但是理解起来也存在一定难度,需要反复琢磨廖老师的话。的计算是惰性的,只有在需要返回下一个数据时它才会计算。函数调用并不断返回下一个数据,直到没有数据时抛出。循环的对象统称为可迭代对象:Iterable。函数实现按需计算下一个数据,所以。迭代器核心定义:可以直接作用于。对象表示的是一个数据流,
2025-07-22 20:21:04
188
原创 Python高级特性——生成器
如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。。第一种方法很简单,只要把一个列表生成式的[]改成(),就创建了一个generator:如果要一个一个打印出来,可以通过next()是非常强大的工具,在Python中,可以简单地把列表生成式改成generator,也可以通过函数实现复杂逻辑的generator。要理解generator的工作原理,它是在for循环的过程中不断计算出下一个元素,并在适当的条件结束。
2025-07-21 20:30:50
992
原创 Python高级特性——列表生成式
循环,就可以把list创建出来,十分有用,多写几次,很快就可以熟悉这种语法。如果list中既包含字符串,又包含整数,由于非字符串类型没有。写列表生成式时,把要生成的元素。请修改列表生成式,通过添加。
2025-07-19 15:21:02
180
原创 Python高级特性——迭代
迭代就是对于循环语句的一种简便写法,同样也能为我们节省很多代码,并且提高运行速度。实现类似Java那样的下标循环怎么办?那么,如何判断一个对象是可迭代对象呢?循环就可以正常运行,而我们不太关心该对象究竟是。循环时,只要作用于一个可迭代对象,变成索引-元素对,这样就可以在。
2025-07-17 21:09:21
159
原创 Python高级特性——切片
这里以list举例——[0:3]代表从第一个元素开始一直到不包括第三个元素,也就是0 1 2三个元素。[0:10:2]代表的含义是从第一个元素开始一直到不包括第十个元素,也就是0 1 2……Python的切片非常灵活,一行代码就可以实现很多行循环才能完成的操作。对这种经常取指定索引范围的操作,用循环十分繁琐,因此,Python提供了切片(Slice)操作符,能大大简化这种操作。利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的。
2025-07-16 20:54:28
187
原创 Python——递归函数
递归函数的优点是定义简单,逻辑清晰。理论上,所有的递归函数都可以写成循环的方式,但循环的逻辑不如递归清晰。需要注意的是:由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出。引入了乘法表达式,所以就不是尾递归了。但是递归函数需要特殊处理n=1的时候,需要多运算这一步。在函数调用前就会被计算,不影响函数调用。最后是一个很有意思的课后习题:请编写。仅返回递归函数本身,
2025-07-14 20:54:24
263
原创 Python函数——函数的参数
不变对象一旦创建,对象内部的数据就不能修改,这样就减少了由于修改数据导致的错误。此外,由于对象不变,多任务环境下同时读取对象不需要加锁,同时读一点问题都没有。我们在编写程序时,如果可以设计一个不变对象,那就尽量设计成不变对象。
2025-07-13 21:20:09
802
原创 Python函数——定义函数
在上一节学习了如何去调用函数帮我们更加方便快捷的计算或者是省略语句之后,今天我们学习的是如何去自定义一个函数。在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号,然后,在缩进块中编写函数体,函数的返回值用return语句返回。
2025-07-11 16:35:42
247
原创 Python函数——调用函数
温故过Python基础之后,来到了函数章节。第一节是调用函数,引章廖老师向我们娓娓道来了函数在高级编程语言中的实用性和不可或缺性,它能用一些自带的函数为我们节省大量的代码和计算过程。而调用函数,是使用一个函数的开始,第一步。本小节廖老师主要给我们例举了几个简单的函数供我们调用学习。可以接收任意多个参数,并返回最大的那个。
2025-07-10 21:25:56
168
原创 Python基础——dict和set
这是因为dict根据key来计算value的存储位置,如果每次计算相同的key得出的结果不同,那dict内部就完全混乱了。这个通过key计算位置的算法称为哈希算法(Hash)。要保证hash的正确性,作为key的对象就不能变。在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。dict可以用在需要高速查找的很多地方,在Python代码中几乎无处不在,正确使用dict非常重要,需要牢记的第一条就是dict的key必须是。所以,dict是用空间来换取时间的一种方法。
2025-07-09 21:28:33
304
原创 Python基础——循环
廖老师还在小结跟我们讲到,不论是break循环还是continue循环都经常与if条件语句用在一起。循环这个内容也是大一从c语言开始几乎每门语言都经常用经常做题的一类知识点,也算是比较熟悉了。今天继续探索廖老师的网站,看看会有什么新的发现。第二种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环。如果要计算1-100的整数之和,从1写到100有点困难,幸好Python提供一个。语句,跳过当前的这次循环,直接开始下一次循环。时,不再满足while条件,循环退出。在循环过程中,也可以通过。
2025-07-08 20:54:33
145
原创 Python学习:条件判断
条件判断应该是大部分计算机专业同胞们都做的比较多的一种编程了,不论是学校的课程设计,还是期末考试,平时练习应该都少不了他的身影,今天跟着廖老师的课程也是比较轻松的就掌握了基本的语法与用法,只可惜在input那一步跟写上让廖老师卖了个关子。没有得出最终正确的代码。好吧,咱先等着吧,廖老师应该会有自己的好的想法。总之今天的课程就是一个谚语来总结:温故而知新。最后依然是附上课后习题,本次习题也是比较轻松的。的缩写,完全可以有多个。
2025-07-05 20:52:56
197
原创 Python——使用list和tuple
跟着廖老师的课堂继续深入,今天是list和tuple的一些用法和讲解,廖老师的课堂让我觉得这个内容是挺简单挺通俗易懂的,list的用法就类似于数学里的集合然后把元素取出来,或者标识出来,又或是重新定义。至于tuple我开始还认为是多此一举的一种用法,因为他无法修改,知道廖老师说很多时候要代替list是因为他不可修改的安全性。既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是。值得注意的是,他的取值也是从0开始。
2025-07-04 19:39:50
191
原创 Python基础——字符串和编码
老实说,这ASCII码什么码这些码的上课的时候就听的我一头雾水,廖老师的课程我依然是学了个一知半解,真的不知道这玩意应用起来有多麻烦。倒是字符串还收获颇多。
2025-07-03 21:15:05
294
原创 Python基础——数据类型与变量
这一小节主要学习了数据类型与变量以及常量,重难点自然在变量与常量里,要搞清楚赋值和指向还需要多读练习。通过今天的学习弄明白了之前碰上就懵逼弄混的布尔值True and False True or False。写在一行里不好阅读,为了简化,Python允许用。等等一些问题,再一次感叹自学的效率与收获!运算是非运算,它是一个单目运算符,把。运算是或运算,只要其中有一个为。如果字符串内部有很多换行,用。运算是与运算,只有所有都为。可以转义很多字符,比如。巩固了一些字符的意思。
2025-07-02 21:34:40
136
原创 第一个python代码
今天跟着廖雪峰老师的python学习了第一个python代码,通过visual studio code和cmd完成,用python交互输出了自己的网名Derrick 以及一些简单的计算和语句输出使用print(),直接打印出用户所需要的结果。例 name = input('please enter your name: ')输入使用input()可以让用户输入字符串,并存放到一个变量里。: 忘记用逗号隔开导致一直报错,简直被自己逗笑了。在最后的练习题 请利用。
2025-07-01 21:00:38
99
原创 Python学习新的开端
现在已经是大二的暑期了,回看这两年的大学生涯其实脱离ai自己也没有什么独立完成代码项目的经历。也是很迷茫,一直以来都不是很擅长理工科的学习,家里好多亲戚都是搞计算机的,自己也对计算机有一点兴趣,也知道这个行业挣钱,继续摸爬滚打吧,不试试怎么知道自己行不行呢。在表哥的指导下第一天开始学习廖雪峰老师的python课程,重新配置了网络环境完善了python软件成功运行。有一说一自己一个人安静主动的在家学习确实要比在学校被动授课来得有兴趣很多,希望能保持这份热情继续努力学下去做一个合格的码农。
2025-06-30 15:07:19
65
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人