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 '你好,世界'
code

注释

  #为单行注释

  """   """ 多行注释

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 #打印文件所在路径

 

posted @ 2017-09-21 19:54  梁颖666  阅读(123)  评论(0编辑  收藏  举报