初中生就能看懂的Python教程 - 1. hello world、print与对象类型

发布时间 2023-12-03 14:41:41作者: AledNotFoundBNDS

上一篇教程我们讲了如何安装Python。可以开始编程了。这一篇文章讲解有关print与变量的内容。

不过我没讲怎么使用IDLE。在这里补充一下。

Python IDLE的使用

下载完Python之后我们应该可以在开始菜单找到一个程序叫做IDLE,这也是新手最常用的Python编辑器,Python自带的。

打开IDLE我们会看到这样一个界面:

这个是IDLE的Shell界面,一般我们不会使用。Shell界面的功能是你输入一行代码执行一样,有点像cmd。

在开始编程之前,我推荐大家更改几个设置。

在上方的Options界面中点击Configure IDLE,进入设置界面。

第一个界面更改有关字体的设置。在这里我推荐Consolas字体,看着很舒服,同时每个字符等宽,方便进行编程。下面的Size调整字体大小,Bold用来选择是否加粗。

在设置窗口打开Shell/Ed标签页,把Show line numbers in new windows右侧的复选框选上,这样编程时能显示出行号,大大方便了debug与交流。

设置部分到此结束,没有要设置的部分了。

PS:IDLE更改语言很麻烦,所以如果不是英语太差的话就不要上网搜教程改语言了。

接下来进入正题:Hello World

第一条Python程序:Hello World

点击右上角的File-New File(或快捷键Ctrl+N)新建文件,然后会弹出这样一个窗口(编辑器):

在编辑器中输入以下程序(一定要使用英文标点!):

print("hello world")

然后点击右上角File-Save(或快捷键Ctrl+S)保存文件,位置随你定。保存之后点击上方Run-Run Module(或F5)运行程序,然后你就得到了这样的运行结果:

hello world

恭喜你,你写出了人生中第一个Python程序。

现在我们再来分析一下这段代码:

print("hello world")

print的中文意思是打印,在这里是输出的意思。print会把括号内的东西输出到终端(也就是展示程序运行结果的窗口)让我们看到。"hello world"是一个字符串(下文讲解具体概念),双引号中间的就是字符串的内容。简单来说,这一行代码会把双引号内的内容原封不动地输出到终端。

相信有一些人在这里就会出错,因为他们把中文标点当成英文的输入进去了:

print(“hello world”)

那么他就会得到这样的报错:

程序完美的报错了,因为Python无法识别中文标点符号。这告诉我们一个事情:一定、一定要用英文输入法编程!用英文输入法编程!用英文输入法编程!

那么我们怎么让程序分行输出呢?这里提供两种方法。

  1. 两行print

    print("hello")
    print("world")
    

    输出结果就是这样的:

    hello
    world
    

    每一条print语句都会在输出的字符串后面跟一个回车,所以两行print就能达到这样的效果。

  2. 使用转义字符\n

    print("hello\nworld")
    

    输出结果就是这样的:

    hello
    world
    

    关于转义字符会在下文详细叙述。

让Python输出计算结果

我们刚刚会了让程序输出文字的方法。大家都知道,计算机最擅长的是计算,那么我们怎么使用Python程序进行计算呢?

先来看一个标准错误示例

print("1+2")

这个程序的输出结果是:

1+2

为什么呢?我们刚刚说过,长得像print("")的结构会原封不动的输出双引号中的内容,所以输出的结果会是1+2。那我们该怎么让它输出计算的结果呢?把双引号删掉就好了:

print(1+2)

输出结果是:

3

为什么会这样就能输出计算结果了呢?这需要涉及到Python的对象类型了。

Python对象类型

首先我们需要解释什么是对象。对象就是你的男女朋友一个量。什么样的量都可以。常见的对象有以下几种:

整数

整数的英文是integer,在Python中简写成int。整数之间可以进行加减乘除(符号分别是+-*/)的运算,同时也可以进行整数间的模运算,也就是取余,用%表示(例如10%3 = 1)。

浮点数(小数)

