本系列文章将会以通俗易懂的对话方式进行教学,对话中将涵盖了新手在学习中的一般问题。此系列将会持续更新,包括别的语言以及实战都将使用对话的方式进行教学,基础编程语言教学适用于零基础小白,之后实战课程也将会逐步更新。
若有想学习的内容可以在评论区留言,根据大家的要求持续更新。点赞过十万就算化成灰我也更新下一篇。(肯定不到,也会更的。)
有问题也可以在评论区留言,也可以私聊我加我好友共同交流一起进步~
喜欢内容欢迎关注我、评论、点赞、收藏,这对我很重要,谢谢~
教程点击进去将会有目录
《看聊天记录都学不会C语言?太菜了吧(1)我在大佬群里问基础问题没人理?——学习建议
《看聊天记录都学不会Python到游戏实战?太菜了吧》python 写游戏好简单啊,我用键盘可以随意控制角色了【python 游戏实战 04】—— 键盘控制角色移动
《看聊天记录都学不会Python到游戏实战?太菜了吧》游戏角色开始动起来了,真帅!【python 游戏实战 03】—— 角色移动
《看聊天记录都学不会Python到游戏实战?太菜了吧》这是我第一次使用代码创建出一个窗口【python 游戏实战 02】—— 创建游戏场景
《看聊天记录都学不会Python到游戏实战?太菜了吧》这是我第一次使用代码创建出一个窗口【python 游戏实战 01】—— 创建窗口
《看聊天记录都学不会Python到游戏实战?太菜了吧》(14)其实python面向对象3分钟就可以入门—— 创建类、使用类方法
《看聊天记录都学不会Python到游戏实战?太菜了吧》(13)python 字典 2 分钟速解—— 字典
《看聊天记录都学不会Python到游戏实战?太菜了吧》(12)python 的列表我从没想过会那么好用—— 列表
《看聊天记录都学不会Python到游戏实战?太菜了吧》(11)python里面while到底有多少知识点—— break continue
《看聊天记录都学不会Python到游戏实战?太菜了吧》(10)无底洞的循环—— 循环初窥
《看聊天记录都学不会Python到游戏实战?太菜了吧》(9)集万家之长不死 python—— 导包
《看聊天记录都学不会Python到游戏实战?太菜了吧》(8)我们开始做一个数字小游戏吧—— 数字游戏开始做 导包
《看聊天记录都学不会Python到游戏实战?太菜了吧》(7)我用函数写了个特洛伊木马—— 自定义函数
《看聊天记录都学不会Python到游戏实战?太菜了吧》(6)不会这个知识点代码越写越难—— and or 逻辑运算
《看聊天记录都学不会Python到游戏实战?太菜了吧》(5)用前朝的剑斩今朝的官——if…else
《看聊天记录都学不会Python到游戏实战?太菜了吧》(4)小白不知道这个知识点将会错漏百出——if 与 层级
《看聊天记录都学不会Python到游戏实战?太菜了吧》(3)都说123是字符不是数字——输入与类型
《看聊天记录都学不会Python到游戏实战?太菜了吧》(2)在python中加号竟然如此善变——变量与运算
《看聊天记录都学不会Python到游戏实战?太菜了吧》(1)装载Python神器!亮剑!——helloworld
作者名:1_bit
简介:CSDN博客专家,2020年博客之星TOP5,蓝桥签约作者。15-16年曾在网上直播,带领一批程序小白走上程序员之路。欢迎各位小白加我咨询我相关信息,迷茫的你会找到答案。
博客地址:https://i1bit.blog.csdn.net
🐰小C:这一节我们学习面向对象的内容。
👸小媛:我没有对象怎么去面向着我的对象去编程呀,你是不是故意的?
🐰小C:面向对象是编程的一个概念,你在想什么?
👸小媛:你意思说代码都有对象了而我却没有?故意的是嘛。
🐰小C:我…所以你到底学不学?
👸小媛:学学学,赶紧的,我要吃代码狗粮。
🐰小C:面向对象其实很简单,你可以理解为是一一个类别。例如你玩游戏,里面很多 npc,其实这些 npc 人物都有类似的属性,都有头发、眼睛、鼻子、身高、性别这些属性,但是我们创建这些对象每次并不需要每次去敲击代码为每一个去创建,我们只需要创建一个具体的类型,每次使用这个类型就可以了。
👸小媛:听懂了一点,但是又没完全懂,你还是用实例说明吧。
🐰小C:创建一个类需要用一个关键字 class,然后后面是一个名称,最后使用冒号表示结束。
class Human:
👸小媛:然后呢?
🐰小C:然后我们在这个类型里面可以创建一些变量,这些变量就是这个类型的属性。在这里我们创建的这个类叫做 Human,是用来描述人的这一个类,人具有姓名、年龄、性别、身高等属性,我们可以在这个类中创建:
class Human:
name="未命名"
age=18
height=170
sex="男"
👸小媛:这样就创建3个属性了吗?
🐰小C:是的,这样的话只要我们使用这个类型去创建具体的对象,例如小明、小红,这样就可以不用打太多的代码,直接创建这个类别的对象就可以直接拥有这些属性。
👸小媛:怎么做呢?
🐰小C:很简单,你看下面代码,就是创建一个具体类型。
xiaoming=Human()
👸小媛:直接使用类型名一个圆括号?跟函数一样?
🐰小C:对的,这就是创建。
👸小媛:创建好后直接给 xiaoming 这样就创建了一个具体类型了?
🐰小C:是的,但是这样并不能很好的表现类和对象,我们可以创建一个类方法,就是说这个类有什么功能,你看下面类里面的代码。
class Human:
name="未命名"
age=18
height=170
sex="男"
def say(self):
print("hello")
👸小媛:咦?我看类里面有一个函数,这个函数有一个参数是self,这是啥?
🐰小C:self 的意思是指向当前对象本身,在类里面的函数都需要使用这个 self,但这个self 并不需要传参数,因为 self 表示当前这个函数属于这个类。
👸小媛:没明白。
🐰小C:那我们添加一个新参数吧。
class Human:
name="未命名"
age=18
height=170
sex="男"
def say(self,say_str):
print(say_str)
👸小媛:这样的话就可以传递一个参数,这个参数就是函数里面 print 显示的内容。
🐰小C:是的,我给你看看这个函数怎么用吧。
class Human:
name="未命名"
age=18
height=170
sex="男"
def say(self,say_str):
print(say_str)
xiaoming=Human()
xiaoming.say("Hello")
👸小媛:直接用个小数点就可以使用这个函数?而且前面不是有一个self 的,怎么不用传参?
🐰小C:因为刚刚我说过,self 是表示这个函数指向当前类,不需要传参,你就当做不存在就可以了。然后小数点你可以理解成“的”意思,也就是说,使用创建的这个对象 xiaoming 的 say 方法,这样就可以使用了。
👸小媛:哈哈哈,解决了,我直接出现结果了。

