网站建设基于,广州seo代理,广东重工建设监理有限公司官方网站,wordpress增加微语Python语法结构
语句块缩进 1.python代码块通过缩进对齐表达代码逻辑而不是使用大括号
2.缩进表达一个语句属于哪个代码块 3.缩进风格 #xff1a; 建议使用四个空格 如果是Linux系统的话#xff0c;可以这样做#xff0c;实现自动缩进 #xff1a;
vim ~/.vimrc
set ai…Python语法结构
语句块缩进 1.python代码块通过缩进对齐表达代码逻辑而不是使用大括号
2.缩进表达一个语句属于哪个代码块 3.缩进风格 建议使用四个空格 如果是Linux系统的话可以这样做实现自动缩进
vim ~/.vimrc
set ai
set tabstop4
注释
1、和大部分脚本及Unix-shell语言一样python也使用#符号标示注释 2、从#开始直到一行结束的内容都是注释 3、良好的注释习惯可以做到方便其他人了解程序功能 方便自己在日后读懂代码 文档字符串
1、可以当作一种特殊的注释 2、在模块、类或者函数的起始添加一个字符串起到在线文档的功能 3、简单的说明可以使用单引号或双引号 4、较长的文字说明可以使用三引号 #!/usr/bin/env python
star module
just a sample module.
only include one function.
def pstar():do not accept args. Used to print 50 starsprint * * 50 导入模块后就可以查看到在线文档 [rootlocalhost bin]# pythonimport starhelp(star)
NAME
star - star module
FILE
/root/bin/star.py
DESCRIPTION
just a sample module.
only include one function.
FUNCTIONS
pstar()
do not accept args. Used to print 50 stars Python入门
第一句Python代码
1.在linux下创建一个文件叫hello.py,输入一下内容 print hello,world 然后执行命令:python hello.py ,输出
Hello World! python内部执行过程如下 1.指定解释器
上一步中执行 python hello.py 时明确的指出 hello.py 脚本由 python 解释器来执行。
如果想要类似于执行shell脚本一样执行python脚本例 ./hello.py 那么就需要在 hello.py 文件的头部指定解释器如下 #!/usr/bin/env pythonprint hello,world 如此一来执行 ./hello.py 即可。
ps执行前需给予 hello.py 执行权限chmod 755 hello.py 字符编码
python解释器在加载 .py 文件中的代码时会对内容进行编码默认ascii ASCIIAmerican Standard Code for Information Interchange美国标准信息交换代码是基于拉丁字母的一套电脑编码系统主要用于显示现代英语和其他西欧语言其最多只能用 8 位来表示一个字节即2**8 256-1所以ASCII码最多只能表示 255 个符号。 1、关于中文
为了处理汉字程序员设计了用于简体中文的GB2312和用于繁体中文的big5。
GB2312(1980年)一共收录了7445个字符包括6763个汉字和682个其它符号。汉字区的内码范围高字节从B0-F7低字节从A1-FE占用的码位是72*946768。其中有5个空位是D7FA-D7FE。
GB2312 支持的汉字太少。1995年的汉字扩展规范GBK1.0收录了21886个符号它分为汉字区和图形符号区。汉字区包括21003个字符。2000年的 GB18030是取代GBK1.0的正式国家标准。该标准收录了27484个汉字同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。现在的PC平台必须支持GB18030对嵌入式产品暂不作要求。所以手机、MP3一般只支持GB2312。
从ASCII、GB2312、GBK 到GB18030这些编码方法是向下兼容的即同一个字符在这些方案中总是有相同的编码后面的标准支持更多的字符。在这些编码中英文和中文可以统一地处理。区分中文编码的方法是高字节的最高位不为0。按照程序员的称呼GB2312、GBK到GB18030都属于双字节字符集 (DBCS)。
有的中文Windows的缺省内码还是GBK可以通过GB18030升级包升级到GB18030。不过GB18030相对GBK增加的字符普通人是很难用到的通常我们还是用GBK指代中文Windows内码。 显然ASCII码无法将世界上的各种文字和符号全部表示所以就需要新出一种可以代表所有字符和符号的编码即Unicode
Unicode统一码、万国码、单一码是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的它为每种语言中的每个字符设定了统一并且唯一的二进制编码规定所有的字符和符号最少由 16 位来表示2个字节即2 **16 65536 注此处说的的是最少2个字节可能更多
UTF-8是对Unicode编码的压缩和优化他不再使用最少使用2个字节而是将所有的字符和符号进行分类ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存东亚的字符用3个字节保存...
所以python解释器在加载 .py 文件中的代码时会对内容进行编码默认ascill如果是如下代码的话
报错ascii码无法表示中文 #!/usr/bin/env pythonprint 你好世界 改正应该显示的告诉python解释器用什么编码来执行源代码即
1#!/usr/bin/env python# -*- coding: utf-8 -*-print 你好世界 2、补充知识 Python文件编码声明
# -*- coding: utf-8 -*-是用来指定文件编码的
1、如果没有此文件编码类型声明则Python默认以ASCII编码去处理
2、文件编码类型声明必须放在Python文件的第一行或第二行即如果把文件编码类型声明放在其他行则无法被识别
3、编码声明所支持的格式有3种3.1 带等号的
#codingencoding name
3.2 带冒号的
#!/usr/bin/env python
#-*- coding:encoding name -*-3.3 vim的配置
#!/usr/bin/env python
# vim : set fileencodingencoding name4.声明的格式的语法只要是符合正则表达式就可以 模块初识
Python有大量的模块从而使得开发Python程序非常简洁。类库有包括三中
Python内部提供的模块业内开源的模块程序员自己开发的模块
Python内部提供一个 sys 的模块其中的 sys.argv 用来捕获执行执行python脚本时传入的参数 1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3
4 import sys
5
6 print sys.argv Linux默认没有补全功能要想实现此功能: 方法1新建一个tab.py文件输入以下内容 #!/usr/bin/env pythonimport sys
import readline
import rlcompleter
import atexit
import osreadline.parse_and_bind(tab: complete)histfile os.path.join(os.environ[HOME], .pythonhistory)try:readline.read_history_file(histfile)
except IOError:passatexit.register(readline.write_history_file,histfile)del os, histfile, readline, rlcompleter 保存完后默认只能在当前目录下导入要想实现在任何地方都可以导入则要把该文件放到/usr/lib/python2.7/site-packages目录下。
这个目录在不同的OS里放的位置不一样用 print(sys.path) 可以查看python环境变量列表 方法2安装ipython pyc 文件
执行Python代码时如果导入了其他的 .py 文件那么执行过程中会自动生成一个与其同名的 .pyc 文件该文件就是Python解释器编译之后产生的字节码。
ps代码经过编译可以产生字节码字节码通过反编译也可以得到代码 变量 1、变量定义的规则
1.变量名只能是 字母、数字或下划线的任意组合
2、变量名的第一个字符不能是数字
3.大小写敏感
4.以下关键字不能声明为变量名 [and, as, assert, break, class, continue, def, del, elif, else, except, exec, finally, for, from, global, if, import, in, is, lambda, not, or, pass, print, raise, return, try, while, with, yield] 5.关键字列表和iskeyword()函数都放入了keyword模块以便查阅
通过导入import keyword可以查看关键字 判断是否为关键字是的话返回True否则返回False 在Python中从变量到对象的连接称作引用。也就是说引用是一种关系以内存中的指针的形式实现
一旦变量被使用也就是说被引用Python会自动跟随这个变量到对象的连接 1、变量是一个系统表的元素拥有指向对象的连接的空间
2、对象是分配的一块内存有足够的空间去表示它们所代表的值
3、引用是自动形成的从变量到对象的指针 2、声明变量
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3
4 name hello 上述代码声明了一个变量变量名为 name变量name的值为hello world
变量的作用其代指内存里某个地址中保存的内容 3、变量赋值
1.变量的类型和值在赋值那一刻被初始化
2. 变量赋值通过等号来执行 3 python也支持增量赋值 #!/usr/bin/env python# -*- coding: utf-8 -*-name1 helloname2 world 4、赋值运算符
1.python语言中等号是主要的赋值运算符
2.赋值并不是直接将一个值赋给一个变量 3.在python中对象是通过引用传递的。在赋值时不管这个对象是新创建的还是一个已经存在的
都是将该对象的引用并不是值赋值给变量 4.python也支持链式多重赋值 下面是几种赋值方式的例子
链式赋值 1 x y 1 增量赋值
从python 2.0开始等号可以和一个算术运算符组合在一起 将计算结果重新赋值给左边的变量,这被称为增量赋值 x 1
多元赋值
1、另一种将多个变量同时赋值的方法称为多元赋值采用这种方式赋值时等号两边的对象都是元组 x, y, z 1, 2, a stringprint x%d, y%d % (x, y)
x1, y2x, y y, xprint x%d, y%d % (x, y)
x2, y1 5、使用raw_input()函数读取用户输入数据 #!/usr/bin/env python
# -*- coding: utf-8 -*-# 将用户输入的内容赋值给 name 变量
name raw_input(请输入用户名) # 打印输入的内容
print name 输出结果
请输入用户名bob
bob 注意在2.7版本中需要注意raw_input和input的区别 1.因为 raw_input()把任何输入的都转成字符串存储。 2.而 input()接受输入的是一个表达式否则就报错
3.raw_input()的小括号中放入的是提示信息用来在获取数据之前给用户的一个简单提示
4.input()函数与raw_input()类似但其接受的输入必须是表达式
5.input()接受表达式输入并把表达式的结果赋值给等号左边的变量 python3版本中 没有raw_input()函数只有input() 并且 python3中的input与python2中的raw_input()功能一样 name input(My name is : )
My name is : xiaomingTraceback (most recent call last):File pyshell#0, line 1, in modulename input(My name is : )File string, line 1, in module
NameError: name xiaoming is not definedname input(My name is : )
My name is : xiaomingprint name
xiaoming