P y t h o n Python Python基础
第一个程序
Python
不需要引入什么库之后才能写输入输出,比如C
语言就需要在头部引入#include<stdio.h>
,才能进行输入输出,而Python
比较简单,它不需要任何的"准备",直接写程序就好了。
按照惯例,写的第一个程序都是打印出Hello World!
,来看第一个程序
print('Hello World')
没错,就是这么简单,所以大家都说Python
极其的容易入门。
对于学过其他高级语言的人来说,这实在是太简单了,不过我还是要讲一下这个程序有什么不同。
第一个就是引号的问题,学过Java
语言的都知道,单引号括起来的代表的是字符,双引号括起来的是字符串,但是这里的Hello World!
我用单引号括起来了,这里就是Python
不同于其他语言的地方,因为对于Python
来说,单引号与双引号是没有区别的。
第二个就是分号的问题,在C
或者Java
中,我们都已分号结尾表示语句的结束,而在Python
中当然也可以,不过当一行只写一个语句时,分号是可以省略的。所以在这里建议大家,一行最好只写一个语句,当然不仅仅针对Python
。
输入
Python
用以输入的函数是input()
,里面可以接一个字符串的参数,作为提示语句提示用户。
input('请输入一个数字:')
虽然用户输入了一个数字,但是用户输入之后什么都没有发生,我们也没有得到这个数字,所以也没有办法进行处理,所以我们需要一个变量去存储这个数字,这样我们才可以进行处理。
Pyhton
的变量不用声明,可以直接使用,比如:
a = input('请输入一个数字:')
我们以变量a
去接收这个数字,变量a
在之前并没有声明它是何种数据类型。
但是这里还有一个问题,就是a
接收到的并不是数字,而是数字的ASCII
码,从键盘输入字符或者数字,在Python
接收到的都是其ASCII
码,所以a
并不能看做数字类型,而是字符串类型,所以a
不能与数字进行计算,否则会报出错误:
a = input('请输入一个数字:')
a = a + 2
![](https://i-blog.csdnimg.cn/blog_migrate/e00fb2cc998bdf52e8268c3830026628.gif)
这里将提示的错误贴上:
a = a + 2
TypeError: must be str, not int
这里说的是a
不能与数字进行操作,因为a
是str
(字符串)类型,不是int
(整数)类型,所以a
只能与字符串进行操作。
所以如果我们想要将进行数字处理的话,就必须将a
还原为整数类型,其实操作也很简单,如下:
a = input('请输入一个数字:')
a = int(a) #将a转化为int类型
a = a + 2
print(a)
我们来看结果
![](https://i-blog.csdnimg.cn/blog_migrate/4a75066c52728ad450670260b5ac40aa.gif)
注释
不知道注意到前面程序有一行程序多了一行文字
#将a转化为int类型
这个叫做注释,注释编译器是会自动忽略,不会执行的,注释的作用是为了方便他们阅读代码,读懂你的代码的,因为在工作中,大家一起工作的话,少不了要阅读别人的代码,所以如果不写注释的话,基本就等同于天书,因为别人不知道你的思路,你的一个简单操作,别人可能就要思考半天,所以写注释是非常重要的。有的时候也方便自己看懂自己写的代码,因为可能一段时间之后,你就不知道自己当时的想法了。
注释还有一个作用,就是调代码,说实话程序员大部分的时间都在写bug
,然后debug
,在debug
的时候,我们有时会将一段代码注释掉,观察程序是否正常运行或者结果发生了怎样的变化,以判断此部分代码逻辑有无问题
写注释的方法如上,# + 你想注释的内容
,这一种注释叫做单行注释,在#
后的所有内容都是注释内容,编译器是不会执行的。
还有一种注释是多行注释,多行注释是用成对的两个三引号括起来'''注释的内容'''
(当然你也可以用三个双引号),三引号里面包括的内容就是注释的内容,该注释的方法可以注释多行。
三引号还有一种功能是文档注释,这个我忘记怎么用了… …
编码问题
接下来看一个关于编码的问题。
ASCII
码大家都要很熟悉了,一开始计算机的默认编码是ASCII
码,ASCII
码表总共有256个,其中前128
个是字母,数字等能够在键盘上找到的,后128
个是在键盘上找不到的特殊字符。
可见ASCII
码是不支持中文的,毕竟电脑的发明的那些年中国还不能够用上电脑,根本没有考虑中文编码的问题,后来计算机引入了中国,这个不能编码中文就很伤了,所以咱们自己人就搞了一张表,因为在ASCII
码中有一些是没有用的,所以可以将那个没用的位映射到这张表。
第一个支持中文的编码叫做gb2312
,是在1980
年提出的,这张表包含了6000+
简体中文,但是中文远远不止这么多,所以在1995
年又弄出了一张表,这个叫GBK1.0
,Windows
系统是默认支持gbk
的,gbk
包含20000+
的中文汉字,不仅有简体,还有繁体。然后在2000
年有提出了gb18030
,这个包含的就更多了。大约包含27000+
汉字。
因为ASCII
码对于西方的国家差不多够用了,但是设计的时候没有考虑到东亚的国家,所以我们中国搞了gb18030
,其他国家如日本,韩国也要搞他们的编码,这样各搞各的,就会乱掉,所以ISO
(国际化标准组织)就决定搞一个万国码,这就是Unicode
,它支持所有的语言。而且Unicode
是向下兼容gb18030
、gbk
和gb2312
的。
ASCII
的编码是一个字节,但是Unicode
的编码是两个个字节的,翻了一倍,这个对于美国等用不到这样编码的国家存储就翻了一倍,因为他们只需要用ASCII
码表里的就可以了,但是只用ASCII
码的话就会与别的国家不兼容,所以就出现了utf-8
,这个是Unicode
的扩展集,理解为可变长的编码,对于美国这些国家编码只要一个字节,对于西欧的国家,编码要两个字节,对于东亚的国家,编码需要三个字节。utf-8
是完全兼容ASCII
码的。
python2.x
默认是支持ASCII
编码的,python3.x
是默认支持Unicode
的。所以在python3
中可以识别中文,如果想在python2.x
中使用中文,要提前声明:#!-*- codeing:unicode -*-
或#codeing:unicode