首页
学习
活动
专区
工具
TVP
发布

Python-Review 复习

下面是我这些日子翻译的基础Python资料,来自正宗的官方网上资料。英文版已经发送到了QQ群(Mark学编程),有需要的请入群下载。今天发布的仅仅是很基础的一部分,希望得到你的反馈,是否通俗易懂?是否有帮助?等等。

不过,照例,小测试的参考答案和测试不会中断。

今天的测试题目是:

Question12

Level2

Question:

Write a program,which will findallsuch numbers between1000and3000(both included)such that each digit of the numberisan even number.

The numbers obtained should be printedina comma-separated sequence on a single line.

编写一程序,将1000 到 3000之间的符合条件的数字(包含两个数字)找出来,条件是:每个位上的数字都是偶数,找出后打印成用逗号分隔的序列。

下面是翻译的资料:

基础

仅仅打印“helloworld”是不够的,是不是?你需要做的更多,比如,你要接收一些输入,操纵它们,并且从中得到一些什么。我们可以通过Python的常量和变量来达成这些目标,这一节我们还将学习一些其他概念。

注释:

注释是写在#符号右边的文本,主要用于作出注释,以方便读者理解程序。(仅限一行,如果另起一行,可再加#--译者加);

比如:

Print(‘helloworld’) #注意,print是个函数

或者

#注意,print是个函数

print (‘helloworld’)

在你的代码程序中尽量多使用注释:

解释假设

解释重要决定

解释重要细节

解释你需要解决的问题

解释你需要在程序中克服的困难

代码告诉你如何,注释应当告知你为什么

注释对程序读者来说是有用的,这样他们可以很容易的理解程序在做什么,记住,这个读者也可能是6个月后的你自己。

常量

一个常量的例子是数字,比如 5, 1.23 或者象这样的字符串:‘This is a sting’ 或者(双引号)“This is a string”

数字5永远是数字5,没有别的,所以在英文里叫做literal,顺便说一句,编程书籍里,英文喜欢用literal,我们不用管它。常量叫做常量是因为它的值是不变的,所以,上面举的例子都是literal常量。(注意,此段翻译,已经脱离了原文的意思,主要是为了通俗易懂,帮助理解常量—译者)

数字

数字主要属于两个类型 – 整型和浮点型。

一个整形的例子是2,它就是单纯一个数字。

浮点数字的例子有: 3.23;52.25等等。E概念表示10的几次方,比如,52.3E-4 就是 52.3 * 10^-4^。

字符串

字符串就是一系列字符的序列。字符串基本上就是一串单词。你将会在Python中几乎每一个要写的程序使用字符串,所以要特别留意下面的部分。

单引号

你可以用单引号标示字符串,比如 ‘Quote me onthis’。

所有的空格,例如空间和标签,在引号内按照原来的样子保留。

双引号

双引号中的字符串和单引号一模一样的机制,例如:”What’syour name?”。

三引号

你可以用三引号来指定多行字符串,在其中,你可以自由使用双引号和单引号。举例:

‘’’This is a multi-line string.This is the first line.

This is the second line.

“What’s your name?,” I asked.

He said “Bond, James Bond.”

‘’’

字符串是不可变的

一旦你创建了字符串,你就不能变动它了。也许这样显得不好,但其实相反,我们会在后面见证,在不同程序中(固定不变)为什么不是一种限制。

格式化方法

有时候,我们需要从其他信息中创建字符串,这就是format ( ) 方法的用处。比如下列代码:

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))

(代码的输出,我不放在这里,是要鼓励你在电脑上运行代码看结果,如果确实必要,你就到英文版看结果)并且运行原理的解释,我不一定按照英文的照搬,会根据我们的特点加以改编,请注意。

怎样运行的

字符串可以使用format方法,用相应的实参填充大括号中的空白。请看第一个,它对应变量name, 方法中的第一个实参。同样的,第二个对应age。 请注意,Python是从0开始计算的,这也是计算机界的惯例。所以,第一的位置索引是0,第二个是1,然后继续。

当然,我们也可以用下面的方法达到同样的连接字符串的目的:

name + ‘ is ‘ +str(age) + ‘ years old’

这显得比较丑,也容易出错。另外,用format方法,类型转换成字符串是自动的,不需要刻意的转换,还有,用format我们可以直接改变信息,而不需要处理变量,反之亦然。

特别的,我们可以不使用大括号内的数字,所以,你可以这样写代码:

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)

这个的输出跟上面的是一样的。

我们还可以这样写:

Print (' was yearsold whenhewrotethis book' . format (name=name, age=age))

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

输出结果和前一个一样。

Python 3.6引入了新的方式,更短的方式。详见下面:

Print ( f' was yearsold whenhewrotethis book')

Print ( f' Why is playing with that python?')

注意 f 在字符串的前面。输出结果和前面的一样。

(译者注释:)

竟然还有更细致的format方式,略去不翻译了。感觉初学者用不着。有兴趣的看英文原文。

因为刚刚讨论了格式化,那么我们也谈谈print,print总是用看不见的“新行”字符(\n)结尾,所以连续调用print总是开始一个个新行。如果防止新行出现,那么可以用下面的方式,在括号内后面加上:

print (‘a’, end=’‘)

print (‘b’, end=’‘)

输出 ab

如果你不小心将 ‘ ’空格放大的话,试试看会是什么?

转义符号

