对于新手一般会遇到一个问题:学习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. struts2之通配符映射

    系统有n多个请求时候,不可能以一个action对应一个映射.可以用通配符映射将成百上千请求简化成一个通用映射. 通配符映射规则:1.若找到多个匹配,没有通配符的将胜出. 2.若指定的动作不存在,str ...

  2. Java 基础入门随笔(9) JavaSE版——文档注释

    上节中写了一些static变量以及静态的方法的定义使用以及与非静态的差别,这节补充下: 如果在一个类中所有方法都为静态的,且无成员变量,这时候需要对对应的类进行限制该类无法创建对象,具体操作如下: p ...

  3. 如何在linux使用nmap端口扫描工具扫描网段内开放的端口

    在另一个linux主机上,使用nmap命令即可 ,比如 我在1.1.1.2上开放了端口1111 -A -j ACCEPT 在1.1.1.1上执行 即可查到

  4. 出生年 (15 分) C解法

    出生年 以上是新浪微博中一奇葩贴:"我出生于1988年,直到25岁才遇到4个数字都不相同的年份."也就是说,直到2013年才达到"4个数字都不相同"的要求.本题 ...

  5. No value specified for parameter1?

    我使用的是jdbcTemplate,因为忘记向list中加入参数,所以报错. 解决方案,: String sql = "select * from table where id = ?&qu ...

  6. C++ string 是否以‘\0’结尾 讨论

    转载https://blog.csdn.net/qq_31930499/article/details/80374310 之前在某篇文章中看到,C语言字符串是以’\0’结尾的,但是C++string类 ...

  7. printf函数压栈(i++/i--,++i/--i) 终极解密

    #include <stdio.h> void main() { ; printf("%d %d %d %d\n", i, --i, i, i--); } 输出是“3 ...

  8. Linux 源码

    https://elixir.bootlin.com/linux/latest/source

  9. 总结在Linux终端中进行算术运算的6种方式

    1.使用bash 使用双括号可以像C语言一样直接使用运算符进行计算. +)) a=$((*)) echo $a b=$(($a-)) echo $b d=$(($b/)) echo $d e=$(($ ...

  10. 移动端placeholder不能垂直居中解决方案

    1.问题描述 问题如图:手机端placeholder文字偏上,垂直方向不居中,input光标显示偏上解决IE下不支持placeholder属性 2.解决方案 css .phoneNumber inpu ...