精华内容
下载资源
问答
  • 图解GitHub和SourceTree 入门教程 使用教程

    万次阅读 多人点赞 2014-09-14 01:12:29
    教程适用于github和bitbucket和gitee等主流代码托管仓库,个人认为sourceTree还是比较好用的git客户端,支持windows和mac os,当然也不排斥使用纯命令行的朋友。 sourceTree配合高级的命令行,可以很方便快速的...

    -->本教程适用于github和bitbucket和gitee等主流代码托管仓库,个人认为sourceTree还是比较好用的git客户端,支持windows和mac os,当然也不排斥使用纯命令行的朋友。

    sourceTree配合高级的命令行,可以很方便快速的应用到项目中。

    -->soureceTree的最新版本可能与此教程的screenshot有些许不同,但大同小异(sourceTree的最新版本操作上更人性化)

     

    先安装gitForWindows或 gitForMac,按提示默认安装,安装之后才可以在命令行中用git --version, git clone hereIsYourPath命令

     

    先看这里,使用Intellij IDEA 创建项目 从github上clone项目 并用SourceTree打开

    进阶看这里,用sourcetree创建新的branch,进行branch代码merge, cherry pick,reverse commit

    提高看这里,git for windows 总是提示输入用户名和秘密  

    提高看这里,用intellij idea合并git冲突

     

    JMeter源码导入到Intellij IDEA,点这里

     

    -->大家可以先看个关于git工作流程的视频,先了解一下,被youku转码了,不太清楚,将就看吧,点这里

    -->在github上注册一个账号,然后登陆。

    -->在github上点击create new, new repository, 随便输入一个项目名称即可,注意选上init this repository with readme(不选择也可以,事后再自己编辑),如下图。

    关于git流程,给个不错的参考链接,点我打开

    以我在github上开源的MyBatisGen为参考吧。

    -->如果想删除刚创建的项目,可以,点右下角的setting,如下图。

    -->将页面拉到最下边,点击delete this repository,在弹出层中输入项目名称,点击删除即可,如下图。

     

    -->现在要在本地clone出远程的项目,在github上点击刚才创建的项目,进行项目详情,在右下角有一块信息,复制https连接,如下图

    -->在本地随便一个目录下,输入以下命令,git clone https://github.com/jelly-liu/MyBatisGen.git,(这里用了一个我的开源项目做为示例),

    -->我们可以看到,新建的项目除了一个readme文件,什么也没有,你可以随便将一个maven项目的内容copy到此目录下,编译正确后,就可以提交了,下面我们以SourceTree为例,来演示怎么用可视化GUI工具提交修改。

    --下载并安装SourceTree,以windows版本为例,安装完成后,打开sourcetree,如下图

    -->点击file-open,选择我们刚才clone出来的项目的根目录后,打开后,如下图,可以看到,branches只有一个master, 点击右边的Uncommited changes,会显示你所有有改动但未提交的文件。

    -->看Unstaged files这一块内容,我们按住shift,选择所有你要提交的文件,然后再点鼠标右键,选择add(意思就是add到本地的索引库),操作完成后,Staged files这块内容就会出现我们刚才选择的所有文件,如下图

    -->在我们提交到本地repo前,我们先在sourcetree中设置一下通用information,当commit到本地时,这个infomation会当做通用的提交信息,点击tool->options,在full name和email address中输入你的github账号信息,如下图

    -->返回到我们刚才那一点,在Staged files中选择要提交到本地仓库的文件后,点击sourcetree左上角的commit之后,会让我们输入comments about this commit,输入后,点提交,可能会提示你再输入github的用户名和密码,如下图

    -->至此,我们只是提交到了本地仓库,最后一步就是如提交到远程仓库了,点击工具栏的push按钮,就可以提交到远程仓库(push到远程前,最好先从远程pull一把)。点击pull,即可从远程仓库下载最新的别人提交的修改了,如下图

    -->点击push后,会让你选择提交到远程仓库的哪个分支,自己决定吧,提交到远程仓库后,github上就可以看到你提交的内容了,如下图

    -->在分支1上的修改可以通过cherry pick,直接将修改的代码commit到分支2上。

    也可以在分支2上去过merge操作来获取其它分支的commit,但是要通过intellij idea去进行merge。

    注意cherry pick只用直接取到你本次提交的代码,另人在你提交之前的提交不会搞过来,而merge则会把你提交前别人提交也也搞过来。

    intellij ide操作如下图:

     

    -->sourcetree左边栏的Branches,可以随便删除,再重新从Remotes中选择你要check out的分支,clone到本地仓库。

    -->对于当前的所有本地改动,都可以用Stash功能将改动暂时保存,在任何时候都可以进行apply stash to current work branch。

    -->至此,githut和sourcetree的使用,就结束了,工具只是方便大众化,不排斥只用command line操作,自己玩吧。。。

    展开全文
  • PyQt5(designer)入门教程

    万次阅读 多人点赞 2019-05-19 08:39:36
    PyQt5入门教程 注:这是当时闲着无聊写到github page的,在CSDN上也看了大佬们各种各样的教程跟疑难杂症解答,感觉我这个不放出来也有点可惜,希望各位能够从中收益吧。 在网上看了不少关于PyQt5的中文教程,但是无...

    PyQt5入门教程

    2019/12/11更新:我平时不看CSDN的,之前一时兴起发了过来,没想到反响还不错。这次就顺便把后来新增的一个小节放上来,并且在文末增加了我的GitHub(一看GitHub就知道我是个菜鸡,大家都是互相学习啦~)

    注:这是当时闲着无聊写到github page的,在CSDN上也看了大佬们各种各样的教程跟疑难杂症解答,感觉我这个不放出来也有点可惜,希望各位能够从中收益吧。

    在网上看了不少关于PyQt5的中文教程,但是无外乎是过时了,讲解不清晰易懂,或者资料不完整。Youtube上面倒是有不少视频,但是不少Youtuber居然还在手写ui而不是利用方便快捷的Qt Designer。仅有的几个视频虽然利用了Qt Designer来设计UI,但是他们并没有将UI跟逻辑分离,这种行为并不是我期望的。

    为此,我花费了不少时间在网上寻找各种资料。于是乎,我最终还是下定决心把自己的学习过程给记录下来。记录下来是给我自己复习跟参考的,如果有人能够从中受益,那也挺好,不用浪费时间去到处找答案。

    0x00 安装环境清单

    我使用的环境如下:

    • Windows 10 (Build 17763)
    • Python 3.7.2
    • VSCode 1.33.0
    • PyQt5
    • Qt Designer

    如果你使用的是OSX或者Linux,请自行替换教程中的一些操作。

    本文并不讨论Python和VSCode的安装,如果没有VSCode,你可以用各种同类IDE替代或者安装它。

    本文不讨论多Python共存,毕竟Python2.7在2020年就要退役了,而且我本人也没这需求。

    0x01 安装PyQt5

    下面直接使用pip来安装PyQt5,此处可能是pip/pip3,或者两者皆可,后面不再重复

    直接pip安装PyQt5

    pip install PyQt5
    

    由于Qt Designer已经在Python3.5版本从PyQt5转移到了tools,因此我们还需要安装pyqt5-tools

    pip install pyqt5-tools
    

    到这一步,PyQt5就安装完成了,你可以通过下面若干可选的操作来检查是否已经安装成功:

    • Win+S呼出Cornata主面板(搜索框),输入designer,如果看到跟下图类似的结果说明PyQt Designer已经被安装

    designer_install

    • 在cmd中输入pyuic5,如果返回“Error: one input ui-file must be specified”说明安装成功。

    0x02 初识Qt Designer

    注:Qt Designer的界面是全英文的,幸运的是有汉化方法,不过因为我本人用不上,所以如果有这方面需求可以自行搜索。

    我比较习惯用Win+S呼出Cornata主面板(搜索框)来启动各种应用,那么这里就是在搜索框中输入designer并敲回车,就能够启动Qt Designer了。

    初次启动会弹出这个“New Form”窗口,一般来说选择“Main Window”然后点击“Create”就可以了。下方有个“Show this Dialogue on Startup”的checkbox,如果不想每次启动都看到这个“New Form”窗口,可以取消勾选。

    new_form
    创建“Main Window”之后,我们会看到如下画面

    designer_ui
    下面就来简单介绍下整个画面的构成:

    • 左侧的“Widget Box”就是各种可以自由拖动的组件

    • 中间的“MainWindow - untitled”窗体就是画布

    • 右上方的"Object Inspector"可以查看当前ui的结构

    • 右侧中部的"Property Editor"可以设置当前选中组件的属性

    • 右下方的"Resource Browser"可以添加各种素材,比如图片,背景等等,目前可以不管

    大致了解了每个板块之后,就可以正式开始编写第一个UI了

    0x03 HelloWorld!

    注:从这里开始,相关代码可以在/assets/code/pyqt5中找到

    注:本文用到的代码都在我github,就不在CSDN这里上传了

    通常来说,编写GUI有两种方法:第一种就是直接使用方便快捷的Qt Designer,第二种就是写代码。在有Qt Designer的情况下,是完全不推荐费时费力去手写GUI代码的。Qt Designer可以所见即所得,并且可以方便的修改并做出各种调整。

    按照惯例,我们先来实现一个能够显示HelloWorld的窗口。

    1)添加文本

    在左侧的“Widget Box”栏目中找到“Display Widgets”分类,将“Label”拖拽到屏幕中间的“MainWindow”画布上,你就获得了一个仅用于显示文字的文本框,如下图所示。

    designer_create_label

    2)编辑文本

    双击上图中的“TextLabel”,就可以对文本进行编辑,这里我们将其改成“HelloWorld!”,如下图所示。如果文字没有完全展示出来,可以自行拖拽空间改变尺寸。

    特别提醒,编辑完文本之后记得敲击回车令其生效!

    designer_change_label_text

    3)添加按钮

    使用同样的方法添加一个按钮(PushButton)并将其显示的文本改成“HelloWorld!”,如下图所示。

    designer_create_pushbutton

    4)修改窗口标题

    下面修改窗口标题。选中右上方的"Object Inspector"中的“MainWindow”,然后在右侧中部的"Property Editor"中找到“windowTitle”这个属性,在Value这一栏进行修改,修改完记得敲击回车。

    5)编辑菜单栏

    注意到画布的左上方有个“Type Here”,双击它即可开始编辑菜单栏。菜单栏支持创建多级菜单以及分割线(separator)。我随意创建了一些菜单项目,如下图所示。

    designer_create_menu

    6)预览

    使用快捷键Ctrl+R预览当前编写的GUI(或者从菜单栏的Form > Preview / Preview in进入)

    designer_preview

    7)保存

    如果觉得完成了,那就可以保存成*.ui的文件,这里我们保存为HelloWorld.ui。为了方便演示,我将文件保存到D盘。

    8)生成Python代码

    使用cmd将目录切到D盘并执行下面的命令。请自行将下面命令中的name替换成文件名,比如本例中的“HelloWorld.ui”

    pyuic5 -o name.py name.ui
    

    生成的代码应该类似下图所示

    designer_code_helloworld

    9)运行Python代码

    此时尝试运行刚刚生成的“HelloWorld.py”是没用的,因为生成的文件并没有程序入口。因此我们在同一个目录下另外创建一个程序叫做“main.py”,并输入如下内容。在本例中,gui_file_name就是HelloWorld,请自行替换。

    import sys
    from PyQt5.QtWidgets import QApplication, QMainWindow
    
    import gui_file_name
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        MainWindow = QMainWindow()
        ui = gui_file_name.Ui_MainWindow()
        ui.setupUi(MainWindow)
        MainWindow.show()
        sys.exit(app.exec_())
    

    然后运行“main.py”,你就能看到刚刚编写的GUI了!

    designer_run_helloworld

    10)组件自适应

    如果你刚刚尝试去缩放窗口,会发现组件并不会自适应缩放,因此我们需要回到Qt Designer中进行一些额外的设置。

    点击画布空白处,然后在上方工具栏找到grid layout或者form layout,在本例中我们使用grid layout。两种layout的图标如下图所示。

    designer_layout_helloworld

    顺带一提,上图中layout的左边有三条横线以及三条竖线的图标,这两个是用于对齐组件,非常实用。

    设置grid layout后,我们使用Ctrl+R预览,这次组件可以自适应了!因为我们已经将UI(HelloWorld.py/HelloWorld.ui)跟逻辑(main.py)分离,因此直接重复步骤7-8即可完成UI的更新,无需改动逻辑(main.py)部分。

    0x04 Interaction

    刚刚写的HelloWorld中,我们设置的按钮(PushButton)是没有实际作用的,因为我们并没有告诉这个按钮应该做什么。实际上,要让这个按钮做点什么只需要增加一行代码就可以了。

    1)获取按钮id

    打开HelloWorld.ui,在designer中选中对应的按钮,从“Property Editor”中可以得知这个按钮的“objectName”叫做“pushButton”,如下图所示。

    designer_pushbutton_id

    2)设置触发

    Qt中有“信号和槽(signal and slot)”这个概念,不过目前无需深究,也无需在Designer中去设置对应按钮的“信号和槽”,直接在“main.py”中“MainWindow.show()”的后面加入下面这样的一行代码

    ui.pushButton.clicked.connect(click_success)
    

    下面简单解释下这行代码

    • pushButton就是刚刚获取的按钮id
    • clicked就是信号,因为是点击,所以我们这里用clicked
    • click_success就是对应要调用的槽,注意这里函数并不写成click_success()

    3)设置函数

    既然刚刚设置了按钮的触发并绑定了一个函数click_success,我们就要在“main.py”中实现它。示例如下

    def click_success():
        print("啊哈哈哈我终于成功了!")
    

    4)运行!

    UI跟逻辑分离的好处就在这里,我们这次不用去管“HelloWorld.py”了,直接运行修改完的“main.py”。点击按钮,这次你会发现在控制台中有了我们预设的输出。

    0x05 Conversion

    这次我们来进行实战演练,编写一个带GUI的汇率转换器。

    1)设计UI

    conversion_ui

    通过上面的讲解,你应该能够毫无压力的设计上面这样的UI并获得对应的代码。如果不行,那么不建议继续往下阅读,应当回头复习。

    2)传参

    现在我们有了GUI的代码以及上一节中使用的“main.py”,我们可以开始编写这个汇率转换器的逻辑部分。

    在上一节,我们介绍了如何让按钮响应点击操作,但是并没有接受任何参数,而且只是在控制台输出。但是,上一节中说明了并不能通过正常的方式进行传参。因此,对于传参,有两种解决方案,一种是使用lambda,还有一种是使用functool.partial。在接下来的环节中我们会使用partial。

    partial的用法如下所示:

    partial(function, arg1, arg2, ......)
    

    既然使用partial传参,那么我们就要在程序(main.py)的头部加上下面这行。

    from functools import partial
    

    然后我们把上一节中的按钮触发那行代码修改成下面这样。

    ui.pushButton.clicked.connect(partial(convert, ui))
    

    3)编写convert函数

    首先,我们要获取用户输入的数字。为了使得教程简洁易懂,我们这次只讲解单向的汇率转换。既然是单项的转换,那么我们只需要获取左侧的文本框id。在本例中,左侧的文本框id为lineEdit。如果你对此感到一头雾水,请停下并回头复习。

    获取文本使用的是text()方法,因此读取用户输入的代码如下

    input = ui.lineEdit.text()
    

    接着我们进行汇率转换,注意这里要进行类型转换

    result = float(input) * 6.7
    

    最后我们让右边的文本框显示结果

    ui.lineEdit_2.setText(str(result))
    

    下面是convert函数的代码

    def convert(ui):
        input = ui.lineEdit.text()
        result = float(input) * 6.7
        ui.lineEdit_2.setText(str(result))
    

    一个简单的汇率转换器就这样诞生了!

    那么,如何知道一个组件都有什么方法呢?直接去Qt官方文档查看就可以了。本节使用到的lineEdit的相关方法在这里

    0x06 threading

    1)前言

    这几天在用PyQt5写东西的时候遇到这样一个问题,网上资料也特别少,我感觉值得拿出来说一说。

    我的程序中使用了threading模块,GUI作为主线程去启动负责逻辑处理的子线程。其中,我设计的GUI里头有一个日志框,用来代替终端显示各种日志输出。既然子线程是负责逻辑处理,那么想当然的就会直接在子线程操作GUI的显示。

    都说了想当然,那当然不行咯,在子线程对GUI操作的时候,终端会出现下面这个错误,但是程序又不会马上闪退。

    QObject::connect: Cannot queue arguments of type 'QTextCursor'
    (Make sure 'QTextCursor' is registered using qRegisterMetaType().)
    

    更让人摸不着头脑的是,过一阵子闪退的时候,会出现下面这句话:

    段错误,核心已转储
    

    这啥玩意儿?能说人话么?一番搜索之后,发现这个原来英语叫做“Segmentation fault (core dumped)”。

    "Segmentation fault"用人话来说大概就是“你尝试访问你无法访问的内存”。

    然后我把上面的报错信息搜索了下,发现之前有人在StackOverflow问过,但是答案牛头不对马嘴,不过倒是在评论区发现了大佬的留言。

    It is likely that the asker was not actually directly using QTextCursor, but rather using GUI code from a thread that was not the GUI thread. Attempting this seems to result in this error arising from Qt-internal code, e.g. for QTextEdit.append()
    

    简而言之,就是说虽然报错显示QTextCursor,但是实际上是在其它线程通过Qt内部的方法间接调用了这个东西。

    热心大佬还留了个链接,我跟过去看了,收获不少。

    It appears you're trying to access QtGui classes from a thread other than the main thread. Like in some other GUI toolkits (e.g. Java Swing), that's not allowed.
    
    Although QObject is reentrant, the GUI classes, notably QWidget and all its subclasses, are not reentrant. They can only be used from the main thread.
    

    这个终于说到点子上了,一句话总结就是子线程不能调用主线程的QtGui类。

    所以大佬给出的方案如下:

    A solution is to use signals and slots for communication between the main thread (where the GUI objects live) and your secondary thread(s). Basically, you emit signals in one thread that get delivered to the QObjects via the other thread.
    

    大概翻译下,就是说可以通过信号和槽来完成子线程跟GUI所在的主线程的通信,就是通过在子线程释放信号,传递到主线程的槽来完成。

    可惜的是,大佬并没有给出示例代码,那接下来就是动手实践了。

    2)实践

    首先我们在子线程的代码中创建一个对象,并且继承QObject(因为需要释放信号)。

    class UpdateLog(QObject):
        update_signal = pyqtSignal()
     
        def __init__(self):
            QObject.__init__(self)
     
        def update(self):
            self.update_signal.emit()
    

    update_signal = pyqtSignal()就是使用Signal类来创建一个自定义的信号。

    self.update_signal.emit()就是当条件满足的时候,子线程可以调用UpdateLog类的update方法,就会发出信号。

    做完这些之后,主线程中别忘了连击信号和槽,比如self.afk.utils.logger.update_signal.connect(self.write_log)。然后现在再尝试运行程序,就没有任何问题了。

    不仅如此,其实其它需要共享的信息,也可以通过自定义信号和槽来传递。

    那么,现在就可以愉快的在PyQt程序中使用threading模块了。

    0x0? 小结

    本文只是抛砖引玉,上面这些只是PyQt5的入门内容。不过学会了简单的交互方法,其它的也差不多能依葫芦画瓢做出来。

    本文中设计的程序在/assets/code/pyqt5中。

    那么,就先写到这里了!

    0xff Info

    我不是大佬,不是CS专业的,水平相对比较菜,只是一个对计算机感兴趣的业余爱好者,在这方面基本上是自学成才,毕竟兴趣是第一生产力嘛~

    我的GitHub

    其中这个tree项目的GitHub Page就放了些乱七八糟的自学笔记,有到处搜刮的也有原创的。有帮助的话不如给我这个tree项目点个星呗(手动滑稽)。

    展开全文
  • Go入门教程

    万次阅读 多人点赞 2018-01-19 10:06:11
    本人录制的Go入门视频 go语言开发实战:https://pan.baidu.com/s/1bqOR9qZ Go语言GUI编程:https://pan.baidu.com/s/13yoUhqEUyrT_9bpi7K0rYQ 基础编程 01、Go语言介绍 02、环境搭建 03、第一个Go程序 04、...

    基础编程

    01、Go语言介绍
    02、环境搭建
    03、第一个Go程序

    04、命名、变量、常量
    05、基础数据类型
    06、格式化输出、类型转换、类型别名
    07、运算符
    08、流程控制

    09、自定义函数
    10、递归函数、函数类型、匿名函数与闭包
    11、延迟调用defer
    12、获取命令行参数
    13、作用域

    14、包
    15、工程管理

    复合类型

    类型 名称 长度 默认值 说明
    pointer 指针 nil
    array 数组 0
    slice 切片 nil 引⽤类型
    map 字典 n il 引⽤类型
    struct 结构体



    16、指针
    17、数组
    18、slice
    19、map
    20、结构体

    面向对象

    对于面向对象编程的支持Go 语言设计得非常简洁而优雅。因为, Go语言并没有沿袭传统面向对象编程中的诸多概念,比如继承(不支持继承,尽管匿名字段的内存布局和行为类似继承,但它并不是继承)、虚函数、构造函数和析构函数、隐藏的this指针等。

    这里写图片描述

    尽管Go语言中没有封装、继承、多态这些概念,但同样通过别的方式实现这些特性:

    • 封装:通过方法实现
    • 继承:通过匿名字段实现
    • 多态:通过接口实现

    21、匿名组合
    22、方法
    23、接口
    24、异常处理(error接口、panic、recover)
    25、反射

    文本文件处理

    26、字符串处理
    27、正则表达式
    28、JSON处理
    29、文件操作

    并发编程

    30、什么是并发编程
    31、goroutine
    32、channel
    33、select

    网络编程

    34、网络概述
    35、Socket编程
    36、HTTP报文浅析
    37、HTTP编程

    20180210174507305
    展开全文
  • Python入门教程完整版(懂中文就能学会)

    万次阅读 多人点赞 2017-09-28 15:56:22
    今天本宝宝给大家带来了干货,Python入门教程完整版,完整版啊!完整版! 言归正传,我来给大家介绍一下这套教程,希望每个小伙伴都沉迷学习,无法自拔! 本套教程学习时间15天 1-3天内容:为Linux基础命令 ...

    今天本宝宝给大家带来了干货,Python入门教程完整版完整版啊!完整版!

    言归正传,我来给大家介绍一下这套教程,希望每个小伙伴都沉迷学习,无法自拔!

     

    本套教程学习时间15天

    1-3天内容:为Linux基础命令

    4-13天内容:为Python基础教程14-15 天内容:为飞机大战项目演练

    第一阶段(1-3天):

    该阶段首先通过介绍不同领域的三种操作系统,操作系统的发展简史以及Linux系统的文件目录结构让大家对Linux系统有一个简单的认识,同时知道为什么要学习Linux命令。然后我们会正式学习Linux命令

    1. 文件和目录命令:ls,cd,touch,mkdir,rm

    2. 拷贝和移动命令:tree,cp,mv

    3. 文件内容命令:cat,more,grep

    4. 远程管理命令:ifconfig,ping,SSH的工作方式简介以及ssh命令

    5. 用户权限及用户管理命令:chmod,chgrp,useradd,passwd,userdel

    6. 软件安装及压缩命令:apt简介及命令,tar,gzip压缩命令,bzip2压缩命令

    7. vim的基本使用

    第二阶段(4-10天)

    该阶段我们正式进入Python这门语言的学习,首先通过了解Python语言的起源,Python语言的设计目标,Python语言的设计哲学,Python语言的优缺点和面向对象的基本概念,以及Python语言的执行方式,还有Python集成开发环境PyCharm的使用为我们接下来的学习做铺垫。

    然后我们会学习int,string,float三种简单的变量类型,变量间的计算,变量的输入输出,if判断语句,while循环语句,for循环语句,break和continue的使用,函数的基本使用,模块的使用,列表,元组,字典三种高级变量,字符串的常用操作。

    接下来我们会通过一个名片管理系统的案例,把这一阶段的知识进行一个串联。在学习名片管理系统时,首先我们会学习怎么去搭建这一系统的框架,然后我们会分别实现新增名片,显示全部名片,查询名片,删除名片,修改名片这些功能。

    最后我们会学习语法的进阶内容,全局变量,局部变量,可变数据类型和不可变数据类型以及函数返回多个值,函数的缺省参数,多值参数,递归的基本使用。

    第三阶段(11-13天)

    该阶段我们会学习面向对象(OOP)这一重要的编程思想,首先学习的知识点有类和对象的基本概念,dir函数,self的作用,初始化方法__init__,内置函数__str__,__del__,单继承,方法重写,私有属性和方法,多继承,多态,类属性,静态方法。

    然后我们还会学习单例模式这一设计模式,异常的捕获,异常的抛出,from import局部导入,from import导入同名工具, from import导入所有工具,包的使用,制作模块,pip的使用以及文件的相关操作。

    第四阶段(14-15天)

    该阶段是项目演练阶段,我们会带领大家通过使用之前学习过的知识开发飞机大战这一经典游戏,项目中分别有游戏窗口,图像绘制,游戏循环,事件监听,精灵和精灵组以及创建敌机,创建英雄和发射子弹,碰撞检测等模块。

    需要教程的可以关注我哦~

    Python入门教程完整版(懂中文就能学会)

    http://yun.itheima.com/course/273.html?stt

    资料链接:

    https://pan.baidu.com/s/15BmUdw9AgOD2tI9xG6p1WA 提取码:w61i

     

    资源已更新,大家可以直接下载学习

    展开全文
  • oracle入门教程

    万次阅读 多人点赞 2019-07-11 14:14:02
    推荐一个Oracle入门学习教程 ... ... 在下面方框里面搜索Oracle ...第一个搜索结果就是小姐姐Oracle视频讲解课程 ...入门教程部分 永久表空间 存储数据库中需要永久化存储的对象,比如二维表、视图、存...
  • Spring Cloud 入门教程(三): 配置自动刷新 之前讲的配置管理, 只有在应用启动时会读取到GIT的内容, 之后只要应用不重启,GIT中文件的修改,应用无法感知, 即使重启Config Server也不行。 比如上一单元(Spring...
  • 前言 深度神经网络是一种目前被广泛使用的工具,可以用于图像识别、分类,物体检测,机器翻译等等。深度学习(DeepLearning)是一种学习神经网络各种参数的方法。因此,我们将要介绍的深度学习,指的是构建神经网络...
  • Python入门教程

    万次阅读 多人点赞 2019-11-08 23:35:29
    我的Python入门教程 基础语法:B站海洋饼干叔叔——Python编程基础及应用 安装及案例:B站崔庆才python3入门到精通,推荐安装anaconda,里面包含python和一些常用的包,非常方便。另外, 可使用Pycharm或者jupyter...
  • MATLAB零基础入门教程

    万人学习 2019-05-12 18:47:12
    MATLAB零基础入门教程,主要介绍数组和矩阵、数据类型和M文件设计等。很详细地介绍了MATLAB语言的基础知识。 本课程的特点是内容系统全面,条理清晰,并且内容比较新,讲了表、时间表等新的数据类型。
  • Python基础教程,Python入门教程(非常详细)

    万次阅读 多人点赞 2019-06-25 13:26:47
    第1章 Python编程基础 1.编程语言是什么 2.编译型语言和解释型语言 3.Python是什么 4.Python具有哪些特点(优点和缺点) 5.学Python,不需要有编程基础!...7.Python 2.x和Python 3.x,初学者应如何选择?...
  • SQL入门教程

    千人学习 2018-10-27 15:27:22
    本课程为 SQL 入门教程,基于最新标准 SQL: 2016,全面讲解六种主流数据库的 SQL 语句实现与差异,包括:Oracle、MySQL、SQL Server、PostgreSQL、Db2 以及 SQLite 。 本课程面向 SQL 初学者、数据库工程师/管理员、...
  • yarn详细入门教程

    万次阅读 多人点赞 2018-01-31 11:51:47
    简介 Yarn 是 Facebook, Google, Exponent 和 Tilde 开发的一款新的 JavaScript 包管理工具。就像我们可以从官方文档了解那样,它的目的是解决这些团队使用 npm 面临的少数问题,即: 1.安装的时候无法保证速度/...
  • linux使用入门教程

    万次阅读 多人点赞 2018-06-08 20:18:42
    说实话在第一次接触Linux系统时,确实很不习惯,尤其是在用了多年的Windows后,可是项目需要又不得不顶着头皮去学习了,下面就自己一点点摸索做下总结,以供后面学习。 1、安装Linux系统 由于Linux的开源性,我们...
  • 最好的MATLAB入门教程(没有之一!)

    万次阅读 多人点赞 2018-11-21 23:44:33
     这个是MathWorks公司官方提供的MATLAB入门教程,简洁明了!!!非常适合初学者,这是我迄今为止见过的最好的入门教程,没有之一!!!  如果你是初学者,我建议你花两个小时看完,...
  • labview 2013官方入门教程 入门必备

    千次下载 热门讨论 2013-05-21 21:38:12
    labview 2013官方入门教程 入门必备
  • python爬虫入门教程(二):开始一个简单的爬虫

    万次阅读 多人点赞 2017-09-12 15:02:21
    python爬虫入门教程,介绍编写一个简单爬虫的过程。
  • Navicat使用快速入门教程

    万次阅读 多人点赞 2020-05-04 18:18:32
    Navicat使用教程目录一、 连接使用1.1 连接数据库1.2 操作数据库二、 导入备份三、 查询数据四、 修改用户信息五、 其他操作5.1 查看数据库版本5.1.1 终端查看5.1.2 sql语句查看5.2 查看sql执行计划 一、 连接使用 ...
  • weUI 入门教程

    千次下载 热门讨论 2016-02-24 23:38:59
    weUI 入门教程:http://blog.csdn.net/libin_1/article/details/50734266
  • python入门教程

    千次阅读 多人点赞 2019-10-07 11:49:27
    入门教程:菜鸟教程(这个网站可以说是所有语言快速入门的必备的网站了)https://www.runoob.com/python3/python3-tutorial.html python的官方下载安装地址:https://www.cnblogs.com/panpanilu/p/7766951.html 1....
  • 这里整理了一些个人经验和Python入门教程供大家参考。 如果你是零基础入门 Python 的话,建议初学者至少达到两个目标: 会用,理解。 会用 通过 Python 入门教程,学习 Python 的语法,熟悉 Python 标准库的使用。 ...
  • Halcon 入门教程(01)

    万次阅读 多人点赞 2019-05-11 15:41:34
    Halcon 入门教程(01) 这篇教程很简单,实现的功能是计算下图中曲别针的数量和每个曲别针的朝向。主要内容是翻译自Halcon 的帮助文档 “Chapter 4 Programming HDevelop”。 使用的图像如下: 这篇教程中我们假设 ...
  • tensorflow入门教程

    千次阅读 2018-01-25 11:16:59
    TensorFlow入门教程之0: BigPicture&极速入门 TensorFlow入门教程之1: 基本概念以及理解 TensorFlow入门教程之2: 安装和使用 TensorFlow入门教程之3: CNN卷积神经网络的基本定义理解 TensorFlow...
  • 2015年最新Android基础入门教程目录(完结版)

    万次阅读 多人点赞 2015-11-23 20:48:12
    2015年最新Android基础入门教程目录(完结版) 前言: 关于《2015年最新Android基础入门教程目录》终于在今天落下了帷幕,全套教程 共148节已编写完毕,附上目录,关于教程的由来,笔者的情况和自学心得,资源分享 ...
  • autoware入门教程

    2019-11-05 10:45:43
    点击即可打开链接:autoware入门教程
  • TensorFlow入门教程集合

    千次阅读 2017-04-26 16:30:13
    TensorFlow入门教程之0: BigPicture&极速入门TensorFlow入门教程之1: 基本概念以及理解TensorFlow入门教程之2: 安装和使用TensorFlow入门教程之3: CNN卷积神经网络的基本定义理解TensorFlow入门教程之4: 实现一个...
  • C#入门教程

    千次阅读 2020-01-24 01:08:47
    title: C#语言入门教程 description: 这是一份C#入门的教程 date: 2020-01-23 tags: 编程语言 前言 这是一份C#入门的教程。这本质上是我大三寒假的时候学习C#语言的时候的一份笔记。所以要看这篇blog的时候需要有...
  • idea的安装使用快速入门教程

    万次阅读 多人点赞 2020-05-04 01:39:26
    IDEA安装使用教程一、 下载安装IDEA1.1 安装IDEA二、 IDEA安装目录的结构介绍三、 IDEA快速入门四、 创建package、class五、 IDEA面板介绍 一、 下载安装IDEA 简介:IDEA的安装过程,永久使用。 1.1 安装IDEA 官网...
  • ExtJs 入门教程

    万次阅读 2015-06-12 10:22:00
    ExtJs 入门教程 ExtJs 入门教程一[学习方法] ExtJs 入门教程二[Hello World] ExtJs 入门教程三[窗体:Window组件] ExtJs 入门教程四[表单:FormPanel] ExtJs 入门教程五[文本框:TextField] ExtJs 入门...
  • Eclipse使用入门教程

    万次阅读 多人点赞 2016-03-05 11:44:21
    Eclipse使用入门教程 说起java的IDE,朗朗上口的无非是Eclipse了,假若能熟练Eclipse,对于我们编写java程序会起到事半功倍的效果,大大提高我们工作效率。因此本篇博文,笔者只是针对刚刚入门java的新手,以便他们...
  • Jupyter notebook入门教程(上)

    万次阅读 多人点赞 2017-06-04 17:44:11
    本文将分上下两部分简单介绍Jupyter notebook的入门教程,英文原文出处:Getting started with the Jupyter notebook(part 1)Jupyter notebook(又称IPython notebook)是一个交互式的笔记本,支持运行超过40种编程...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 125,419
精华内容 50,167
关键字:

入门教程