相信初学Cocos2D者对Python还不熟悉,今天本篇教程带你快速入门,一小时学会Python。

1、为什么使用Python

假设我们有这么一项任务:简单测试局域网中的电脑是否连通.这些电脑的ip范围从192.168.0.101到192.168.0.200.

思路:用shell编程.(Linux通常是bash而Windows是批处理脚本).例如,在Windows上用pingip的命令依次测试各个机器并得到控制台输出.由于ping通的时候控制台文本通常是"Replyfrom..."而不通的时候文本是"timeout...",所以,在结果中进行字符串查找,即可知道该机器是否连通.

实现:java代码如下:

这段代码运行得很好,问题是为了运行这段代码,你还需要做一些额外的工作.这些额外的工作包括:

编写一个类文件

编写一个main方法

将之编译成字节代码

由于字节代码不能直接运行,你需要再写个小小的bat或者bash脚本来运行.

当然,用C/C++同样能完成这项工作.但C/C++不是跨平台语言.在这个足够简单的例子中也许看不出C/C++和Java实现的区别,但在一些更为复杂的场景,比如要将连通与否的信息记录到网络数据库.由于Linux和Windows的网络接口实现方式不同,你不得不写两个函数的版本.用Java就没有这样的顾虑.

同样的工作用Python实现如下:

对比Java,Python的实现更为简洁,你编写的时间更快.你不需要写main函数,并且这个程序保存之后可以直接运行.另外,和Java一样,Python也是跨平台的.

有经验的C/Java程序员可能会争论说用C/Java写会比Python写得快.这个观点见仁见智.我的想法是当你同时掌握Java和Python之后,你会发现用Python写这类程序的速度会比Java快上许多.例如操作本地文件时你仅需要一行代码而不需要Java的许多流包装类.各种语言有其天然的适合的应用范围.用Python处理一些简短程序类似与操作系统的交互编程工作最省时省力.

Python应用场合

足够简单的任务,例如一些shell编程.如果你喜欢用Python设计大型商业网站或者设计复杂的游戏,悉听尊便.

2、快速入门

2.1Helloworld

安装完Python之后(我本机的版本是2.5.4),打开IDLE(PythonGUI),该程序是Python语言解释器,你写的语句能够立即运行.我们写下一句著名的程序语句:

print"Hello,world!"

并按回车.你就能看到这句被K&R引入到程序世界的名言.

在解释器中选择"File"--"NewWindow"或快捷键Ctrl+N,打开一个新的编辑器.写下如下语句:

保存为a.py文件.按F5,你就可以看到程序的运行结果了.这是Python的第二种运行方式.

找到你保存的a.py文件,双击.也可以看到程序结果.Python的程序能够直接运行,对比Java,这是一个优势.

2.2国际化支持

我们换一种方式来问候世界.新建一个编辑器并写如下代码:

在你保存代码的时候,Python会提示你是否改变文件的字符集,结果如下:

将该字符集改为我们更熟悉的形式:

程序一样运行良好.

2.3方便易用的计算器

用微软附带的计算器来计数实在太麻烦了.打开Python解释器,直接进行计算:

2.4字符串,ASCII和UNICODE

可以如下打印出预定义输出格式的字符串:

字符串是怎么访问的?请看这个例子:

请注意ASCII和UNICODE字符串的区别:

2.5使用List

类似Java里的List,这是一种方便易用的数据类型:

2.6条件和循环语句

2.7如何定义函数

并且,介绍一个方便好用的函数:

2.8文件I/O

2.9异常处理

2.10类和继承

2.11包机制

每一个.py文件称为一个module,module之间可以互相导入.请参看以下例子:

module可以定义在包里面.Python定义包的方式稍微有点古怪,假设我们有一个parent文件夹,该文件夹有一个child子文件夹.child中有一个modulea.py.如何让Python知道这个文件层次结构?很简单,每个目录都放一个名为_init_.py的文件.该文件内容可以为空.这个层次结构如下所示:

那么Python如何找到我们定义的module?在标准包sys中,path属性记录了Python的包路径.你可以将之打印出来:

通常我们可以将module的包路径放到环境变量PYTHONPATH中,该环境变量会自动添加到sys.path属性.另一种方便的方法是编程中直接指定我们的module路径到sys.path中:

总结

你会发现这个教程相当的简单.许多Python特性在代码中以隐含方式提出,这些特性包括:Python不需要显式声明数据类型,关键字说明,字符串函数的解释等等.我认为一个熟练的程序员应该对这些概念相当了解,这样在你挤出宝贵的一小时阅读这篇短短的教程之后,你能够通过已有知识的迁移类比尽快熟悉Python,然后尽快能用它开始编程.

当然,1小时学会Python颇有哗众取宠之嫌.确切的说,编程语言包括语法和标准库.语法相当于武术招式,而标准库应用实践经验则类似于内功,需要长期锻炼.Python学习了Java的长处,提供了大量极方便易用的标准库供程序员"拿来主义".(这也是Python成功的原因),在开篇我们看到了Python如何调用Windowscmd的例子,以后我会尽量写上各标准库的用法和一些应用技巧,让大家真正掌握Python.

