关于Python

1.Python 不需要将其编译成二进制码。你只需要直接从源代码 运行 该程序。在程
序内部,Python 会将源代码转换为称为字节码的中间形式,尔后再转换成你的电脑所使用的
语言,并运行它。实际上,这一流程使得 Python 更加易于使用,你不必再担心该如何编译程
序,或如何保证适当的库被正确的链接并加载等等步骤。这也同样使得 Python 程序更便携且

易于迁移。

2.通过 Python 来运行的你的程序有两种方法——使用交互式解释器提示符或直接运行一个源代

码文件。

基础

1.记住单引号括起的字符串和双引号括起的字符串是一样的——它们不存在任何区别。

2.用format()进行格式化方法:Python 中 format 方法所做的事情便是将每个参数值替换至格式所在的位置

age = 20
name = 'Swaroop'
print('{0} was {1} years old when he wrote this book'.format(name, age))

print('Why is {0} playing with that python?'.format(name))

OR

age = 20
name = 'Swaroop'
print('{} was {} years old when he wrote this book'.format(name, age))

print('Why is {} playing with that python?'.format(name))

# 对于浮点数 '0.333' 保留小数点(.)后三位
print('{0:.3f}'.format(1.0/3))
# 使用下划线填充文本,并保持文字处于中间位置
# 使用 (^) 定义 '___hello___'字符串长度为 11
print('{0:_^11}'.format('hello'))
# 基于关键词输出 'Swaroop wrote A Byte of Python'

print('{name} wrote {book}'.format(name='Swaroop', book='A Byte of Python'))

3.用end指定空白结尾:

print('a', end='')

print('b', end='')

得到:

ab

指定空格结尾:

print('a', end=' ')
print('b', end=' ')

print('c')

得到:

a b c

(print默认以新一行\n结尾)

4.通过转义序列(Escape Sequence)来通过 \ 指定单引号

\n 表示新的一行的开始

\t表示制表符

一个放置在末尾的反斜杠表示字符串将在下一行继

续,但不会添加新的一行,如:

"This is the first sentence. \

This is the second sentence." 实际上表示

"This is the first sentence. This is the second sentence."

5.如果你需要指定一些未经过特殊处理的字符串,比如转义序列,那么你需要在字符串前增加

r 或 R 来指定一个 原始(Raw) 字符串。下面是一个例子:

r"Newlines are indicated by \n"

在处理正则表达式时应全程使用原始字符串。否则,将会有大量 Backwhacking 需要处

理。举例说明的话,反向引用可以通过 '\\1' 或 r'\1' 来实现。

变量

1.如何编写 Python 程序

从今以后,保存和运行 Python 程序的标准步骤如下:
对于 PyCharm 用户
1. 打开 PyCharm。
2. 以给定的文件名创建新文件。
3. 输入案例中给出的代码。
4. 右键并运行当前文件。
注意:每当你需要提供 命令行参数(Command Line Arguments)时,点击 Run -> Edit

Configurations 并在 Script parameters: 部分输入相应参数,并点击 OK 按钮:

2.逻辑行与物理行

物理行(Physical Line)是你在编写程序时 你所看到 的内容

逻辑行(Logical Line)是 Python 所看到 的单个语句。Python 会假定每一 物理行 会对应一个 逻辑行

Python 之中暗含这样一种期望:Python 鼓励每一行使用一句独立语句从而使得代码更加可

读。

强烈建议你对于每一行物理行最多只写入一行逻辑行。这个观点就是说你不应该使

用分号。实际上,我从未在 Python 程序中使用、甚至是见过一个分号。

如果你有一行非常长的代码,你可以通过使用反斜杠将

其拆分成多个物理行。这被称作显式行连接(Explicit Line Joining)

s = 'This is a string. \
This continues the string.'

print(s)

输出:

This is a string. This continues the string.

在某些情况下,会存在一个隐含的假设,允许你不使用反斜杠。这一情况即逻辑行以括号开
始,它可以是方括号或花括号,但不能是结束括号。这被称作 隐式行连接(Implicit Line

Joining)。你可以在后面当我们讨论列表(List)的章节时了解这一点

缩进

1.空白区在各行的开头非常重要。这被称作 缩进
(Indentation)。在逻辑行的开头留下空白区(使用空格或制表符)用以确定各逻辑行的缩

进级别,而后者又可用于确定语句的分组。这意味着放置在一起的语句必须拥有相同的缩进。

每一组这样的语句被称为 块(block)

使用四个空格来缩进。这是来自 Python 语言官方的建议。

Python 将始终对块使用缩进,并且绝不会使用大括号。

运算符与表达式

1. 3+5 则输出 8 。 'a' + 'b' 则输出 'ab' 。

控制流

1.要记住 elif 和 else 部分都是可选的。一个最小规模且有效的 if 语句是这样的:
if True:

print('Yes, it is true')

2.range 函数生成这一数字序列,range(1,5) 将输出序列 [1, 2, 3, 4] 。range(1,5,2) 将会输出 [1, 3] 。

range() 每次只会生成一个数字,如果你希望获得完整的数字列表,要
在使用 range() 时调用 list() 。例如下面这样: list(range(5)) ,它将会返回 [0, 1, 2,

3, 4] 。

函数

1.因为在不使用 global 语句的情况下,不可能为一个定义于

