Python 是一种解释型语言 编译型:直接编译成机器指令,并直接运行机器指令执行档 解释型:运行时直接翻译 脚本语言一般需要解释器才能运行。如JAVASCRIPT,ASP,PHP,PERL等 Java、C#、VB.net等的源码先编译成字节码,再由虚拟机“解释”执行字节码。 编译型语言的执行速度快,消耗内存少,但是语言比较复杂,安全性较低,文件大,平台依赖。 解释型语言平台独立性,保证高度安全性,代码小,运行程序时需要运行解释器,占用了内存了CPU。 Python3.x 与 Python2.x 的许多兼容性设计的功能可以通过 __future__ 这个包来导入。 from __future__ import print_function # 导入 __future__ 包 print输出自动换行,无换行的话,在变量末尾加上逗号
一、python标识符 · 在 Python 里,标识符由字母、数字、下划线组成。 · 在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头,不能包含空格、@、% 以及 $ 等特殊字符。 · Python 中的标识符是区分大小写的。 · 以单下划线开头的标识符是有特殊意义的。 以单下划线开头(如_foo) ,表示的是 protected 类型的变量,代表不能直接访问的类属性,需通过类提供的接口进行访问 不能用 from xxx import * 而导入。 · 以双下划线开头的 __foo 代表类的私有成员 · 以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。 · Python 可以同一行显示多条语句,方法是用分号 · 另外需要注意的是,Python 允许使用汉字作为标识符 例如:C语言中文网 = "http://c.biancheng.net" 但我们应尽量避免使用汉字作为标识符,这会避免遇到很多奇葩的错误。 · 命名 当标识符用作模块名时,应尽量短小,并且全部使用小写字母,可以使用下划线分割多个字母,例如 game_mian、game_register 等。 当标识符用作包的名称时,应尽量短小,也全部使用小写字母,不推荐使用下划线,例如 com.mr、com.mr.book 等。 当标识符用作类名时,应采用单词首字母大写的形式。例如,定义一个图书类,可以命名为 Book。 模块内部的类名,可以采用 "下划线+首字母大写" 的形式,如 _Book。 函数名、类中的属性名和方法名,应全部使用小写字母,多个单词之间可以用下划线分割。
二、标准数据类型 Numbers(数字): int long(L,只存在于 Python2.X 版本中) float complex(复数:由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型。) String(字符串) List(列表) Tuple(元组) Dictionary(字典) 元组是不允许更新的。而列表是允许更新 列表是有序的对象集合,字典是无序的对象集合。
三、数据类型的转换 int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) 将x转换到一个浮点数 complex(real [,imag ]) 创建一个复数 str(x ) 将对象 x 转换为字符串 repr(x ) 将对象 x 转换为表达式字符串 eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象 tuple(s ) 将序列 s 转换为一个元组 list(s ) 将序列 s 转换为一个列表 chr(x ) 将一个整数转换为一个字符 unichr(x ) 将一个整数转换为Unicode字符 ord(x ) 将一个字符转换为它的整数值 hex(x ) 将一个整数转换为一个十六进制字符串 oct(x ) 将一个整数转换为一个八进制字符串
四、运算符 1、算术运算符: + - * / %(取模,余数)**(幂)//(取整数,向下取整) 2、比较运算符: == != <> > < >= <= 3、赋值运算符 = += -= *= /= %=(取模) **= //= 4、位运算符 按位运算符是把数字看作二进制来进行计算的 5、逻辑运算符 and or not 6、成员运算符 in not in 7、身份运算符 is is not r或者R(指定原始字符串) 用于比较两个对象的存储单元,x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False is 用于判断两个变量引用对象是否为同一个(同一块内存空间), == 用于判断引用变量的值是否相等。
五、条件语句 if 判断条件1: 执行语句1…… elif 判断条件2: 执行语句2…… else: 执行语句3…… python 并不支持 switch 语句
六、循环控制语句 while、for、break(终止整个循环)、continue(跳出当前本次循环)、pass
七、模块 1、模块 import math:数学运算 import cmath:复数运算 dir(math):查看math包的内容 2、数学函数、随机函数、三角函数 https://www.runoob.com/python/python-numbers.html random() 数学常量:pi(圆周率)
八、字符串 1、用反斜杠 \ 转义字符 2、字符串格式化 用%操作符格式化字符串 %:开始 -:左对齐 +:右对齐 m.n:最小宽度.精度 第二个%:待转换的表达式 format()方法 <模板字符串>.format(<逗号分隔的参数>) 3、字符串的索引 0__________N N-1_______-1(反向索引) <string>[<索引>] 4、字符串的切片 <string>[<start>:<end>] 两个索引确定一个位置范围 5、字符串处理函数 大小写转换函数:str.lower()、upper()、capitalize()、swapcase() 查找替换函数:find(str[,strat[,end]] ),检查是否包含在指定范围内,如果包含,返回str的索引值,否则返回−1 字符串拆分与合并: 拆分:split(sep, num) str1="hi,Python,hi,Java!" str1.split(",") ['hi', 'Python', 'hi', 'Java!'] 合并:join(seq) lst=['hi', 'Python!', 'hi','Java!'] s="" s.join(lst)
九、文件 file object = open(file_name [, access_mode][, buffering]) file_name:file_name变量是一个包含了你要访问的文件名称的字符串值。 access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。 这个参数是非强制的,默认文件访问模式为只读(r)。 wb:以二进制格式打开文件用于只写 w+:打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 a:追加写入内容 buffering:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。