之前和同事谈到Python,每次下班后跑步都是在听他说,例如Python属于“胶水语言啦”,属于“解释型语言啦!”,是“面向对象的语言啦!”,另外没有数据类型,逻辑全靠空格缩进表示等。

今天自己用了60分钟快速学习了下Python的语法。和大家分享下,也算是自己这一个小时的学习总结吧!

 

第一步:开发环境搭建:

PyCharm 4.5.4

下载地址:http://www.jetbrains.com/pycharm/download/

支持多种类型的操作系统,我这次是在Window 7 上安装的。

下载后,傻瓜式的Next即可。

需要的插件(在PyCharm中集成的引擎),也就是Python下载地址

https://www.python.org/downloads/release/python-2710/

这里需要注意的是如果你先安装的PyCharm开发工具,然后才安装了Python,那么需要重启下PyCharm软件,让他自己去找你安装的Python作为项目环境支持。别担心,他可以自动获取。

创建好项目后,就可以开工了。

先上一张图

上图一个文件对应一个Python语法块

当在项目下创建一个包后,就会默认创建一个_init_.py(别小看他,后面会说我是怎么被他坑的)。

 

第一个Python功能:初识Python

这个案例主要说两件事情:

01.PyCharm环境中如何支持中文。

操作方案:

点开菜单栏的第一项“File”→“Settings”,然后做如下图的设置

这里注意一个问题,如果当前Project Encoding中设置的编码为”UTF-8”,那么在我们自己的项目文件中,必须设置成UTF-8,否则会出现乱码。当然,如果你Project Encoding中设置的编码为”gb2312”,那么项目文件中的编码也得设置成”gb2312”

 

02.Python中定义变量不需要数据类型

有了基本的变量基础,接下来我们就可以讨论分支了。这也是学习任何一门语言的套路,

变量

分支结构

循环结构

数组

方法定义

类定义

继承和多态

导入包或者命名空间

那么接下来我们讨论分支结构

# coding=utf-8
__author__ = 'Happy'
score=90
if(score>=90):
print("你真棒")
elif(score>=80):
print("优秀")
elif(score>=60):
print("良好")

解析:没错,Python中没有{},用:表示代码块,然后就是语句结束不用分号。完全通过缩进表示逻辑

03.循环结构

# coding=utf-8
__author__ = 'Happy'
for i in range(0,3):
print(i)
print("end")

解析;看到没,for循环的语法是这样的,怎么区分”end”只被输出一次呢??可以通过缩进。对的。又是缩进。

 

03.在Pythod中定义方法

#coding=utf-8
__author__ = 'Happy'
def SayHello():
print("Hello")
# 调用方法
SayHello()

解析:就是用def作为前缀,和js差不多对吧!,呵呵!@

然后还是通过:作为方法的代码块

方法调用直接通过方法名调用就OK!这个例子中可以看出用# 内容的方式书写Python中的注释。

 

04.在Python中书写自己的类

#coding=utf-8
__author__ = 'Happy'
class Dog:
def __init__(self,name):
self.name=name
def Eat(self):
print("hello,{0}".format(self.name))
F=Dog("豆豆")
F.Eat()

解析:没错,定义自己的构造就是def _init_(self,参数列表),然后不用事先形成类的成员变量,即可用self.属性,呵呵是不是很强大。这里需要注意,不要将_init_写成  _int_(血的教训啊),然后创建对象,也不用new 关键字。直接构造就Ok。呵呵!@

05.Python中继承和导入外部类的解决方案

# coding=utf-8
__author__ = 'Happy'
class FirstTest:
def __init__(self,name):
self.name=name
print("First,{0}".format(self.name))
def FirstMM(self):
print("Parent Method")
class SecondTest(FirstTest):
def __init__(self,name):
        FirstTest.__init__(self,name)
def SecondMM(self):
print(self.name)
S=SecondTest("happy")
S.FirstMM()
S.SecondMM()
#导入 Teacher.py文件中的GoodTeacher类
from Teacher import  GoodTeacher
GT=GoodTeacher()
GT.Eat()

Teacher.py文件内容如下

# coding=utf-8
__author__ = 'Happy'
class GoodTeacher:
def __init__(self,name):
self.name=name
def Eat(self):
print("Eat something")

解析:没错,继承只需要在第二个类定义时加上(父类名称)即可,然后在子类构造中的方法体中再调用父类构造就OK。和Java和C#差不多啊!

导入外部类的方法就是 from  文件(不要后缀) import 文件中的类名

接下来就可以使用外部的类中成员了。

呵呵!

好了,刚好一节课了。

最后说下在vs2013中也是可以配置Python的开发环境的。

这里就简单的贴张图作为收尾,也算是对发哥有个交代了。可以说发哥我简单了解了Python的语法规则了。

