上节课已经教大家安装了Python的解释器,那么这节课我们就可以正式来写代码了
说明:在下面的代码演示中,我将大部分使用python交互器演示代码的输入输出,注意“>>>”后面代表的是输入的代码,没有其他的标志代表的是输出
按照以往的惯例,首先我们还是写一个Hello world 程序
# -*- coding :utf-8 -*-
#Author = susmote
print("hello world")
按照以上的程序,我们简单做一个解释
字符编码
首先第一个要解释的是python的编码格式,python的解释器在加载python的代码时,默认会按照ASCII进行编码
在我们的python程序中,我们免不了要对中文进行处理,但是我们知道ASCII是不支持中文的,所以我们就需要在python文件的首行加上编码格式的申明。
对于中文的编码,我们肯定要提到1980年的gb2312,当时最早的计算机中文编码,只是当时gb2312支持的汉字只收录了7445个字符,其中包括6763个汉字和682个其他符号
gb2312支持的汉字过少,所以在1995又出了新的汉字扩展规范GBK1.0,gbk1.0总共收录了21886个符号,分为汉字区和图形符号区,汉字区包括21003个字符。在后面中文的字符编码在不断的更新换代,同时也支持了我国很多少数民族的文字,如维吾尔文、藏文,虽然现在的PC支持的中文编码格式已经很全了,但对于嵌入式设备,如手机、MP3、MP4一般只支持GB2312。
显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多
UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存..
如想了解更多关于字符编码的请自行上网查阅
需要注意的是,python3默认支持的是utf-8,所以一般是不需要当心编码的错误,但是为了兼容更多平台,还是建议在一些项目中加入申明编码
注释
然后再下面一行是一个注释,说明代码作者的名字,这个你们也可以养成这样的习惯,申明自己的个人代码
在python中有两种注释格式,分为单行注释和多行注释
单行注释:# 注释的内容
# 这是当行注释
多行注释:''' 注释的内容 '''
'''
这是多行注释
特克斯官网www.susmote.com
'''
输出与输入
在python2中使用 print 函数时和在python3中有很大不同
python2中在输出时可以不加括号
>>> print "hello"
hello
>>> i = 2
>>> print i
2
但在python3中,强制要求加括号,不加括号解释器就会报错
>>> print("hello")
hello
>>> i = 1
>>> print(i)
1
除了输出,python当然也有输入的函数
在输入方面,python2和python3也有一点不同
input函数里面可以加入参数作为一个提示符
python2中输入数据,有raw_input() 和 input() 两个函数
- raw_input()将所有输入作为字符串看待,返回字符串类型
- input()只能接收数字的输入,也能输入一个表达式,他返回所输入的数字的类型(int ,float)
>>> name = raw_input("请输入你的名字: ")
请输入你的名字: susmote
>>> type(name)
<type 'str'>
输入字符串返回字符串
>>> age = raw_input("请输入你的年龄: ")
请输入你的年龄: 18
>>> type(age)
<type 'str'>
输入数值返回字符串
>>> result = raw_input("请输入一个算数表达式: ")
请输入一个算数表达式: 2*50
>>> print result
2*50
输入表达式后返回的是字符串
>>> age = input("请输入你的年龄: ")
请输入你的年龄: 18
>>> type(age)
<type 'int'>
input只支持输入数字
>>> result = input("请输入一个算数表达式: ")
请输入一个算数表达式: 2*50
>>> print result
100
input能计算表达式
提示:type()函数可以返回数据的类型
python3中input()函数接收一个标准输入数据,返回的是string类型,在python3中只有一个input,去除了raw_input.
>>> name = input("input your name")
input your namesusmote
>>> name = input("请输入你的名字: ")
请输入你的名字: susmote
>>> type(name)
<class 'str'>
>>> age = input("请输入你的年龄: ")
请输入你的年龄: 18
>>> type(age)
<class 'str'>
>>> result = input("请输入一个表达式: ")
请输入一个表达式: 2*50
>>> print(result)
2*50
当然python也提供了一个方法,可以方便隐藏输入的密码
我们只需要在使用前导入这个模块
import getpass
然后使用getpass.getpass()方法
>>> passwd = getpass.getpass("请输入你的密码: ")
请输入你的密码:
>>> print(passwd)
123456
默认在输入时没有显示,这个有点像Linux的用户密码输入