对于新手一般会遇到一个问题:学习Python 2还是Python 3呢? 对于我个人而言,我是个完全的新手,没有历史包袱,所以我直接学习Python 3。我相信在未来几年,Python 3会逐步取代Python 2成为主流。

Python是一门解释型、面向对象、动态数据类型的高级程序设计语言,更多的介绍看官方文档。Python让程序更加的紧凑、可读性更强,用 Python 写的程序通常比同样的C、C++或Java程序要短得多,这是因为以下几个原因:

  • 高级数据结构使你能够在单条的语句中表达复杂的操作。
  • 代码块的组织依赖于缩进而不是开始/结束符,例如{ }。
  • 参数或变量不需要声明。

OK!下面开始让我们进入Python的世界吧!

一、第一个HelloWorld程序

1、交互模式

交互模式即命令行模式,在Linux终端输入$python即可进入Python交互模式,主提示符>>>提示你输入命令:

$ python
Python 3.3.2 (default, Jun 30 2014, 17:20:03)
[GCC 4.8.3 20140624 (Red Hat 4.8.3-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

输入多行结构时就需要从属提示符了,例如下面这个if语句:

>>> flag=True
>>> if flag:
... print("Hello World!")
...
Hello World!
>>>

注:在Python 3.x中,print是一个函数,所以必须使用括号输出。

2、脚本文件

我们也可以将代码写到一个.py文件中:

print ("Hello World!")

然后用python命令执行该脚本文件:

$ python hello.py
Hello World!

3、可执行脚本

在类Unix系统中,Python脚本可以像Shell脚本那样直接执行,通过在脚本文件开头添加一行:

#! /usr/bin/env python

然后通过chmod命令修改权限为可执行:

$ chmod +x hello.py

执行:

$ ./hello.py
Hello World!

二、基础语法

1、编码

默认情况下,Python 3源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。当然你也可以为源码文件指定不同的编码:

# -*- coding: cp-1252 -*-

2、标识符

在Python 3中,非-ASCII 标识符也是允许的了。但最好还是只使用英文、数字、下划线作为标识符,并且不能以数字开头。(区分大小写)

3、python保留字

保留字即关键字,我们不能把它们用作任何标识符名称。Python的标准库提供了一个keyword module,可以输出当前版本的所有关键字:

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

4、注释

Python中单行注释以#开头,多行注释用三个单引号(’‘’)或者三个双引号(”“”)将注释括起来。

5、行与缩进

python最具特色的就是使用缩进来表示代码块。缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。

附:

在现在的Unix/Linux系统中都会内置Python解释器,在我的Fedora20系统中就同时装了python2和python3。在终端输入$python会使用python 2.x的解释器,输入$python3会使用python 3.x的解释器。现在我想修改一下软链接,让$python命令默认使用python 3.x解释器,$python2命令使用python 2.x解释器。怎么做?

软链接: 一种特殊的文件,该文件的内容是指向另一个文件的位置或路径。它不占用磁盘空间,类似于Windows操作系统中的快捷方式。

硬链接:ln [参数] 源文件 目标文件
软链接:ln -s [源文件或目录] [目标文件或目录]

ln命令的功能是为某一个文件在另外一个位置建立一个同步的链接(软链接或者硬链接),现在我要修改python的软链接:

$ sudo ln -s /usr/bin/python2.7 /usr/bin/python2  // 创建python2软链接
$ sudo rm /usr/bin/python                        // 删除原来的python软链接
$ sudo ln -s /usr/bin/python3.3 /usr/bin/python  // 创建新的python软链接

修改了软链接以后的一个伴随的问题是:有些用python写的命令不能执行了,因为python2和python3的语法不兼容。比如yum命令,它是python写的,从yum文件开头的#!/usr/bin/python可以看出来。因为python软链接被修改为指向python 3.x解释器,所以执行yum命令时会报语法错误。

我们可以通过修改yum文件来修复这个问题,既然之前我们已经创建了python2软链接指向python 2.x解释器,所以我们修改yum文件开头为#!/usr/bin/python2就可以了,这样在执行yum命令时就会使用python 2.x解释器而不是python 3.x的解释器了。

Python3基础(一) Hello World的更多相关文章

  1. python3基础视频教程

    随着目前Python行业的薪资水平越来越高,很多人想加入该行业拿高薪.有没有想通过视频教程入门的同学们?这份Python教程全集等你来学习啦! python3基础视频教程:http://pan.bai ...

  2. Python3基础-特别函数(map filter partial reduces sorted)实例学习

    1. 装饰器 关于Python装饰器的讲解,网上一搜有很多资料,有些资料讲的很详细.因此,我不再详述,我会给出一些连接,帮助理解. 探究functools模块wraps装饰器的用途 案例1 impor ...

  3. 2. Python3 基础入门

    Python3 基础入门 编码 在python3中,默认情况下以UTF-8编码.所有字符串都是 unicode 字符串,当然也可以指定不同编码.体验过2.x版本的编码问题,才知道什么叫难受. # -* ...

  4. python002 Python3 基础语法

    python002 Python3 基础语法 编码默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 当然你也可以为源码文件指定不同的编码: # -* ...

  5. Python3基础(十二) 学习总结·附PDF

    Python是一门强大的解释型.面向对象的高级程序设计语言,它优雅.简单.可移植.易扩展,可用于桌面应用.系统编程.数据库编程.网络编程.web开发.图像处理.人工智能.数学应用.文本处理等等. 在学 ...

  6. Python3基础(八) 模块

    在程序中定义函数可以实现代码重用.但当你的代码逐渐变得庞大时,你可能想要把它分割成几个文件,以便能够更简单地维护.同时,你希望在一个文件中写的代码能够被其他文件所重用,这时我们应该使用模块(modul ...

  7. 【python3基础】python3 神坑笔记

    目录 os 篇 os.listdir(path) 运算符篇 is vs. == 实例 1:判断两个整数相等 实例 2:argparse 传参 实例 3:np.where 命令行参数篇 Referenc ...

  8. Python3基础语法和数据类型

    Python3基础语法 编码 默认情况下,Python3源文件以UTF-8编码,所有字符串都是unicode字符串.当然你也可以为原码文件制定不同的编码: # -*- coding: 编码 -*- 标 ...

  9. Python3基础-目录

    Python3基础-目录(Tips:长期更新Python3目录) 第一章 初识Python3  1.1 Python3基础-前言  1.2 Python3基础-规范 第二章 Python3内置函数&a ...

  10. Python3基础1

    Python介绍及特点 发展史 Python 2 or 3? 安装Python3 Hello World程序 变量 用户输入 模块初识 .pyc是个什么? 数据类型初识 数据运算 表达式if ...e ...

随机推荐

  1. 两年,VMware又重回巅峰?

    两年前,被公有云和容器打的焦头烂额的VMware一度被众多业界人士看衰,营收.股价双双下滑.然而,仅仅经过短短两年时间,VMware已经和AWS,IBM.微软.Rackspace等众多公有云厂商成为合 ...

  2. Android屏幕尺寸与度量单位(px,dp,sp)简介

    MarkdownPad Document *:first-child { margin-top: 0 !important; } body>*:last-child { margin-botto ...

  3. Vue.js——router-link阻止click事件

    router-link 只能单纯做路由跳转 https://segmentfault.com/q/1010000007896386

  4. spark查看stage和tasks信息

    spark提供了web-ui接口.外部命令等多种方法监视spark程序的执行状态.利用spark的监视功能,可以方便的查看spark应用程序执行的状态,具体包括:1)stage和tasks列表信息  ...

  5. HTML <section> 标签

    实例 文档中的区段,解释了 PRC: <section>   <h1>PRC</h1>   <p>The People's Republic of Ch ...

  6. Discuz伪静态代码

    <?php /** * [伪静态跳转(xugui_redirect.{modulename})] (C)2012-2099 Powered by 懒人V难人. * Version: 1.0 * ...

  7. 关于mybatis返回值resultType为空的问题

    假设数据库中一个user表 此时只有id为1的数据,当我们查询id为2的年龄时的时候返回值为null 但是在mybatis中预定义UserMapper.xml中 <select id=" ...

  8. rem2

    html{font-size:50px;}body{font-size:24px;}@media screen and (min-width:320px){ html{font-size:21.333 ...

  9. 洛谷——P2261 [CQOI2007]余数求和

    P2261 [CQOI2007]余数求和 关键在于化简公式,题目所求$\sum_{i=1}^{n}k\mod i$ 简化式子,也就是$\sum_{i=1}^{n}(k-\frac{k}{i}\time ...

  10. [Algorithm] 9. Two Sum

    Description Given an array of integers, return indices of the two numbers such that they add up to a ...