跳转到内容

选择你自己的Python冒险/旧目录页

来自维基教科书,开放的书籍,开放的世界

本书是双城ExCo(实验学院)课程比特与字节:编程入门的课程教材。

你认为程序员天生就手持键盘吗?程序员是后天造就的,不是天生的——你也可以和最优秀的程序员一样编码。如果你有兴趣打破编程周围的障碍和神秘面纱,加入我们!在一个轻松、无压力的环境中学习编码。

你的辅导员,Gregg 和 Amanda,来自非传统的编程背景,曾经也是新手。我们对精英技术宅、男性至上主义和宅男优越感毫无耐心。

我们的主要项目是一个网络应用程序,它允许你玩自己编写的“选择你自己的冒险”游戏!(例如:http://cyoa.lind-beil.net/)。

所有教学都使用 Python 语言,这是一种免费的、开源的、跨平台的、功能强大且易于学习的语言。我们将帮助你入门,每周介绍新的概念。会有动手练习、充足的提问时间和一个松散的结构。黑客精神关乎解放和民主化权力。

先决条件:能够运行或安装程序的计算机。仅在线学习也可以,但实际学习更好(你需要一台笔记本电脑,或者非常强壮的胳膊才能搬动你的台式机)。

有经验的程序员也欢迎作为学习者或导师。

请告诉我们关于移动性、神经多样性或育儿需求方面的任何要求,我们将尽力满足。

为什么是另一本Python书?

[编辑 | 编辑源代码]

我们受到以下内容的启发

Kirrily Roberts 的 OSCON 演讲Dreamwidth 的 Python vs. Ruby 死亡竞赛.

关于作者

[编辑 | 编辑源代码]

目标读者

[编辑 | 编辑源代码]

安装Python

[编辑 | 编辑源代码]

1a. Python,来自Python 网站

你需要最新的 2.x 系列(可能是 2.6.x)版本,而不是 3.x.x 版本。[1] Python 3 在某些方面有所不同(主要是在字符串方面),本课程没有涉及。

如果你更喜欢冒险,可以随意尝试页面底部的其中一个安装程序

  • ActiveState ActivePython(非开源)
  • Enthought Python Distribution(用于科学计算的商业发行版)
  • Portable Python(Python 和附加软件包,配置为从便携式设备运行)(如果你不能在系统范围内安装 Python,并且需要从 USB 驱动器、SD 卡或类似设备运行,建议使用此选项)

这些发行版包含我们不会使用的其他模块(代码包)。如果你开始认真使用 Python,安装其中一个包比逐个安装要容易得多。使用通常的 Windows 方法安装它。

1b. 测试你的 Python 安装。

   start > run > cmd  [OK]
  

这将打开一个 Windows cmd 窗口。在其中,输入python

   C:\Documents and Settings\Gregg>python
   Python 2.4.3 - [some other info, perhaps]
   >>> 'hello'
   'hello'

如果你看到类似于以下内容,那么你就可以了!

2a. 安装文本编辑器。

文字处理器,包括 Microsoft Word 及其同类软件,非常不适合编写代码,因为它们混淆了布局格式和文本。越简单越好。也就是说,记事本也不适合,因为它会自动[2]在文件名后面添加“.txt”,以及其他一些功能。

一个好的编程编辑器的关键功能

  • 语法高亮显示
  • 等宽字体
  • 多个选项卡式界面。

我们非常喜欢的一个免费(免费啤酒和开源)编辑器是 SciTE [1]。这个程序在SourceForge 上也有一个“无需安装”版本。便携式版本没有安装版本的所有功能,但功能相当强大。一个好的迹象是程序可以以不需要安装程序的形式存在。这意味着开发人员不想干扰正在运行的系统,也不想损坏任何东西,并使你能够轻松地删除该程序,如果你不喜欢它的话。

2b. 测试你的安装

双击 SciTE,或从程序菜单中选择它,或点击可执行文件,以通常的 Windows 方式操作。你应该会得到一个类似记事本的工作区。

复制粘贴以下内容:

 # here is some python code
 1 # an int
 b = 'some string'  # string
 if 2 > 1:  print "sure looks bigger"

然后,在菜单中:语言 > Python。代码应该改变颜色,各个部分(变量、整数、字符串、注释)将变成漂亮的颜色。

Mac 用户好消息!Python 作为 Mac OS 的一部分预先安装了。检查一下

  1. 在 Finder 中,导航到应用程序 -> 实用工具 -> 终端并启动终端
  2. 输入 python 并按回车键
  3. 你将看到类似于以下内容
 Python 2.6.2 (r262:71600, Apr 16 2009, 09:17:39) 
 GCC 4.0.1 (Apple Computer, Inc. build 5250)] on darwin
 Type "help", "copyright", "credits" or "license" for more information. (
 >>> print "hello"
 'hello'

你可以在 Python 命令提示符下完成很多操作,但使用文本编辑器编写更复杂的问题会更容易。TextWrangler 是 Mac 用户的一个不错的文本编辑器。从Barebones Software 网站下载它

(可选)安装ipython

Ipython 是一个 Python 包,它提供了一个更友好的命令行环境,包括语法高亮显示、历史记录以及各种调试工具和改进。从Ipython 网站下载它。

[编辑 | 编辑源代码]

PyScripter 是一款免费的 IDE(适用于 Windows)。如果您有编程经验,它与 Borland Delphi IDE 类似。您可以从 PyScipter 项目网站 下载 PyScripter。

print "Hello, world!"

运行后,您应该会看到

 "Hello, world!"

使用 Turtle 玩耍

Python 的 turtle 模块是 类似 LOGO 的语言 的一个简单重新实现。

从您的 Python 提示符

# import everything from the turtle module
# import:  make them available for use
# everything:  (mostly) everything (there are some exceptions)
# the turtle module:  a collection of functions (actions), constants,
#    and other useful stuff that is grouped into one 'space' (a namespace)
#    named turtle, for easy of memory, and general good sense
>>> from turtle import *  
>>> circle(80)   # this will draw a circle with a diameter of 80
>>> reset()  # reset the screen
>>> forward(10)  # make the turtle go forward 10

所有命令都列在 Turtle 参考文档

没有行号,但可以复制粘贴

## anything from '#' is a comment, and gets ignored.  
## all my editorial comments will start with '##' -- GRL
 
## some text describng what this is
# a simple choose your own adventure
 
## 'print' prints to the screen.  
print "Welcome to MYSTERIOUS MANSION."
 
print "You are at a mysterious door.  The door is clearly marked -- 'Open Me And Die!'."  
 
## in python, strings can be single or double-quoted
print 'Do you want to open the door?'
 
## raw_input gets input from the user
## Here, we take the input, and *assign* it to a variable called 'ans'
ans = raw_input("please type 'yes' or 'no' ")
 
## conditionals
## see if the user's answer is interesting or not
if ans=="yes":
    print "That was foolish!  You are now dead."
## elif means "else-if"
elif ans == "no":
    print "That was wise!  You are alive, but thoroughly bored."
## else is a 'catch-all' for "any condition not all ready covered"
else:
    print "I don't know what to do, based on what you said, which was, |", ans, "|"
 
print "Thank you for playing!"
## anything from '#' is a comment, and gets ignored.  
## all my editorial comments will start with '##' -- GRL

## some text describng what this is
# a simple choose your own adventure

## 'print' prints to the screen.  
print "Welcome to MYSTERIOUS MANSION."

print "You are at a mysterious door.  The door is clearly marked -- 'Open Me And Die!'."

## in python, strings can be single or double-quoted
print 'Do you want to open the door?'

## raw_input gets input from the user
## Here, we take the input, and *assign* it to a variable called 'ans'
ans = raw_input("please type 'yes' or 'no' ")

## conditionals
## see if the user's answer is interesting or not
if ans=="yes":
    print "That was foolish!  You are now dead."
## elif means "else-if"
elif ans == "no":
    print "That was wise!  You are alive, but thoroughly bored."
## else is a 'catch-all' for "any condition not all ready covered"
else:
    print "I don't know what to do, based on what you said, which was, |", ans, "|"

print "Thank you for playing!"

其他页面

[编辑 | 编辑源代码]

参考资料

[编辑 | 编辑源代码]
  1. 截至 2009 年 9 月 9 日:选择 Python 2.6.2 Windows 安装程序(Windows 二进制文件 - 不包括源代码)
  2. 自动地黑客自动,仿佛是魔法。正如在幻想曲中,这可能是一件喜忧参半的事情。



请仅在书籍标题页面添加 {{alphabetical}}

华夏公益教科书