60分钟Python快速学习的更多相关文章

  1. 60分钟Python快速学习(给发哥一个交代)

    60分钟Python快速学习 之前和同事谈到Python,每次下班后跑步都是在听他说,例如Python属于“胶水语言啦”,属于“解释型语言啦!”,是“面向对象的语言啦!”,另外没有数据类型,逻辑全靠空 ...

  2. 60分钟Python快速学习(转)

    60分钟Python快速学习(给发哥一个交代) 阅读目录 第一步:开发环境搭建: 第一个Python功能:初识Python 02.Python中定义变量不需要数据类型 03.在Pythod中定义方法 ...

  3. 转: Vue.js——60分钟组件快速入门(上篇)

    转自: http://www.cnblogs.com/keepfool/p/5625583.html Vue.js——60分钟组件快速入门(上篇)   组件简介 组件系统是Vue.js其中一个重要的概 ...

  4. Python快速学习01:Eclipse上配置PyDev & 'Hello World !'

    前言 系列文章:[传送门] 答应了Vamei,帮他传文章,Python,顺自己学学. 很喜欢这种黏黏的语言 突然发现--我用的GoAgent(谷歌FQ软件),竟然是Python编的. 简介 Pytho ...

  5. Python快速学习10: 循环的对象及设计 (生活的规律)

    前言 系列文章:[传送门] 生活逐渐规律,按时睡觉.今天写博客,明天补时间看会书.慢慢的时间很珍惜 我很喜欢! 时钟就像个循环体,我们将它融入生活. 正文 循环对象的并不是随着Python的诞生就存在 ...

  6. Python快速学习04:循环 & 函数

    前言 系列文章:[传送门] 也就今天认识了 LC ,很开心. 本文目录 循环 for while 中断 函数 函数定义 函数调用 for循环 Python 中的for 循环象shell 脚本里的for ...

  7. Vue.js——60分钟组件快速入门(上篇)

    组件简介 组件系统是Vue.js其中一个重要的概念,它提供了一种抽象,让我们可以使用独立可复用的小组件来构建大型应用,任意类型的应用界面都可以抽象为一个组件树: 那么什么是组件呢?组件可以扩展HTML ...

  8. Vue.js——60分钟组件快速入门

    一.组件简介 组件系统是Vue.js其中一个重要的概念,它提供了一种抽象,让我们可以使用独立可复用的小组件来构建大型应用,任意类型的应用界面都可以抽象为一个组件树: 那么什么是组件呢?组件可以扩展HT ...

  9. Python快速学习09: 函数的参数

    前言 系列文章:[传送门] 继续干起来!! 正文 我们已经接触过函数,函数是可以被引用的(访问或者以其他变量作为其别名),也作为参数传入函数,以及作为列表和字典等等容器对象的元素(function)的 ...

随机推荐

  1. myeclipse出现Failed to load JavaHL Library.

    eclipse启动出现如图的状况: 解决方法: Window-Preferences-Team-SVN,在SVN接口的下拉框可以看到,默认选择的是JavaHL(JNI) Not Available,手 ...

  2. iOS Development Sites

    iOS Development Sites   学习iOS开发有一段时间了,虽然还处于迷茫期,但相比以前的小白痴状态,现在还是蛮有改观的.期间接触了一些很好的网站和博客,现在摘录下来,就当建个索引,没 ...

  3. getHiddenProp() 浏览器状态切换改变

    <script> function getHiddenProp() { var prefixes = ['webkit', 'moz', 'ms', 'o']; // if 'hidden ...

  4. buf.swap16()

    buf.swap16() 返回:{Buffer} 将 Buffer 解释执行为一个16位的无符号整数数组并以字节顺序交换到位.如果 Buffer 的长度不是16位的倍数,则抛出一个 RangeErro ...

  5. PHP:POST OR GET 请求

    文章来源:http://www.cnblogs.com/hello-tl/p/7685216.html /** * 模拟提交参数,支持https提交 可用于各类api请求 * @param strin ...

  6. LeetCode(29)Divide Two Integers

    题目 Divide two integers without using multiplication, division and mod operator. If it is overflow, r ...

  7. ACdream 1063 字典树

    ACdream 1063 字典树 平衡树 神奇的cxlove有一颗平衡树,其树之神奇无法用语言来描述 OrzOrz. 这棵树支持3种操作: 1.加入一个数到树中,维护平衡树的合法性: 2.给一个数X, ...

  8. TCP传输的三次握手四次挥手策略

    为了准确无误地数据送达目标处,TCP协议采用了三次握手策略.用TCP协议把数据包送出去后,TCP不会对传送后的情况置之不理,它一定会向对方确认是否成功送达.握手中使用了TCP的标志:SYN和ACK 发 ...

  9. Unity 3D 使用TerrainCompose 调用RTP 报错:

    Unity 3D:5.2 version TerrainCompose:1.92 version RTP:3.2d version Unity 3D  使用TerrainCompose 调用RTP 报 ...

  10. Leetcode 153.寻找旋转数组中的最小值

    寻找旋转数组中的最小值 假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] ). 请找出其中最小的元素. ...