🐰小C:哈哈哈,可以吧?那我们再创建几个方法。
class Human:
name="未命名"
age=18
height=170
sex="男"
def say(self,say_str):
print(say_str)
def myname(self):
print(self.name)
def myage(self):
print(self.age)
def myheight(self):
print(self.height)
def mysex(self):
print(self.sex)
xiaoming=Human()
xiaoming.myname()
xiaoming.myage()
xiaoming.myheight()
xiaoming.mysex()
👸小媛:这些方法中的代码例如 self.sex 是啥意思?
🐰小C:意思就是,self 是指当前对象本身,然后 self.sex 就是获取到当前对象本身的 sex 变量,这个时候就直接显示就可以了。
👸小媛:哈哈哈,解决了。

🐰小C:下一节我们再详细的讲解一下类吧。
👸小媛:哈哈哈,好勒。
总的来说,我对ruby还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用
类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
在控制台中反复尝试之后,我想到了这种方法,可以按发生日期对类似activerecord的(Mongoid)对象进行分组。我不确定这是完成此任务的最佳方法,但它确实有效。有没有人有更好的建议,或者这是一个很好的方法?#eventsisanarrayofactiverecord-likeobjectsthatincludeatimeattributeevents.map{|event|#converteventsarrayintoanarrayofhasheswiththedayofthemonthandtheevent{:number=>event.time.day,:event=>ev
使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta
查看Ruby的CSV库的文档,我非常确定这是可能且简单的。我只需要使用Ruby删除CSV文件的前三列,但我没有成功运行它。 最佳答案 csv_table=CSV.read(file_path_in,:headers=>true)csv_table.delete("header_name")csv_table.to_csv#=>ThenewCSVinstringformat检查CSV::Table文档:http://ruby-doc.org/stdlib-1.9.2/libdoc/csv/rdoc/CSV/Table.html
我有一个表单,其中有很多字段取自数组(而不是模型或对象)。我如何验证这些字段的存在?solve_problem_pathdo|f|%>... 最佳答案 创建一个简单的类来包装请求参数并使用ActiveModel::Validations。#definedsomewhere,atthesimplest:require'ostruct'classSolvetrue#youcouldevencheckthesolutionwithavalidatorvalidatedoerrors.add(:base,"WRONG!!!")unlesss
好的,所以我的目标是轻松地将一些数据保存到磁盘以备后用。您如何简单地写入然后读取一个对象?所以如果我有一个简单的类classCattr_accessor:a,:bdefinitialize(a,b)@a,@b=a,bendend所以如果我从中非常快地制作一个objobj=C.new("foo","bar")#justgaveitsomerandomvalues然后我可以把它变成一个kindaidstring=obj.to_s#whichreturns""我终于可以将此字符串打印到文件或其他内容中。我的问题是,我该如何再次将这个id变回一个对象?我知道我可以自己挑选信息并制作一个接受该信
我发现ActiveRecord::Base.transaction在复杂方法中非常有效。我想知道是否可以在如下事务中从AWSS3上传/删除文件:S3Object.transactiondo#writeintofiles#raiseanexceptionend引发异常后,每个操作都应在S3上回滚。S3Object这可能吗?? 最佳答案 虽然S3API具有批量删除功能,但它不支持事务,因为每个删除操作都可以独立于其他操作成功/失败。该API不提供任何批量上传功能(通过PUT或POST),因此每个上传操作都是通过一个独立的API调用完成的
如果您尝试在Ruby中的nil对象上调用方法,则会出现NoMethodError异常并显示消息:"undefinedmethod‘...’fornil:NilClass"然而,有一个tryRails中的方法,如果它被发送到一个nil对象,它只返回nil:require'rubygems'require'active_support/all'nil.try(:nonexisting_method)#noNoMethodErrorexceptionanymore那么try如何在内部工作以防止该异常? 最佳答案 像Ruby中的所有其他对象