函数之外的变量赋值。

2.global 语句用以声明 x 是一个全局变量——因此,当我们在函数中为 x 进行赋值时,这

一改动将影响到我们在主代码块中使用的 x 的值。

3.默认参数:你可以通过在函数定义时附加一个

赋值运算符( = )来为参数指定默认参数值。默认参数值应该是不可变的

在函数的参数列表中拥
有默认参数值的参数不能位于没有默认参数值的参数之前。def func(a, b=5) 是有效的,

但 def func(a=5, b) 是无效的。

def func(a, b=5, c=10):
print('a is', a, 'and b is', b, 'and c is', c)
func(3, 7)
func(25, c=24)

func(c=50, a=100)

4.可变参数:当我们声明一个诸如 *param 的星号参数时,从此处开始直到结束的所有位置参数

(Positional Arguments)都将被收集并汇集成一个称为“param”的元组(Tuple)。

类似地,当我们声明一个诸如 **param 的双星号参数时,从此处开始直至结束的所有关键字

参数都将被收集并汇集成一个名为 param 的字典(Dictionary)。

5.文档字符串(Documentation Strings)

《Python简明教程》相关推荐

  1. ComeFuture英伽学院——2020年 全国大学生英语竞赛【C类初赛真题解析】(持续更新)

    视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...

  2. ComeFuture英伽学院——2019年 全国大学生英语竞赛【C类初赛真题解析】大小作文——详细解析

    视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...

  3. 信息学奥赛真题解析(玩具谜题)

    玩具谜题(2016年信息学奥赛提高组真题) 题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业.有一天, 这些玩具小人把小南的眼镜藏了起来.小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的 ...

  4. 信息学奥赛之初赛 第1轮 讲解(01-08课)

    信息学奥赛之初赛讲解 01 计算机概述 系统基本结构 信息学奥赛之初赛讲解 01 计算机概述 系统基本结构_哔哩哔哩_bilibili 信息学奥赛之初赛讲解 02 软件系统 计算机语言 进制转换 信息 ...

  5. 信息学奥赛一本通习题答案(五)

    最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...

  6. 信息学奥赛一本通习题答案(三)

    最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...

  7. 信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题

    第1章   快速幂 1875:[13NOIP提高组]转圈游戏 信息学奥赛一本通(C++版)在线评测系统 第2 章  素数 第 3 章  约数 第 4 章  同余问题 第 5 章  矩阵乘法 第 6 章 ...

  8. 信息学奥赛一本通题目代码(非题库)

    为了完善自己学c++,很多人都去读相关文献,就比如<信息学奥赛一本通>,可又对题目无从下手,从今天开始,我将把书上的题目一 一的解析下来,可以做参考,如果有错,可以告诉我,将在下次解析里重 ...

  9. 信息学奥赛一本通(C++版) 刷题 记录

    总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 刷题 记录 http://ybt.ssoier. ...

  10. 最近公共祖先三种算法详解 + 模板题 建议新手收藏 例题: 信息学奥赛一本通 祖孙询问 距离

    首先什么是最近公共祖先?? 如图:红色节点的祖先为红色的1, 2, 3. 绿色节点的祖先为绿色的1, 2, 3, 4. 他们的最近公共祖先即他们最先相交的地方,如在上图中黄色的点就是他们的最近公共祖先 ...

最新文章

  1. 错误日志的实时抓取保证代码质量
  2. 34.对象 GC,GC属性,影响GC的因素,GC步骤,GC算法,安全区/安全区域,新生代,老年代等介绍
  3. Kotlin 基础语法
  4. tensorboard使用_colab打不开tensorboard的解决办法
  5. 085:QuerySet API详解-defer和only
  6. 响应内容类型为CSV
  7. 任务 F :工时统计
  8. user guide for Coverity Wizard
  9. mysql tddl_TDDL思考总结
  10. Windows XP_修改登录背景图案
  11. 题目 1549: 盾神与积木游戏
  12. MPG4 MP42 MP43: Microsoft MPEG-4 versions 1, 2, and 3
  13. 云原生API网关 - 开源项目Hango网关设计与实践
  14. String源码 spilt
  15. HEU euler path
  16. 仿照Kafka,从零开始自实现 MQ
  17. 基岩版刷铁傀儡机制和Java_我的世界:刷铁机没有傀儡只刷猫?作为基岩版玩家,你的痛我都懂...
  18. 最近大街上,到处都是X团的地推
  19. 《增强现实:原理、算法与应用》读书笔记(5)运动恢复结构(上)初始化、相机位姿估计、集束调整
  20. Wi-Fi Display协议介绍

热门文章

  1. poj 1011 - sticks - dfs + 剪枝
  2. JVM调优-Jva中基本垃圾回收算法
  3. 我开发共享软件的三次经历(上):打造一款很多人用的软件
  4. NPAPI插件开发记录(一)----- .rc文件 支持Chrome和FireFox
  5. 用实体类来做数据绑定(不用数据表数据字段的绑定方法)
  6. opencv读取文件路径
  7. 【windows】python打包后多进程引发的无限循环启动
  8. C++内存管理之shared_ptr
  9. Cross-entropy 和 Binary cross-entropy
  10. weblogic 自定义错误页面_使用 Nginx 容器为 Traefik 配置高性能通用错误页面