浮点数就是小数,在Python中用float表示。浮点数之间也可以进行加减乘除,但没有模运算。

字符串

字符串就是一堆字符连在一起,在Python中用string表示(串)。

字符的概念很广泛。能在电脑里打出来的文字、符号或数字都是字符,甚至换行也是,不过这是个转义字符。

任意一个字符串必须用单引号或双引号包裹起来,如'hello'"12345",不过它们各自包含的内容还是hello12345

字符串可以为空,如''"",这两个字符串不包含内容。

值得一提的是,单引号与双引号包裹的字符串其实没有区别,但是不要在用单引号包裹起来的字符串里输入单引号(双引号同理),要不然会报错。例如:

print('It's a beautiful day outside')

Python会把挨得最近的两个单引号中间的视为字符串,然后第二个单引号后面的内容就不在字符串里了,这样不符合print的规则,所以就报错了。解决方法有两种:

  1. 使用双引号包裹(这就是双引号存在的意义吧):

    print("It's a beautiful day outside")
    

    此时会把两个双引号中间的内容识别成字符串。

  2. 使用转义字符\'

    print('It\'s a beautiful day outside')
    

    转义后的单引号会被程序强行识别成普通字符,所以就不会与其他单引号进行匹配。

两个字符串之间可以通过加号将这两个字符串连接起来,如'James'+"Jack" = "JamesJack"

可以通过len()获取这个字符串的长度,如len("hello") = 5

转义字符就是通过一些特殊的组合把一些不可视字符(例如换行符、制表符Tab等)转化成可视字符。大部分可视字符也可以通过编码的方式使用转义字符表示。

常见转义字符如下:

其中需要记忆的只有被框起来的5个

布尔类型

布尔类型用来表示真或假,也只有两种取值:TrueFalse。布尔类型Python中被简写成bool

复合数据类型

这一大类数据类型比较复杂,是将多种类型结合在一起得到的数据结构。常见的复合数据类型有list, set, dict, turple, enum等。我们会在之后逐一讲解。

print()

现在扯回刚刚为什么能输出计算结果的问题。讲解完常见数据类型之后我们就可以解决这个问题了。

print()会输出括号内的对象。具体实例如下:

print('hello')
print(1)
print('1+2')
print(1+2)
print(1.2)
print(1.2+3.4)
print(True)

输出结果如下:

hello
1
1+2
3
1.2
4.6
True

同时,如果你想使用一个print输出两个不同类型的对象,可以在两个对象中间加一个逗号,如下:

print("the result of 3+4 is", 3+4)

输出结果如下:

the result of 3+4 is 7

细心的同学可能注意到,在字符串和7中间有一个空格。如果我们想去掉这个空格可以这么做:

print("the result of 3+4 is", 3+4, sep='')

sep用来调整用逗号分隔开的两个对象中间输出的内容,默认是' ',也就是一个空格。我们把sep改成''也就是让中间输出的内容是一个空字符串。

上文我们说到使用两次print能输出两行内容。如果我们想让两次print中间的内容在同一行上怎么办?看下面:

print("hello", end=' ')
print("world")

第一行print中的end表示print语句会在后面追加的字符串,默认是'\n',也就是换行符,所以每一条print语句后面都会换行。如果把end改成' ',那么每一条print语句后面就只会跟一个空格,所以输出结果是这样的:

hello world

我们也可以把end改成其他东西,比如:

print("hello", end='This is the end of a line\n')
print("world", end='This is the end of a line\n')

输出结果就会是:

helloThis is the end of a line
worldThis is the end of a line

效果就是这样的。


这节课主要讲了print的用法与Python的常见对象类型。这两个是之后编程中基础中的基础,一定要熟练掌握。关于print用法中sep与end的用法不是那么重要,可以不记。关于常见对象类型的一些说明如果不是很懂的话可以先跳过,在后面的学习中逐渐理解。

我不定时更新,想接着学的同学可以多多催更。

学习Python的时候总会遇到很多奇奇怪怪的bug,有问题的话请私信我,有时间就回答。