Python基础
一. 第一个Python代码程序
创建一个hello.py文件,文件内容如下:
print("hello, world")
执行hello.py 文件,即:python hello.py。
Python内部执行过程如下:

二. 解释器
上一步中执行 python hello.py时,明确的指出hello.py 脚本由Python解释器来执行。
如果想要类似于执行shell脚本一样执行Python脚本,例如:./hello.py ,那么就需要在hello.py 文件的头部指定解释器,如下:
#!/usr/bin/env python
print("hello, world")
如此一来,执行:./hello.py 即可。
注释:执行前需要给予hello.py执行权限,chmod 755 hello.py。
三. 内容编码
Python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认是 ASCII)。
ASCII (American Standard Code for Information Interchange, 美国标准信息交换代码) 是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即 2 ** 8 =256, 所以,ASCII码最多只能表示256个符号。 显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即Unicode。
Unicode (统一码,万国码,单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限性而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定所有的字符和符号最少由16位来表示(2个字节),即 2**16=65536,最少是2个字节,可能会更多。
UTF-8,是对Unicode编码的压缩和优化,他不在使用最少使用2个字节,而是将所有的字符和符号进行分类:ASCII码中的内容使用1个字节保存,欧洲的字符用2个字节保存,东亚的字符用3个字节保存。。。。
所以,Python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认是ASCII),在Python2版本中,默认的编码就是ASCII,如果运行下面代码:
报错:ASCII码无法表示中文。
#!/usr/bin/env python2 print "你好,世界"
改正:告诉Python解释器,用什么编码来执行源代码,即:
#!/usr/bin/env python2 #-*- coding:utf-8 -*- print "你好,世界"
备注:-*- coding:utf-8 -*- 这段说明了使用utf-8编码,-*-符号是为了美观,没有特殊意义。coding:utf-8 和 coding=utf-8 效果一样。
四. 注释
在Python代码中,好的注释是写代码的良好习惯,方便我们以后查看。
单行注释: # 被注释的内容
多行注释:""" 被注释的内容 """
五. 语法缩进
首先我们来看一段代码:
#!/usr/bin/env python3 # -*- coding:utf-8 -*- # 我是个可爱的注释内容 a =10 if a >=0: print(a) else: print(-a)
解释器在编译Python代码时,注释行会自动忽略。其他每一行都是一个语句,当语句以冒号: 结尾时,缩进的语句视为代码块。缩进有利有弊。好处是强国你写出格式化的代码,但没有规定缩进是几个空格还是Tab。 按照约定俗成的管理,应该始终坚持使用4个空格的缩进。缩进的另一个好处是强迫你写出缩进较少的代码,你会倾向于把一段很长的代码拆分成若干函数,从而得到缩进较少的代码。缩进的坏处就是“复制 - 粘贴”功能失效了,这是比较坑的,当你重新构建代码时,粘贴过去的代码必须重新检查缩进是否正确。
注意:Python程序是大小写敏感的,如果写错大小写,程序会报错。
六. 执行脚本传入参数
Python有大量的模块,从而使得开发Python程序非常简洁,类库包括三种:
- Python内部提供的模块
- 业内开源的模块
- 程序员自己开发的模块
Python内部提供一个sys 的模块,其中sys.argv 用来捕获执行Python脚本时传入的参数
#!/usr/bin/env python3 # -*- coding:utf-8 -*- import sys print(sys.argv)
输出结果:

注释:实验环境是在window cmd命令行实现的,在linux 中效果一样。
七. pyc文件
执行Python代码时,如果导入了其他的.py文件,那么,执行过程中会自动生成一个与其同名的 .pyc文件,该文件就是Python解释器编译之后产生的字节码。
注释:代码经过编译可以生成字节码,字节码通过反编译也可以得到代码。

浙公网安备 33010602011771号