为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Pycharm中使用GitHub,一文带你深入

标签:
Python

Pycharm是当前进行Python开发,尤其是Django开发最好的IDE,GitHub是程序员的圣地,几乎人人都在用,就不详细介绍两者了。

本文假设你对Pycharm和Github都有一定的了解,并且希望在Pycharm下直接使用Github的版本控制功能。

废话不多说,下面图文详解,全是干货。

环境:Pycharm + git2.8 + github账户 + windows7/10

一、配置Pycharm

webp

不管你用哪种方法,进入Pycharm的配置菜单。

webp

选择上图中的version control。(这里插一句,不管有多难,在程序员的世界,请不要汉化,坚持使用英文原版)

webp

按照图中所示,配置好github相关内容。没有github的同学,建议你自己前往官网注册,而不要通过Pycharm的快速注册通道。

webp

这一步很关键,很多同学配置完github就直接开始使用了,结果却是各种错误。

这是因为,除了配置github外还要配置本地的git软件。Github的配置只是告诉了Pycharm你的账号和密码,Pycharm还不知道如何进行版本控制操作,它底层还是需要调用git的功能的。

因此,请提前下载并安装git程序到你的本机。 Windows中,可以使用Git-2.8.1-64-bit,请自行百度下载并安装,然后设置。

二、建立远程仓库并提交代码

配置完了,就可以正常使用了,点击顶部菜单栏的VCS选项。

webp

在import into version control 下就有一个在github中共享项目的栏目了,点击进去。

webp

按照图中的注释,建立一个新的仓库,点击share按钮。

webp

在这里,可以选择你要上传的文件,一般是直接全部上传,当然也可以取消那些没必要的或者是与设置和密码相关的保密文件。输入提交信息,点击OK确认。等待片刻,根据你的网络情况和文件大小,Pycharm将文件传输给github,成功后会弹出小的提示

消息,这就大功告成了。很简单吧?!

三、在Github中查看上传的新仓库

进入github官网,登录自己的账号:

webp

图中红框是我们刚才通过Pycharm建立的新仓库,点击进去,可以看到如下图,整个项目的所有文件都在里面:

webp

四、使用Pycharm克隆Github仓库

前面说的是上传,要下载呢?在VCS菜单中:

webp

根据上图红框选择。

webp

输入密码。

webp

Pycharm会登录你的Github账户,读取你的仓库信息,你可以从下拉框中选择仓库,也可以在directory name框内直接输入仓库名。点击clone,Pycharm就自动下载仓库内容了。

五、在Pycharm内进行git的相关操作

以上只是commit和clone的操作,具体的push,add,status等git常用操作都在CVS菜单里可以找得到,相信具有git基础的同学一看就会,这里就不介绍了。

webp

文末知识点摘要:Python类中的方法是如何工作的?

在OO(面向对象)编程中,类中的方法有多种形式:实例方法、静态方法、类方法、甚至还可以有抽象方法,本文来说说实例方法在Python中是如何工作的,后面再来谈其他方法。

先来定义一个最简单类:

webp

这里的 eat 就是一个实例方法,跟普通函数差不多,唯一的不同是必须指定一个参数 self,尽管名字可以任意命名,但约定俗成的叫 self,self 是什么?它代表Person类的实例对象,就像Java中的this一样,看下面的测试代码。

webp

p与self指向同一个实例对象

webp

那么可不可以通过类直接调用呢?不行!

webp

那为什么通过实例p调用eat方法不需要传递self参数呢?这个就要从函数与方法的区别说起。来看看下面的代码:

webp

前者是函数,后者是方法,有人说函数定义在类外面,方法定义在类里面,显示这种说法不全面,那么他们的区别在哪里?

首先方法是与某个对象相关联的,而函数则不是,p.eat 就是一个绑定了实例对象的方法,函数的所有参数都需要显示地传递,而方法中的数据是隐式传递的。Person.eat是函数,参数要显示地传递,Person.eat(p)

而方法因为绑定了实例对象,所以他调用的时候无需再传递实例对象了,直接调用p.eat()就可以了,self参数Python会自动传递过去,如果重复传递会报错。

webp

所以,本质上

webp

那么对于实例方法,self 参数从语言设计的角度来说,是不是可以去掉呢,这个问题 Python 之父 Guido van Rossum 撰文解释过这件事,理由是 “Explicit is better than implicit”

本篇文章的分享就到此结束,部分素材来源网络,如有侵权请联系删除。



作者:菜鸟Python
链接:https://www.jianshu.com/p/52a266648842


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消