但不管怎样,至少你现在会用Python代替繁琐的批处理写程序了.希望那些真的能在一小时内读完本文并开始使用Python的程序员会喜欢这篇小文章,谢谢!

python cocos2d新手教程_初学者必备!超详细Python基础入门教程相关推荐

  1. 超详细的MySQL入门教程(四)

    MySQL:简单的增删改查 查询数据 基本语法介绍 打印任意值 查询表中全部数据 查询表中部分字段 限定条件查询 例1:查询编号值小于指定值的记录 例2:查询地址不等于某值的记录 例3:查询一级地址等 ...

  2. 超详细的cmake入门教程【转载】

    这篇文章主要介绍了超详细的cmake入门教程,需要的朋友可以参考下 源出处 超详细的cmake入门教程 什么是cmake 在 linux 平台下使用 CMake 生成 Makefile 并编译的流程 ...

  3. linux入门_Linux超详细0基础入门篇(一)

    首先要感谢大康老师对我在Linux操作系统上的教导. 今天来讲一下用途广泛的Linux的基础入门教程 仅仅是做入门使用,如果想更加深入的学习那就需要自己做探索了. 本次例子使用的是kali linux ...

  4. 生日祝福小程序_广告配音剪映零基础入门教程第二十六篇:如何给朋友制作生日祝福视频...

    经常听到小伙伴问到生日祝福视频怎么做,当然我想既然要为他人做生日祝福视频,那么这个人必定是自己身边比较重要的人,而生日又是每个人都是非常重要的,在这种充满意义的时刻,我们想给自己极其重要的人送上一份祝 ...

  5. hadoop安装详细步骤_推荐一个超详细的Hadoop安装教程,已有32万次阅读

    安装Hadoop软件系列,首选Linux系统,比如Ubuntu.如果你的系统是Windows,建议再安装一个Ubuntu,组成双系统,如此可以发挥各自系统的特点. 使用U盘制作一个系统,拿出一块分区用 ...

  6. 超强、超详细Redis数据库入门教程

    这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 [本教程目录] 1.redis是什么 2.redis的作者何许人也 3.谁在使用r ...

  7. python教程5小时完整版_Python零基础入门教程5小时完整版(北京理工大2020年版)

    这是面向零基础人群的Python教程,通过5个小时的学习,你能够了解Python的基础语法,并且编写100行左右的代码来解决日常生活中遇到的问题. 每个章节学练结合.先讲解Python的基础知识,然后 ...

  8. 超详细的TypeScript入门教程!

    在看这篇文章之前,我是强烈推荐TypeScript 入门教程这本书的.因为这本书它是:从 JavaScript 程序员的角度总结思考,循序渐进的理解TypeScript.文章来源也是该书,但听我一句话 ...

  9. 最适合Java初学者学习的Java零基础入门教程

    各种各样的编程语言不断崛起,但唯有Java是牢牢占据着老大的位置,目前几乎90%以上的大中型互联网应用系统在服务器端开发首选Java. 因此,也是吸引了不少年轻人投入到Java的学习之中. 所以,今天 ...

最新文章

  1. 轻量级mysql服务_Navicat连接阿里云轻量级应用服务器mysql
  2. python bs4 find_all_BeautifulSoup中的find,find_all
  3. C语言程序设计有哪几种结构,第章c语言程序设计的三种基本结构.ppt
  4. Swift3.0语言教程字符串与文件的数据转换
  5. Maven快照机制(SNAPSHOT)
  6. 等价类划分应用的扩展
  7. 操作系统 VS 编程语言 UNIX VS C语言
  8. Java Stream API性能测试
  9. stm32cubeide外部中断_【STM32】HAL库 STM32CubeMX教程三----外部中断(HAL库GPIO讲解)
  10. java日历类add方法_Java日历setFirstDayOfWeek()方法与示例
  11. flutter listview 滚动到底部_??一个高颜值Flutter版WanAndroid客户端
  12. SpringBoot测试失败并报错: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration
  13. jsp内置对象作业3-application用户注册
  14. 为什么要编写轻量级的View Controller??
  15. UI自动化测试工具-AirTest
  16. 818释放规模效能,苏宁易购全场景智慧零售迈上新台阶
  17. 偏微分方程数值求解 -- ING
  18. 发现了个神奇的图片压缩工具
  19. deb文件如何安装(安装文件管理器)
  20. 64位win7下Android SDK Manager闪退的解决方法

热门文章

  1. 苹果MAC电脑怎么只装WIN7系统
  2. php mysql 自动重连_PHP连接MySql闪断自动重连的方法
  3. 从智能产品防丢器看中外差别
  4. JAVA毕设项目幼儿早教系统软件设计与实现(Vue+Mybatis+Maven+Mysql+sprnig+SpringMVC)
  5. 易中天品三国之---海纳百川天下归心
  6. EM算法:三硬币模型
  7. 织梦mysql安装教程_新手教程:DedeCmsV5.7 SP1详细安装步骤(2)
  8. Java Web入门项目之“网络交友”的设计与实现
  9. 【机器学习】支持向量机实战项目:水果分类器优化
  10. GeoServer发布高清卫星瓦片影像数据