Python 及其基础语法
重新开始玩 Python,打算就是学完实验楼的“Python3 简明教程”,然后就可以玩点小项目,先前学了点 Python2 就不管它啦。
以上。
认识 Python
Python 优雅、明确、简单,是一种解释型、交互式、面向对象、动态数据类型的高级程序设计语言。Python 优雅的语法和动态类型,再结合它的解释性,使其在大多数平台的许多领域成为编写脚本或开发应用程序的理想语言。
至于安装,问题不大,去Python官网:http://www.python.org/ 下载相应的版本,安装时把路径添加到环境变量或者装完再去添加,这样就能在 cmd 中使用 Python 解释器啦。
解释器
Python 是一个脚本语言,你可以在 Python 解释器中直接写代码或者将代码写到一个文件里,然后执行这个文件(即脚本文件)。调用解释器时,脚本名和附加参数传入一个名为 sys.argv 的字符串列表。
在实验楼的终端输入python3并回车,就可以在交互模式下使用解释器了。这种模式下它根据主提示符来执行,主提示符通常标识为三个大于号(>>>);继续的部分被称为 从属提示符,由三个点标识(...)。输入多行结构时需要从属提示符,最后多输入一个空行,解释器才能知道这是一个多行命令的结束。在第一行之前,解释器打印欢迎信息、版本号和授权提示。然后万事开头Hello World:

交互式的 Pyhton 解释器可以当做计算器使用,除法(/)永远返回一个浮点数,操作符//实现整除,操作符**实现幂运算。而且 Python 还支持复数,使用后缀 j 或 J 表示虚数部分(例如,3+5j)或者表示为complex(a, b)(a为实数,b为虚数,皆为浮点类型)。此外,十六进制数前缀为0x,八进制数则是0。
交互模式中,最近一个表达式的值赋给变量 _。这样我们就可以把它当作一个桌面计算器,很方便的用于连续计算,例如:
>>> tax = 12.5 / 100
>>> price = 100.50
>>> price * tax
12.5625
>>> price + _
113.0625
>>> round(_, 2)
113.06
此变量对于用户是只读的。不要尝试给它赋值 —— 你只会创建一个独立的同名局部变量,它屏蔽了系统内置变量的魔术效果。
脚本文件
简单地使用 Vim 来编辑可执行的 python 脚本文件,键入vim helloworld.py即可启动 Vim 并编辑 helloworld.py 文件。打开 Vim 之后默认的是命令模式,按i键进入编辑模式,才能对文件输入文本。

进入编辑模式(插入模式),下面会显示“插入”二字,键入下图中的两行。其中第一行的前两个字符 #! 称为 Shebang(真的叫这个名字,释伴:Linux 上的 Shebang 符号(#!)) ,目的是告诉 shell 使用 Python 解释器执行其下面的代码。这样,在Linux/Unix系统中,Python 脚本就可以像 SHELL 脚本一样可直接执行。然后按 ESC键退出编辑模式。

在命令模式中输入:wq,会保存文件并退出 Vim 编辑器。

为 helloworld.py 文件添加可执行的权限,然后就可以执行这个脚本啦。

注:默认情况下,Python 源文件是 UTF-8 编码。你也可以为源文件指定不同的字符编码。为此,在 #! 行(首行)后插入至少一行特殊的注释行来定义源文件的编码:
# -*- coding: encoding -*-
基础语法
关键字
关键字可以用 Python3 解释器使用
help()命令查看,如下:
关键字有这些:

