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 里,标识符由字母.数 ...
随机推荐
- mysql导入外部.sql文件时错误
当前环境: 操作系统:windows 7 mysql版本:5.5.36 MySQL Community Server (GPL) 当我第一次导入.sql文件时报错: mysql> source ...
- text-align真的只是让文本居中吗?
很多教程上说text-align属性只是让文本水平居中.但text-align的功能远不止如此. 对于具有文本类属性的元素,text-align属性也可以使其水平居中显示. 具有文本类属性的元素有:行 ...
- AngularJs ng-repeat重复项异常解决方案
ng-repeat="v in arr track by $index" <!DOCTYPE html> <html lang="en"> ...
- [转]The NTLM Authentication Protocol and Security Support Provider
本文转自:http://davenport.sourceforge.net/ntlm.html#ntlmHttpAuthentication The NTLM Authentication Proto ...
- Docker学习之Docker镜像基本使用
Docker学习之Docker镜像基本使用 获取镜像 命令格式:docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签] 例如: docker pull ...
- 简单的winform编辑器
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- Spring扩展:Spring的IoC容器(注入对象的方式和编码方式)
二.Spring的IoC容器 IoC:Inversion of Control(控制反转) DI:Dependency Injection(依赖注入) 三.依赖注入的方式 (1)构造注入 (2)set ...
- 集群搭建之Spark配置要点解析
注意点: 安装Spark前先要配置好Scala运行环境. Spark和Scala需要在各个机器上配置. 环境变量配置 在~/.bashrc中添加如下的配置信息. #scala conf export ...
- 【SSH网上商城项目实战28】使用Ajax技术局部更新商品数量和总价
转自: https://blog.csdn.net/eson_15/article/details/51487323 昨天把项目部署了一下,玩了玩,今天完善了一下购物车中修改商品数量就能局部 ...
- 【SSH网上商城项目实战21】从Demo中看易宝支付的流程
转自: https://blog.csdn.net/eson_15/article/details/51447492 这一节我们先写一个简单点的Demo来测试易宝支付的流程,熟悉这个流程后, ...