Python入门
Python中的代码执行
Python中的代码可以由两种方式执行:
1、直接在Python环境中执行:
1 LangYingdeMBP:bin langying$ python //python 环境 2 Python 2.7.10 (default, Feb 7 2017, 00:08:15) 3 [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin 4 Type "help", "copyright", "credits" or "license" for more information. 5 >>> print 'hello world' 6 hello world
2、写一个Python文件然后执行:
LangYingdeMBP:~ langying$ python Desktop/h.py hello,world
但是这两种方式都需要我们明确指出文件是由Python解释器来执行。
如果想要类似于执行shell脚本一样执行Python脚本,那么就需要在h.py文件的头部制定解释器,如下:
1 #!/usr/bin/env python 2 print 'hello world'
如此以来,直接执行
./h.py
即可。
执行前需给予h.py执行权限,chmod 755 h.py
内容编码
1、ASCII
Python解释器在加载.py文件中的代码时,会对内容进行编码(默认ASCII)
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是给予拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用8位来表示(一个字节),即2^8=256,所以,ASCII码最多只能表示256个符号。
显然ASCII码无法将世界上的各种符号和文字全部表示,所以,就需要出现一种可以代表所有字符和符号的编码,即:Unicode。
2、Unicode
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由16位来表示(2个字节 1 Byte = 8 bit),即:2^16=65536。
注意:此处说的是最少2个字节,可能更多。
3、UTF-8
utf-8,是对Unicode编码的压缩和优化,他不在最少使用2个字节,而是将所有的字符和符号进行分类:
ASCII码中的内容用一个字节保存
欧洲的字符用两个字节保存
东亚的字符用三个字节保存
....
所以,Python解释器在加载 .py文件中的代码时,会对内容进行编码(默认ASCII码),如果是如下代码的话:
1 #!/usr/bin/env python 2 print '你好,世界'
会报错,ASCII码无法表示中文
改正:应该告诉Python解释器,用什么编码来执行源代码,即:
#!/usr/bin/env python # -*- coding:utf-8 -*- print '你好,世界'
注释
#为单行注释
""" """ 多行注释
pyc文件
执行Python代码时,如果导入了其他的 .py文件,那么,执行过程中会自动生成一个与其同名的 .pyc文件,该文件就是Python解释器编译之后产生的字节码。
代码经编译可以产生字节码;字节码通过反编译也可以得到代码。
模块
输入密码时,要想不可见,则需利用getpass模块中的getpass方法,即:
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 import getpass 4 user = raw_input("Please input your username")#为可见的 5 pwd = getpass.getpass("Please input your password")#不可见的 6 print user 7 print pwd
执行脚本传入参数
Python中有大量的模块,从而使得开发Python程序非常简洁。
类库包括三种:
- Python内部提供的模块
- 业内开源的模块
- 程序员自己开发的模块
Python内部提供一个sys模块,其中的sys.argv用来捕获执行Python脚本时传入的参数
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 import sys 4 print sys.argv #打印文件所在路径