Python3基础(一) Hello World
对于新手一般会遇到一个问题:学习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的更多相关文章
- python3基础视频教程
随着目前Python行业的薪资水平越来越高,很多人想加入该行业拿高薪.有没有想通过视频教程入门的同学们?这份Python教程全集等你来学习啦! python3基础视频教程:http://pan.bai ...
- Python3基础-特别函数(map filter partial reduces sorted)实例学习
1. 装饰器 关于Python装饰器的讲解,网上一搜有很多资料,有些资料讲的很详细.因此,我不再详述,我会给出一些连接,帮助理解. 探究functools模块wraps装饰器的用途 案例1 impor ...
- 2. Python3 基础入门
Python3 基础入门 编码 在python3中,默认情况下以UTF-8编码.所有字符串都是 unicode 字符串,当然也可以指定不同编码.体验过2.x版本的编码问题,才知道什么叫难受. # -* ...
- python002 Python3 基础语法
python002 Python3 基础语法 编码默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 当然你也可以为源码文件指定不同的编码: # -* ...
- Python3基础(十二) 学习总结·附PDF
Python是一门强大的解释型.面向对象的高级程序设计语言,它优雅.简单.可移植.易扩展,可用于桌面应用.系统编程.数据库编程.网络编程.web开发.图像处理.人工智能.数学应用.文本处理等等. 在学 ...
- Python3基础(八) 模块
在程序中定义函数可以实现代码重用.但当你的代码逐渐变得庞大时,你可能想要把它分割成几个文件,以便能够更简单地维护.同时,你希望在一个文件中写的代码能够被其他文件所重用,这时我们应该使用模块(modul ...
- 【python3基础】python3 神坑笔记
目录 os 篇 os.listdir(path) 运算符篇 is vs. == 实例 1:判断两个整数相等 实例 2:argparse 传参 实例 3:np.where 命令行参数篇 Referenc ...
- Python3基础语法和数据类型
Python3基础语法 编码 默认情况下,Python3源文件以UTF-8编码,所有字符串都是unicode字符串.当然你也可以为原码文件制定不同的编码: # -*- coding: 编码 -*- 标 ...
- Python3基础-目录
Python3基础-目录(Tips:长期更新Python3目录) 第一章 初识Python3 1.1 Python3基础-前言 1.2 Python3基础-规范 第二章 Python3内置函数&a ...
- Python3基础1
Python介绍及特点 发展史 Python 2 or 3? 安装Python3 Hello World程序 变量 用户输入 模块初识 .pyc是个什么? 数据类型初识 数据运算 表达式if ...e ...
随机推荐
- 两年,VMware又重回巅峰?
两年前,被公有云和容器打的焦头烂额的VMware一度被众多业界人士看衰,营收.股价双双下滑.然而,仅仅经过短短两年时间,VMware已经和AWS,IBM.微软.Rackspace等众多公有云厂商成为合 ...
- Android屏幕尺寸与度量单位(px,dp,sp)简介
MarkdownPad Document *:first-child { margin-top: 0 !important; } body>*:last-child { margin-botto ...
- Vue.js——router-link阻止click事件
router-link 只能单纯做路由跳转 https://segmentfault.com/q/1010000007896386
- spark查看stage和tasks信息
spark提供了web-ui接口.外部命令等多种方法监视spark程序的执行状态.利用spark的监视功能,可以方便的查看spark应用程序执行的状态,具体包括:1)stage和tasks列表信息 ...
- HTML <section> 标签
实例 文档中的区段,解释了 PRC: <section> <h1>PRC</h1> <p>The People's Republic of Ch ...
- Discuz伪静态代码
<?php /** * [伪静态跳转(xugui_redirect.{modulename})] (C)2012-2099 Powered by 懒人V难人. * Version: 1.0 * ...
- 关于mybatis返回值resultType为空的问题
假设数据库中一个user表 此时只有id为1的数据,当我们查询id为2的年龄时的时候返回值为null 但是在mybatis中预定义UserMapper.xml中 <select id=" ...
- rem2
html{font-size:50px;}body{font-size:24px;}@media screen and (min-width:320px){ html{font-size:21.333 ...
- 洛谷——P2261 [CQOI2007]余数求和
P2261 [CQOI2007]余数求和 关键在于化简公式,题目所求$\sum_{i=1}^{n}k\mod i$ 简化式子,也就是$\sum_{i=1}^{n}(k-\frac{k}{i}\time ...
- [Algorithm] 9. Two Sum
Description Given an array of integers, return indices of the two numbers such that they add up to a ...