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 里,标识符由字母.数 ...
随机推荐
- Eclipse项目红感叹号
原因:显示红色感叹号是因为jar包的路径不对 解决:在项目上右击Build Path -> Configure Build Paht...(或Propertise->Java Build ...
- sql中字符串连接
有时候我们需要将由不同栏位获得的资料串连在一起,每一种数据库都提供一定的方法来达到这个目的,比如: MySQL: CONCAT() Oracle: CONCAT(), || SQL Server: + ...
- google运维解密
1.运维团队与开发团队的矛盾: 运维追求业务的稳定.开发更关注新功能的添加与版本的快速迭代.但是由于业务更新,有很大可能导致故障.从本质上来说,两部门是矛盾的. deops应该是: 1.对重复性工作有 ...
- SQL Serever学习11——数据库的安全管理
公司管理软件设计完成,但是日常工作繁忙,向领导提出增加几个管理员,帮助管理和维护系统,领导同意了,但是要求一定要管理好这几个管理员用户,保证数据库的安全. 修改身份验证模式 数据库验证机制 sqlse ...
- ASP.NET 表单验证方法与客户端(浏览器)服务器交互机制的故事
想到这个问题完全是一个意外吧,是在寻找另外一个问题答案的过程中,才对验证方法与浏览器服务器交互机制的关系有了清晰的认识. 先说下验证方法,验证方法分为前台验证和后台验证. 前台验证就是类似jQuery ...
- [javaSE] 集合框架(迭代器)
当我们创建一个集合以后,可以直接使用system.out.println()来打印这个集合,但是,我们需要可以对每个元素进行操作,所以,这里需要使用迭代器来遍历集合 迭代器其实就是集合取出元素的方式 ...
- Hbase配置指南
注意点 Hbase 需要zookeeper. Hbase 需要在各个节点的机器上配置. 集群中的启动顺序是Hadoop.zookeeper 和Hbase 搭建步骤 解压安装文件并配置环境变量. exp ...
- 05-Servlet与内部加载机制(part1)
一.什么是Servlet Servlet 运行在服务端的Java小程序, 是sun公司提供一套规范(接口) 主要功能: 用来处理客户端请求 响应给浏览器的动态资源 servlet的实质就是j ...
- 个人所得税计算java版
年关将至,该到了发年终奖的时候了.所以就到网上去找下,个税计算器,但是发现做的有点像病毒网站似的.所以计算结果也不太敢信,于是琢磨着,要不自己动手写一个个税计算器吧. 说干就干,先上国家税务局了解了下 ...
- redisTemplate 总结
依赖jar包 jackson <dependency> <groupId>com.fasterxml.jackson.core</groupId> <arti ...