-
内容编码
python解释器在加载.py文件的时候,会对内容进行编码(默认是ascii编码)。
ASCII 是基于拉丁系统的一套电脑编码系统, 主要用于显示现代英语和其他西欧语言,其最多只能用8位来表示(一个字节),即:2**8=256,所以ASCII最多可以表示256个符号。
显然ASCII无法将世界上的语言和文字全都表示出来,所以,就需要一种新的字符编码,即Unicode。
Unicode(统一码,万国码,单一码)是一种在计算机上使用的编码。Unicode是为了解决传统的字符编码的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码(最终,还是二进制编码)。规定所有的字符和符号最少由16位来表示(1位是2个字节),也就是2**16=65536.
UTF-8是对Unicode码的压缩和优化,她不在使用最少两个字节,而是将所有的字符和符号进行分类:ascii码中的字节用一个字节表示, 欧洲的符号用两个字节表示,东亚的字符有三个字节表示。。。。
所以python解释器在加载.py文件的时候,会对内容进行编码,默认是ascii编码。如果代码如下,出现汉字,将会编码失败。
失败:ascii码无法表示中文。
1 #!/usr/bin/env python 2 3 print "你好,世界"
改正:应该显示的告诉python解释器,用什么编码来执行源代码,即:
#!/usr/bin/env python # -*- coding: utf-8 -*- print "你好,世界"
-
执行脚本传入参数
Python有大量的模块,从而使得开发Python程序非常简洁。类库有包括三中:
- Python内部提供的模块
- 业内开源的模块
- 程序员自己开发的模块
Python内部提供一个 sys 的模块,其中的 sys.argv 用来捕获执行执行python脚本时传入的参数
# /usr/bin/env python # -*- coding:utf-8 -*- import sys args = sys.argv print(args)
执行结果:
['D:/PycharmProjects/test/test08.py','张三','李四','王五']
-
python中getpass的用法
python中getpass的作用是输入密码不可见
打开pycharm的terminal