1、编码

默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码:

 # -*- coding: cp-1252 -*-

2、标识符

  • 第一个字符必须是字母表中字母或下划线'_'。
  • 标识符的其他的部分有字母、数字和下划线组成。
  • 标识符对大小写敏感。

在Python 3中,非-ASCII 标识符也是允许的了。有个不成文的规矩:

  • 常量用全部大写
  • 全局变量用两个下划线开头
  • 变量、类名等命名采用驼峰命名法

3、python保留字

保留字即关键字,我们不能把它们用作任何标识符名称。Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:

>>> 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中单行注释以 # 开头,实例如下:

print('Hello world') # 这是一个注示

执行以上面代码,输出结果为:

Hello world

多行注释可以用多个 # 号,还有 ''' 和 """:

# 第一个注释
# 第二个注释 '''
第三注释
第四注释
''' """
第五注释
第六注释
"""
print ("Hello World!")

执行上面的代码,输出结果为:

Hello world

5、行与缩进

python最具特色的就是使用缩进来表示代码块,不需要使用大括号({})。缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。实例如下:

if True:
print ("True")
else:
print ("False")

以下代码最后一行语句缩进数的空格数不一致,会导致运行错误:

if True:
print ("Answer")
print ("True")
else:
print ("Answer")
print ("False") # 缩进不一致,会导致运行错误

以上程序由于缩进不一致,执行后会出现类似以下错误:

缩进相同的一组语句构成一个代码块,我们称之代码组。通常我们用Tab键,或敲四个空格来进行缩进,如果我们使用了PyCharm这类IDE,你直接敲回车就好了,IDE会自动给你缩进。

今天发现window下的PyCharm2017.1的版本按回车和Tab键居然不是以四个空格来缩进,坑。还好PyCharm2017.3.2的版本已经解决这个bug

6、多行语句

Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠(\)来实现多行语句,例如:

print('Hello  \
World')

执行上面的代码,输出:

Hello World

在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(\),例如:

day = ['周一' , '周二' , '周三' , '周四' ,
'周五','周六','周日']

7、数据类型

Python3 中有六个标准的数据类型:

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Sets(集合)
  • Dictionary(字典)

后面会一一讨论

8、变量类型

在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型

age = 100 # 整型变量
height = 1.75 # 浮点型变量
name = "roy" # 字符串

多个赋值:

a = b = c = 100

以上实例,创建一个整型对象三个变量被分配到相同的内存空间上。多个赋值也可以如下:

a,b,c = 1,2,'roy'

以上实例,是把1赋值给a,2 赋值给b,roy赋值给c,内置的 type() 函数可以用来查询变量所指的对象类型(后面会讲到)。

9、字符串

  • python中单引号和双引号使用完全相同。
  • 使用三引号('''或""")可以指定一个多行字符串。
  • 转义符 '\'
  • 自然字符串, 通过在字符串前加r或R。 如 r"this is a line with \n" 则\n会显示,并不是换行。
  • python允许处理unicode字符串,加前缀u或U, 如 u"this is an unicode string"。
  • 字符串是不可变的。
  • 按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。

10、空行

函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。

空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

记住:空行也是程序代码的一部分。

11、同一行显示多条语句

Python可以在同一行中使用多条语句,语句之间使用分号(;)分割,以下是一个简单的实例:

print("hello world");print('第二句')

执行以上代码,输出:

hello world
第二句

最后,附上python的语法图

python3 第三章 - 程序的基本结构的更多相关文章

  1. 《Interest Rate Risk Modeling》阅读笔记——第三章:拟合期限结构

    目录 第三章:拟合期限结构 思维导图 扩展 第三章:拟合期限结构 思维导图 扩展 NS 模型的变种

  2. Ionic 入门与实战之第三章:Ionic 项目结构以及路由配置

    原文发表于我的技术博客 本文是「Ionic 入门与实战」系列连载的第三章,主要对 Ionic 的项目结构作了介绍,并讲解了Ionic 中的路由概念以及相关配置. 原文发表于我的技术博客 1. Ioni ...

  3. 【阅读笔记】《C程序员 从校园到职场》第三章 程序的样式(大括号)

    参考: https://blog.csdn.net/zhouzhaoxiong1227/article/details/22820533 一..初始化数组变量 在实际的软件开发项目中,变量在使用前应初 ...

  4. java面向对象编程—— 第三章 程序流程控制

    3.1流程控制 三种基本技术可以改变程序的控制流程: ①   调用方法:调用方法将导致控制流程离开当前方法,转移到被调用的方法: ②   选择:java中有两种做出选择的机制:if/else语句和sw ...

  5. CSAPP:第三章程序的机器级表示3

    程序的机器级表示3 关键点:过程.调试.指针 过程1.运行时栈2.转移控制3.数据传递4.栈上的局部存储5.寄存器中的局部存储空间理解指针使用GDB调试器 过程 1.运行时栈   x86-64的栈向低 ...

  6. CSAPP:第三章程序的机器级表示2

    CSAPP:程序的机器级表示2 关键点:算术.逻辑操作 算术逻辑操作1.加载有效地址2.一元二元操作3.移位操作 算术逻辑操作   如图列出了x86-64的一些整数和逻辑操作,大多数操作分成了指令类( ...

  7. CSAPP:第三章程序的机器级表示1

    CSAPP:程序的机器级表示1 关键点:数据格式.操作数指示符. 数据格式访问信息操作数指示符举例说明 数据格式   术语字(word)表示16位数据类型,32位数为双字(double words), ...

  8. 深入理解计算机系统 第三章 程序的机器级表示 Part2 第二遍

    第一遍对应笔记链接 https://www.cnblogs.com/stone94/p/9943779.html 本章汇编代码中常出现的几个指令及其含义 1.push 操作数的个数:1 将操作数(一般 ...

  9. 深入理解计算机系统 第三章 程序的机器级表示 Part1 第二遍

    第一遍对应笔记链接 https://www.cnblogs.com/stone94/p/9905345.html 机器级代码 计算机系统使用了多种不同形式的抽象,利用更简单的抽象模型来隐藏实现的细节. ...

随机推荐

  1. 固定底部导航菜单-续集(BottomMenu-移动端V3.0)

    固定底部导航菜单-续集(BottomMenu-移动端V3.0) 适应在客户端,点击弹出二级菜单.因为手机不支持hover.所以使用click点击实现弹出菜单,并且一级菜单聚焦变色,变化背景图片 核心c ...

  2. HttpRuntime.Cache .Net自带的缓存类

    .Net自带的缓存有两个,一个是Asp.Net的缓存 HttpContext.Cache,一个是.Net应用程序级别的缓存,HttpRuntime.Cache. MSDN上有解释说: HttpCont ...

  3. c/c++中static的详解

    C 语言的 static 关键字有三种(具体来说是两种)用途: 1. 静态局部变量:用于函数体内部修饰变量,这种变量的生存期长于该函数. int foo(){ ; // note:1 //int i ...

  4. 在阿里云 ECS 搭建 nginx https nodejs 环境(三、nodejs)

    在阿里云 ECS 搭建 nginx https nodejs 环境(三.nodejs) 在阿里云 ECS 搭建 nginx https nodejs 环境(三.nodejs) 第一步 指定版本源 执行 ...

  5. 【Tarjan缩点】POJ2186 Popular Cows

    Popular Cows Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 35644   Accepted: 14532 De ...

  6. Core Animation文档翻译 (第一篇)

    Core Animation 文档翻译(第一篇) 前言 作为iOS 开发,官方文档的阅读是很有必要的,值此周末便写下此文.作为iOS 实际经验3年的开发,之前有阅读并实践过经典的<iOS核心动画 ...

  7. [转载]CentOS 7安装Gnome GUI 图形界面

    原文链接:http://www.centoscn.com/image-text/config/2015/0528/5552.html 当你安装centos服务器版本的时候,系统默认是不会安装 Cent ...

  8. 2017年 JavaScript 框架回顾 -- 前端框架

    概述: 对于 JavaScript 社区来说,npm 的主要功能之一就是帮助开发者发掘所需的 npm Registry 中的库和框架.npm 强大的搜索功能能够帮助找到一组相关的软件包,同时其内置的的 ...

  9. 基础Linux命令总结

    简单命令Linux ls 列出当前文件目录下的文件(只显示文件名) pwd 显示当前操作的路径 cd 跳转路径 ls -a 可以把隐藏的文件显示出来 ,另外,创建隐藏文件的命令是 touch.123. ...

  10. 从头开始基于Maven搭建SpringMVC+Mybatis项目(2)

    接上文内容,本节介绍Maven的聚合和继承. 从头阅读传送门 互联网时代,软件正在变得越来越复杂,开发人员通常会对软件划分模块,以获得清晰的设计.良好的分工及更高的可重用性.Maven的聚合特性能把多 ...