不过我没讲怎么使用IDLE。在这里补充一下。
下载完Python之后我们应该可以在开始菜单找到一个程序叫做IDLE,这也是新手最常用的Python编辑器,Python自带的。
打开IDLE我们会看到这样一个界面:
这个是IDLE的Shell界面,一般我们不会使用。Shell界面的功能是你输入一行代码执行一样,有点像cmd。
在开始编程之前,我推荐大家更改几个设置。
在上方的Options界面中点击ConfigureIDLE,进入设置界面。
第一个界面更改有关字体的设置。在这里我推荐Consolas字体,看着很舒服,同时每个字符等宽,方便进行编程。下面的Size调整字体大小,Bold用来选择是否加粗。
在设置窗口打开Shell/Ed标签页,把Showlinenumbersinnewwindows右侧的复选框选上,这样编程时能显示出行号,大大方便了debug与交流。
设置部分到此结束,没有要设置的部分了。
PS:IDLE更改语言很麻烦,所以如果不是英语太差的话就不要上网搜教程改语言了。
接下来进入正题:HelloWorld
点击右上角的File-NewFile(或快捷键Ctrl+N)新建文件,然后会弹出这样一个窗口(编辑器):
在编辑器中输入以下程序(一定要使用英文标点!):
print("helloworld")然后点击右上角File-Save(或快捷键Ctrl+S)保存文件,位置随你定。保存之后点击上方Run-RunModule(或F5)运行程序,然后你就得到了这样的运行结果:
helloworld恭喜你,你写出了人生中第一个Python程序。
现在我们再来分析一下这段代码:
print("helloworld")print的中文意思是打印,在这里是输出的意思。print会把括号内的东西输出到终端(也就是展示程序运行结果的窗口)让我们看到。"helloworld"是一个字符串(下文讲解具体概念),双引号中间的就是字符串的内容。简单来说,这一行代码会把双引号内的内容原封不动地输出到终端。
相信有一些人在这里就会出错,因为他们把中文标点当成英文的输入进去了:
print(“helloworld”)那么他就会得到这样的报错:
程序完美的报错了,因为Python无法识别中文标点符号。这告诉我们一个事情:一定、一定要用英文输入法编程!用英文输入法编程!用英文输入法编程!
那么我们怎么让程序分行输出呢?这里提供两种方法。
我们刚刚会了让程序输出文字的方法。大家都知道,计算机最擅长的是计算,那么我们怎么使用Python程序进行计算呢?
先来看一个标准错误示例:
print("1+2")这个程序的输出结果是:
1+2为什么呢?我们刚刚说过,长得像print("")的结构会原封不动的输出双引号中的内容,所以输出的结果会是1+2。那我们该怎么让它输出计算的结果呢?把双引号删掉就好了:
print(1+2)输出结果是:
3为什么会这样就能输出计算结果了呢?这需要涉及到Python的对象类型了。
首先我们需要解释什么是对象。对象就是你的男女朋友一个量。什么样的量都可以。常见的对象有以下几种:
整数的英文是integer,在Python中简写成int。整数之间可以进行加减乘除(符号分别是+-*/)的运算,同时也可以进行整数间的模运算,也就是取余,用%表示(例如10%3=1)。
浮点数就是小数,在Python中用float表示。浮点数之间也可以进行加减乘除,但没有模运算。
字符串就是一堆字符连在一起,在Python中用string表示(串)。
字符的概念很广泛。能在电脑里打出来的文字、符号或数字都是字符,甚至换行也是,不过这是个转义字符。
任意一个字符串必须用单引号或双引号包裹起来,如'hello',"12345",不过它们各自包含的内容还是hello与12345。
字符串可以为空,如'',"",这两个字符串不包含内容。
值得一提的是,单引号与双引号包裹的字符串其实没有区别,但是不要在用单引号包裹起来的字符串里输入单引号(双引号同理),要不然会报错。例如:
print('It'sabeautifuldayoutside')Python会把挨得最近的两个单引号中间的内容视为字符串,然后第二个单引号后面的内容就不在字符串里了,这样不符合print的规则,所以就报错了。解决方法有两种:
两个字符串之间可以通过加号将这两个字符串连接起来,如'James'+"Jack"="JamesJack"。
可以通过len()获取这个字符串的长度,如len("hello")=5
转义字符就是通过一些特殊的组合把一些不可视字符(例如换行符、制表符Tab等)转化成可视字符。大部分可视字符也可以通过编码的方式使用转义字符表示。
常见转义字符如下:
其中需要记忆的只有被框起来的5个
布尔类型用来表示真或假,也只有两种取值:True与False。布尔类型Python中被简写成bool。
这一大类数据类型比较复杂,是将多种类型结合在一起得到的数据结构。常见的复合数据类型有list,set,dict,turple,enum等。我们会在之后逐一讲解。
现在扯回刚刚为什么能输出计算结果的问题。讲解完常见数据类型之后我们就可以解决这个问题了。
print()会输出括号内的对象。具体实例如下:
print('hello')print(1)print('1+2')print(1+2)print(1.2)print(1.2+3.4)print(True)输出结果如下:
hello11+231.24.6True同时,如果你想使用一个print输出两个不同类型的对象,可以在两个对象中间加一个逗号,如下:
print("theresultof3+4is",3+4)输出结果如下:
theresultof3+4is7细心的同学可能注意到,在字符串和7中间有一个空格。如果我们想去掉这个空格可以这么做:
print("theresultof3+4is",3+4,sep='')sep用来调整用逗号分隔开的两个对象中间输出的内容,默认是'',也就是一个空格。我们把sep改成''也就是让中间输出的内容是一个空字符串。
上文我们说到使用两次print能输出两行内容。如果我们想让两次print中间的内容在同一行上怎么办?看下面:
print("hello",end='')print("world")第一行print中的end表示print语句会在后面追加的字符串,默认是'\n',也就是换行符,所以每一条print语句后面都会换行。如果把end改成'',那么每一条print语句后面就只会跟一个空格,所以输出结果是这样的:
helloworld我们也可以把end改成其他东西,比如:
print("hello",end='Thisistheendofaline\n')print("world",end='Thisistheendofaline\n')输出结果就会是:
helloThisistheendofalineworldThisistheendofaline效果就是这样的。
这节课主要讲了print的用法与Python的常见对象类型。这两个是之后编程中基础中的基础,一定要熟练掌握。关于print用法中sep与end的用法不是那么重要,可以不记。关于常见对象类型的一些说明如果不是很懂的话可以先跳过,在后面的学习中逐渐理解。