设想你有一个字符串,像这样的,”What’s your name?” 你不能在单引号内加单引号,比如 ‘What’syour name?’是要报错的。因为Python遇到这个会晕,不知道从哪里开始哪里结束。所以,你要用‘\’ 叫做转义符的东西。这样就可以了— ‘What\‘s your name?’;当然,双引号内可以有单个的单引号。如果是双引号内双引号,那就需要转义符。其他的例子不再举了,这种东西,多加观察和练习就行了。还有下面的这个,容易被忽视:

“This is the firstsentence. \

This is the secondsentence.”

其实就相当于一行。输出会是一行。

变量

仅仅使用常量很快就变的单调乏味,我们需要一种方式存放信息(数据)并且也能够操控他们。这就是变量出场的时候了。变量名副其实,它暗示它的值是变化的。你可以用变量存储任何东西。变量就是计算机的部分内存,在那里你存储信息。不像常量,你需要一些方法来访问变量,所以,你需要给他们一一命名。

标识符命名

变量是标识符的(典型)例子,标识符就是一些名字,用于标示某些东西。有如下的命名规则。

标识符名称第一个符号需要是英文字母或者下划线;

其后的字符包括英文字母,下划线,以及数字都可以;

标识符名称大小写敏感, myname 和 myName 不一样。

有效的名字包括,i, name_2_3; 非法名有 2things, my-name; >a1b2_cs; this is spaced out 等。(这个没有准备翻译,但大体意思没有问题,请多加模仿标识符命名,而不是单纯记忆。)

数据类型

变量能够包含(hold)不同的类型的值、类型就是数据类型。基本类型包括数字类型和字符串类型。这个我们已经讨论过。在后面的章节里,我们会看到如何用class创建我们自己的类(类型)。

对象

记住,Python将程序中所指的任何东西都称作对象。这意味着,在一般意义上,我们不说这些东西,我们说“这些对象”。(关于对象,译者有一个很好的文章,介绍了Python的对象,请关注微信公众号或加入QQ群,还有CSDN博客,名字都叫(Mark学编程)中寻找并研读。)

有及:英文中,会有对有经验的程序员的一小段补充材料,我以为对初学者没有用,可能还会混淆,所以,没有译出。

安装PyCharm的材料,没有翻译,网上有大量的安装指导材料,并且,我也没有将原文最前面的Python的安装翻译过来,因为,网上很多。必要时到QQ群里,找人指导安装。

举例:使用变量和常量

键入下列代码并运行:

i = 5

print ( i )

i = i +1

Print ( i )

s = ‘’’This is amulti-line string.

This is the second line. ‘’’

print(s)

(再提醒,代码输出刻意跳过,请自行测试运行)

代码运行原理:

首先,我们将常量值 5 赋值给变量 i, 用(=)赋值的。这么一行称作语句;因为他描述了这些东西如何被处理,在这个具体的例子里,我们将值5 连接到变量名 i 上。 下一步,打印了i 的值,用的是print 语句,它仅仅是将变量值打印到屏幕上。

然后,我们将 1 加到 i 存储的值上,并存储。接着打印,然后就是 6;

相同的,我们把字符串赋值到变量 s 上,然后打印。

如果你学习过其他语言,请注意,在Python语言里,变量不需要声明,类型也不需要定义。

逻辑与实体行

实体行就是你所见所写的,逻辑行是指Python作为一个单独语句的行。Python假设一个实体行对应一个逻辑行。

举个例子,print(“hello world”) 语句就是一个逻辑行,如果实体的就是这一行,那么这个实体行就对应一个逻辑行。

Python是鼓励一个实体行对应一个逻辑行的使用方法,这样会使阅读代码清晰。如果你在一行内有1个以上逻辑行,要使用 (;)号来特别分开;这样就表示一个逻辑行的结束,举例:

i = 5

print ( i )

和下面的相同

i = 5;

print ( i );

当然和下面的也相同

i = 5; print ( i);

还有这个

i = 5; print ( i )

但是,我还是强烈推荐你坚持使用一行写一个逻辑行的做法。希望永远不要使用分号,事实上,作者本人从未使用或者见到过Python程序里面有人用分号。

下面的关于\的用法略去(不增加初学者负担)

缩进

Python里面的空白很重要。事实上,开始的空白(缩进)十分重要。这叫做缩进。这些缩进决定了逻辑行,以及逻辑行的分组情况,也就是说这些逻辑行究竟是属于哪些代码块。

这也就意味着同样缩进的行是整体一块的语句,这些一起缩进的叫做“块”,我们将在今后看到这些重要块的例子。

需要记住的是,如果你的缩进出现问题,那么就出现错误。比如下面:

i = 5

#下面代码错误,留意print前面有个空格。

print ('Valueis', i)

print (' I repeat, the value is', i )

当你运行这个代码时,你会看到下面的报错出现,请亲自测试。

File"whitespace.py",line 3

print ('Value is', i )

^

Indentation Error: unexpected indent

如果在你的编辑器上运行了上面的代码,就应该很容易看清报错的内容。因为print前面有个空格,编辑器会报错。

如何缩进?Python推荐4个空格。一般编辑器都自动缩进。注意,Python永远用缩进的块,而不是括号,来表示同一组代码。

好了,这些琐碎但又很基础的东西学完了。(需要你多多练习,才能掌握)。下面进入控制流等方面的学习了。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190210G0K37M00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券