Pycharm是当前进行Python开发,尤其是Django开发最好的IDE,GitHub是程序员的圣地,几乎人人都在用,就不详细介绍两者了。
本文假设你对Pycharm和Github都有一定的了解,并且希望在Pycharm下直接使用Github的版本控制功能。
废话不多说,下面图文详解,全是干货。
环境:Pycharm + git2.8 + github账户 + windows7/10
一、配置Pycharm
不管你用哪种方法,进入Pycharm的配置菜单。
选择上图中的version control。(这里插一句,不管有多难,在程序员的世界,请不要汉化,坚持使用英文原版)
按照图中所示,配置好github相关内容。没有github的同学,建议你自己前往官网注册,而不要通过Pycharm的快速注册通道。
这一步很关键,很多同学配置完github就直接开始使用了,结果却是各种错误。
这是因为,除了配置github外还要配置本地的git软件。Github的配置只是告诉了Pycharm你的账号和密码,Pycharm还不知道如何进行版本控制操作,它底层还是需要调用git的功能的。
因此,请提前下载并安装git程序到你的本机。 Windows中,可以使用Git-2.8.1-64-bit,请自行百度下载并安装,然后设置。
二、建立远程仓库并提交代码
配置完了,就可以正常使用了,点击顶部菜单栏的VCS选项。
在import into version control 下就有一个在github中共享项目的栏目了,点击进去。
按照图中的注释,建立一个新的仓库,点击share按钮。
在这里,可以选择你要上传的文件,一般是直接全部上传,当然也可以取消那些没必要的或者是与设置和密码相关的保密文件。输入提交信息,点击OK确认。等待片刻,根据你的网络情况和文件大小,Pycharm将文件传输给github,成功后会弹出小的提示
消息,这就大功告成了。很简单吧?!
三、在Github中查看上传的新仓库
进入github官网,登录自己的账号:
图中红框是我们刚才通过Pycharm建立的新仓库,点击进去,可以看到如下图,整个项目的所有文件都在里面:
四、使用Pycharm克隆Github仓库
前面说的是上传,要下载呢?在VCS菜单中:
根据上图红框选择。
输入密码。
Pycharm会登录你的Github账户,读取你的仓库信息,你可以从下拉框中选择仓库,也可以在directory name框内直接输入仓库名。点击clone,Pycharm就自动下载仓库内容了。
五、在Pycharm内进行git的相关操作
以上只是commit和clone的操作,具体的push,add,status等git常用操作都在CVS菜单里可以找得到,相信具有git基础的同学一看就会,这里就不介绍了。
文末知识点摘要:Python类中的方法是如何工作的?
在OO(面向对象)编程中,类中的方法有多种形式:实例方法、静态方法、类方法、甚至还可以有抽象方法,本文来说说实例方法在Python中是如何工作的,后面再来谈其他方法。
先来定义一个最简单类:
这里的 eat 就是一个实例方法,跟普通函数差不多,唯一的不同是必须指定一个参数 self,尽管名字可以任意命名,但约定俗成的叫 self,self 是什么?它代表Person类的实例对象,就像Java中的this一样,看下面的测试代码。
p与self指向同一个实例对象
那么可不可以通过类直接调用呢?不行!
那为什么通过实例p调用eat方法不需要传递self参数呢?这个就要从函数与方法的区别说起。来看看下面的代码:
前者是函数,后者是方法,有人说函数定义在类外面,方法定义在类里面,显示这种说法不全面,那么他们的区别在哪里?
首先方法是与某个对象相关联的,而函数则不是,p.eat 就是一个绑定了实例对象的方法,函数的所有参数都需要显示地传递,而方法中的数据是隐式传递的。Person.eat是函数,参数要显示地传递,Person.eat(p)
而方法因为绑定了实例对象,所以他调用的时候无需再传递实例对象了,直接调用p.eat()就可以了,self参数Python会自动传递过去,如果重复传递会报错。
所以,本质上
那么对于实例方法,self 参数从语言设计的角度来说,是不是可以去掉呢,这个问题 Python 之父 Guido van Rossum 撰文解释过这件事,理由是 “Explicit is better than implicit”