对于新手一般会遇到一个问题:学习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. [ USACO 2007 FEB ] Lilypad Pond (Silver)

    \(\\\) \(Description\) 一张\(N\times M\)的网格,已知起点和终点,其中有一些地方是落脚点,有一些地方是空地,还有一些地方是坏点. 现在要从起点到终点,每次移动走日字\ ...

  2. 在struct 中使用string,赋值会报错

    struct中最好使用char来代替string,因为string的大小不是固定的

  3. 2017-12-04HTML布局_div布局

    HTML布局_div布局 <!doctpye> <html> <head> <meta charset = 'utf-8'> <title> ...

  4. 类支付宝密码输入框NumberEditText(简单粗暴的定制方式)

    因为项目需要,设计了一个下图样的验证码输入框(ps:个人认为还不如直接一个EditText,用户友好度可能更好,何况这页面99.9%的用户不会使用,但是没办法,别人才是专业的设计师). 其实界面很简单 ...

  5. 【sqli-labs】【jsp/tomcat】 less29 less30 less31 less32 (GET型利用HTTP参数污染的注入)

    sqli-labs带了几个Java版本的web注入,在tomcat-files.zip里 以Less29为例,查看源码,可以看出请求最后还是提交给了php应用,难怪less29文件夹下有一个没有任何防 ...

  6. (转) 淘淘商城系列——使用SolrJ查询索引库

    http://blog.csdn.net/yerenyuan_pku/article/details/72908538 我们有必要在工程中写查询索引库的代码前先进行必要的测试.我们先到Solr服务页面 ...

  7. 使用CAShapeLayer的path属性与UIBezierPath画出扫描框

    1.CAShapeLayer CAShapeLayer具有path属性,(是CGPath对象),可以使用这个属性与UIBezierPath画出想要的图形.该子类根据其fill color和stroke ...

  8. catkin_package()是什么意思?

    DEPENDS 和 CATKIN_DEPENDS 用来告诉 catkin 需要将你程序包A的哪些依赖项传递给使用 find_package(...) 查找你的程序包的程序包B. 而在CMakeList ...

  9. Ansible基于playbook批量修改主机名实战

    Ansible基于playbook批量修改主机名 安装Ansible,相信这里也不用多说,大家都知道 说一下环境:这里的主机名是修改之后的,我先把其他两台的主机名改为别的 192.168.30.21 ...

  10. docker 转载

    写的非常好的一篇文章,不知道为什么被删除了.  利用Google快照,做个存档. 快照地址:地址 作者地址:青牛 什么是docker Docker 是一个开源项目,诞生于 2013 年初,最初是 do ...