标识符
- 第一个字符必须是字母表中字母或下划线'_'。
- 标识符的其他的部分有字母、数字和下划线组成。
- 标识符对大小写敏感。
输入输出
函数 input() 可以从键盘读取输入,返回用户输入的字符串(注意要不要类型转换),它还有一个用于打印在屏幕上的可选字符串参数。
print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end="",如print(a, end"")(引号填空格则输出后也跟个空格这样)。使用str.format()来进行字符串格式化的信息输出,举例来说:
print("X = {:.2f}".format(X))会输出2位精度的浮点数。多行语句
Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠
\来实现多行语句,例如:total = item_one + \
item_two + \
item_three
在 [], {}, 或 () 中的多行语句,不需要使用反斜杠
\。Python 也可以在同一行中使用多条语句,语句之间使用分号;分割。注释
Python 的注释以
#字符开始的,在#字符到行尾之间的所有东西都被程序忽略为注释。你应该总是在#后跟一个空格,然后再写注释。多行注释用三个单引号'''或者三个双引号"""将注释括起来。模块
模块是包含了我们能复用的代码的文件,包含了不同的函数定义,变量。模块文件通常以 .py 为扩展名。导入模块有下面两种方式:
import 模块名 from 模块名 import 函数名
第二种方式,使用函数时就不用模块名作为前缀。但是这样有种情况是无法使用不同模块中同名的函数了,建议使用第一种方式导入。
代码风格建议
在 Python 中,空格很重要,我们使用缩进来表示代码块,不需要使用大括号({})。空格将标识符区分开,行开始处的空格我们称之为缩进,如果你的缩进是错误的,Python 解释器会抛出错误。如果你在代码中混用制表符和空格,这种缩进错误会很常见。所以如果是用空格,就一直用空格缩进,不要使用制表符。
建议遵守以下约定:
- 使用 4 个空格来缩进,永远不要混用空格和制表符
- 在函数之间空一行,在类之间空两行
- 字典,列表,元组以及参数列表中,在
,后添加一个空格。对于字典,:后面也添加一个空格 - 在赋值运算符和比较运算符周围要有空格(参数列表中除外),但是括号里侧不加空格:
a = f(1, 2) + g(3, 4)
PEP 8 - Style Guide for Python Code 将在后续中有更为详细的讲述。
参考资料
- Python tutorial3
- 菜鸟教程:Python3 教程
- Python 基础教程 (第二版)
- 实验楼:Python3 简明教程
Python 及其基础语法的更多相关文章
- 第4天 | 12天搞定Python,基础语法(下)
为了方便你的学习,减轻负重,我特意将基础语法分成上下两部分.希望你喜欢这种方式,如果不喜欢,你可以跟我说,反正我是不会改的,哈哈~~. 如果上部分,你还没看的话,先去看<第4天 | 12天搞定P ...
- Python的基础语法(二)
0. 前言 接着上一篇博客的内容,我将继续介绍Python相关的语法.部分篇章可能不只是简单的语法,但是对初学者很有帮助,也建议读懂. 1. 表达式 由数字.符号.括号.变量等组成的组合. 算术表达式 ...
- Python的基础语法(一)
0. 前言 最近正在重新整理Python的基础知识,以便更好地学习新知识.这一部分主要是讲述Python基础语法的演示.下面的语法都是基于Python3的语法. 1. 注释 注释:Python的注释方 ...
- Python语言基础-语法特点、保留字与标识符、变量、基本数据类型、运算符、基本输入输出、Python2.X与Python3.X区别
Python语言基础 1.Python语法特点 注释: 单行注释:# #注释单行注释分为两种情况,例:第一种#用于计算bim数值bim=weight/(height*height)第二种:bim=we ...
- 12天搞定Python,基础语法(上)
不知你是否见过建楼房的过程,没有的话,找个时间去瞧一瞧,看一看.看过之后,你就会明白.建楼房,只有打好地基之后,才能在砌墙,建的楼层越高,打的地基就越深. 学编程也一样,要想得心应手的应用,得先打好地 ...
- Python常用基础语法知识点大全
记得我是数学系的,大二时候因为参加数学建模,学习Python爬虫,去图书馆借了一本Python基础书,不厚,因为有matlab和C语言基础,这本书一个星期看完了,学完后感觉Python入门很快,然后要 ...
- Python的基础语法
一,编码 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 当然你也可以为源码文件指定不同的编码: 1 # -*- coding: cp-1252 ...
- python的基础语法-部分Ⅱ
Python 保留字符 下面的列表显示了在Python中的保留字.这些保留字不能用作常数或变数,或任何其他标识符名称. 所有 Python 的关键字只包含小写字母. 行和缩进 学习 Python 与其 ...
- 【Python】 基础语法
Python 语言与 Perl,C 和 Java 等语言有许多相似之处.但是,也存在一些差异. 第一个 Python 程序 欢迎,入坑! Python 标识符 在 Python 里,标识符由字母.数 ...
随机推荐
- [转载]VS2010怎样打开VS2013或者VS2015建立的工程
VS2010怎样打开VS2013或者VS2015建立的工程 作用:解决vs低版本无法直接打开高版本的工程文件问题. 一.转载出处 http://blog.csdn.net/qq2399431200/a ...
- PL/SQL:these query result are not updateable,include the ROWID to get updateab -----for update
these query result are not updateable,include the ROWID to get updateab 原因: 其实,选中一个表后,右键,如果选择“query ...
- Spring 学习(五)--- 事务(未完成)
问题 : Spring 事务传播机制是怎么样的,在什么应用场景使用 事务是什么 我们使用的框架可能是Hibernate/JPA或者是Mybatis,都知道的底层是需要一个session/connect ...
- Spark Pregel参数说明
Pregel是个强大的基于图的迭代算法,也是Spark中的一个迭代应用aggregateMessage的典型案例,用它可以在图中方便的迭代计算,如最短路径.关键路径.n度关系等.然而对于之前对图计算接 ...
- JAVA基础之——JDK包分析concurrent
concurrent在哪儿:jdk\jre\lib\rt.jar package java.util.concurrent; 本文从特性.分类.扩展方面一一道来. 1 特性 包中包含大量有用的构建块, ...
- K:顺序表和链表的比较
顺序表和链表是线性表的两种基本实现形式(链表还有多种变化形式),对于这两种实现方式,没有一种方法可以称是最好的,他们各自有着各自的特点和优缺点,适用于不同的应用场景. 与顺序表相比,链表较为灵活, ...
- Django实现数据库中表格的增删查改
1.urls.py """Django_demo1 URL Configuration The `urlpatterns` list routes URLs to vie ...
- js类的笔记
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 洛谷 P2469 [SDOI2010]星际竞速 解题报告
题目描述 10年一度的银河系赛车大赛又要开始了.作为全银河最盛大的活动之一,夺得这个项目的冠军无疑是很多人的梦想,来自杰森座α星的悠悠也是其中之一. 赛车大赛的赛场由N颗行星和M条双向星际航路构成,其 ...
- MyEclipse去除网上复制下来的代码带有的行号(使用正则表达式)
一.正则表达式去除代码行号 作为开发人员,我们经常从网上复制一些代码,有些时候复制的代码前面是带有行号,如: MyEclipse本身自带有查找替换功能,并且支持正则表达式替换,使用正则替换就可以很容易 ...