标签:
1.Python2 还是 Python3 ?
py2.7是2.x系列的最后一个版本,已经停止开发,不再增加新功能。2020年终止支持。
所有的最新的标准库的更新改进,只会在3.x的版本里出现。
龟叔决定清理Python2.x ,并且不再兼容旧版本。 最大的一个改变就是使用Unicode作为默认编码。Pyhton2.x中直接写中文会报错,Python3中可以直接写中文了。
从开源项目看,支持py3的比例已经大大提高,知名的项目一般都支持py2.7和py3+。
py3比py2更规范统一、去掉了没必要的关键字
Python3.x还在持续改进
2.字符编码
在python2.x中默认编码==Assic码,如果需要支持中文
#!-*- coding:utf-8 -*-
#coding:utf-8
在python3.x中默认编码==unicode直接支持中文
下面来详细写一下字符编码
在计算机发展之初,人机交互使用的是Assic编码,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号
支持中文的第一张表是GB2312(1980,6700+),之后扩展到 gbk1.0(1995,20000),Gb18030(2000,27000)
unicode万国码出现,为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,2 **16 = 65536存一个字符统一占用2字节
UTF-8=是unicode的扩展集,使用可变长的字符编码集,即原来英文字符依旧占8位一字节,欧洲语言占用2字节,亚洲语言占用3字节
3.用户输入
name = input("Your name : ") print("hello",name)
执行一下:
c:\test>python input.py
Your name : miao
hello miao
用户输入的数据类型默认为string,如果执行以下程序
death_age=100 age = input("Your age : ")print("You can live for ",death_age-age,"years")
会报错如下:
c:\test>python input.py
Your age : 1
Traceback (most recent call last):
File "input.py", line 3, in <module>
print("You can live for ",death_age-age,"years")
TypeError: unsupported operand type(s) for -: ‘int‘ and ‘str‘
c:\test>
需要强制转换一下数据类型
death_age=100 age = int(input("Your age : ")) print("You can live for ",death_age-age,"years")
即可成功执行
c:\test>python input.py
Your age : 1
You can live for 99 years
输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法
标签:
原文地址:http://www.cnblogs.com/chunli/p/5790230.html