Python基础手册P1 启动、注释和运算符
Python基础手册P1 启动、注释和运算符
[TOC]
开始之前
我很长时间之前就打算写一个系列的文章,以一个非初学者的视角讨论 Python 基础。
从入门到进阶的初学者指南很多,有的写的也相当出色,比如我自己入门学习的廖雪峰老师的Python教程。说实话,要在这些入门教程中再添一笔,不是件容易的事,我也无心研究编程入门教学。
我希望的是,整理一下 Python 基础,并少量对照源码,通过自己的研究写一些东西,在这个过程中夯实基础,提升技能。
这个系列暂定名为《Python基础手册》。这更像是一本给自己的 Python 操作手册,一本 My version 的 Python Cookbook。
看看基础,写写实例,读读源码,再作成笔记,希望助更多学习 Python 的朋友一臂之力。
既然不是面向初学者,那就需要读者有一定的基础。比如,在阅读本文前,您应该懂得命令行的使用,如果这方面的知识您有所欠缺,我推荐学习 Zed A. Shaw 的《命令行快速入门》(您可以在 Zed A. Shaw 的网站 上阅读这一内容)。
(你大可不看。我尝试过很多办法力荐身边的朋友(那些惯用Windows的朋友)使用命令行,但都基本无效。我现在不想再做这件事了,既然有人可以忍受不会使用命令行而带来的不便,那我也不好说什么。毕竟,我会使用命令行,用的不好,但足够应付我遇到的问题,而你不会命令行,麻烦的不是我。在享受命令行的强大的同时,冷眼嘲讽那些看着视窗,对于“从特定文件中提取特定的字段来批量重命名数百个文件”这样的简单入门级命令行任务无从下手、只好开始百度“一键批量重命名神器.exe下载”的典型***也是一件令人愉悦的事)
哈哈,言重了,其实 Python 也可以相当优雅的完成这个任务,有机会的话,我会在以后的文章中介绍如何用 Python 解决这些琐事。但这需要我们现在先来看一看 Python 到底怎么用👇👇👇
Python解释器
你知道 Python 是解释型语言啦,所以有一个叫 Python 解释器的东西啦。我们写的 Python 代码就是通过解释器运行起来的。
废话不多说,来看这解释器的用法:
启动
$ python
: 进入交互式环境。$ python -
: 脚本名指定为 ‘-‘ (表示标准输入),与$ python
等效。$ python -c command [arg] ...
: 在命令行执行 Python 语句,类似于 shell 中的 -c 选项。用’单引号’包裹command,其中写python语句,类似于awk。$ python -m module [arg] ...
: 有一些 Python 模块也可以当作脚本使用。这类似在命令行中键入完整的路径名执行模块源文件一样。$ python filename
: 执行python源文件。$ python -i filename
: 执行python源文件,然后不退出,留在python交互式命令行。
退出
- 输入一个文件结束符(Unix 系统是
Control-D
,Windows 系统是Control-Z
)让解释器以 0 状态码退出。 - 输入
quit()
命令退出解释器。 - 输入
exit()
命令退出解释器。
命令行参数传递
调用解释器时,脚本名和附加参数传入一个名为 sys.argv
的字符串列表,这类似于C语言main函数的 char *argv[]
。
取用 sys.argv
前要 import sys
。
关于 argv 的行为,我们借用C/C++的 switch-case 语句的形式来讨论:
1 | switch (输入命令) { |
⚠️【注意】:-c
指令 或者 -m
模块 之后的参数不会被 Python 解释器的选项处理机制所截获,而是留在 sys.argv
中,供脚本命令操作。
例如:
1 | $ python3 -i -c 'import sys' 1 2 3 |
指定源程序编码
默认情况下,Python 源文件是 UTF-8 编码。
在 #!
行(首行)后插入至少一行特殊的注释行来定义源文件的编码:
1 | # -*- coding: encoding -*- |
⚠️【注意】如果使用 Microsoft Windows 自带的 记事本(‘Notepad’)进行 python 源码的编辑,注意使用 utf-8 without BOM
编码!
Python注释
没有人会否认注释的重要性。在开始讨论其他语法之前,我们有必要看一看注释怎么写。
Python 中的注释以 #
字符起始,直至实际的行尾(physical line, 表示实际的换行而非编辑器的自动换行)。
注释可以从行首开始,也可以在空白或代码之后,但是不出现在字符串中。
1 | # 这是一个注释 |
写文档注释的时候,我们常借用多行字符串:
1 | def func(a): |
【注】关于文档注释,我们会在本系列后面的【Python代码风格】一文中详细介绍。
Python基本运算符
计算机,如其名,是计算的好手!既然编程语言是人类和计算机沟通的语言,那这些语言就应该可以方便简介地让计算机算起来——从加减乘除开始。Python 的加减乘除运算我们都很熟悉,基本就是我们在小学数学中看到的那些写法:
运算符 | 作用 |
---|---|
+ ,- ,* |
用于 加、减、乘 运算 |
/ |
除运算,返回一个浮点数 |
// |
除运输,返回结果取整(floor, 向下取整)后的整数 |
% |
取余运算 |
** |
乘方运算 |
() |
用于分组 |
= |
用于给变量赋值 |
== |
用于判断值是否相等 |
⚠️【几点注意】:
- 变量在使用前必须 “定义”(赋值),否则会出错。
- 交互模式中,最近一个表达式的值赋给变量
_
。 - 浮点数有完整的支持;整数和浮点数的混合计算中,整数会被转换为浮点数。
1 | 1 a = |
对于整数类型,你还可以像 C 一样,做位运算:
运算 | 说明 |
---|---|
`x | y` |
x & y |
x、y 按位取逻辑与 |
x ^ y |
x、y 按位取异或 |
x << n |
x 左移 n 位 |
x >> n |
x 右移 n 位 |
~x |
x 按位取逻辑非 |
未完待续…
Next: 【Python基本数据类型】