python语法小结杂烩

来源:互联网 发布:北京联合大学网络排名 编辑:程序博客网 时间:2024/05/01 17:31

1.在Python中,一般来说一条语句占用一行。一条语句结束一般不需要使用C语言中的“;”,但在Python中也可以使用“;”将两条语句写在一行。另外,如果缩进语句中只有一条语句,也可以将其写在“:”之后。

2.单引号中的字符串可以包含双引号,双引号中的字符串可以包含单引号,而不需要使用转义字符。另外3个引号所包围的字符可以作为注释,还可以作为格式化的字符串,该字符串可以不再一行,格式化后行尾会自动转化为“\n”转义字符。

3.在Python中可以使用“\”将较长的语句分成几行来写,但是注意每行后面不可以有#注释。或者可以使用圆括号将较长的语句分行,每行后面可以使用#注释。

4.类型间转换
int():可变换字符串转换为整数
float():可变换字符串转换为浮点数
str():将数字转换为字符串
hex():将整数转换为十六进制字符串,包含前缀“0x”
oct():将整数转换为八进制字符串,包含前缀“0o”
注:string模块中有string.atoi(x, base = 10),类似int(),但是可以选择变换后的进制。

5.math模块中数学函数:
sin(x)
cos(x)
asin(x)
acos(x)
tan(x)
atan(x)
hypot(x, y):求直角三角形的斜边长度,x和y为两个直角边长度
fmod(x, y):求x / y的余数,等同于x % y
ceil(x):求不小于x的最大整数
floor(x):求不大于x的最小整数
fabs(x):求x的绝对值
exp(x):求e的x次幂
pow(x, y):求x的y次幂,等同于x ** y
log10(x):求x以log10为底的对数
sqrt(x):求x的平方根
pi:求pi的值

6.字符串操作
string.capitalize():将字符串第一个字母大写
string.count(x):获得字符串中某字符串的数目
string.find(x):获得字符串中某子字符串的起始位置
string.isalnum():是否仅包含0~9、A~Z、a~z
string.isalpha():是否仅包含A~Z、a~z
string.isaldigit():是否仅包含0~9
string.islower()
string.isupper()
string.lower()
string.upper()
string.isspace()
string.istitle():字符串中所有单词是否首字母大写
string.title()
string.join(x):将string插入x中的每两个字符之间
string.swapcase():大小写字母转换
string.split(x):利用分割字符串的单词(默认是space)
len(string)

7.格式化字符串
%f
%d
%s
%o:八进制整数
%x:十六进制整数
注:r"xxxxx"或者R"xxxxx"表示原始字符串,常用语正则表达式或者路径表示中,其间没有转义字符,均是正常字符。

8.列表list
list.append(x):追加成员x
list.count(x):参数x出现的次数
list.extend(x):list1+list2无法改变list1,只能返回一个新的list,但是list2.extend(list2)函数可以改变list1的值
list.index(x):获得x在list中的位置
list.insert(index, x):在index处插入x
list.pop(index):删除索引为index的成员
list.remove(x):删除值为x的成员
list.reverse()
list.sort()
list.clear()
注:tuple的操作与list类似,但是不包含可修改元组的操作。

9.字典dict
dict.clear()
dict.copy(x):将字典x拷贝给dict
dict.get(key):等同于dict[k]
dict.has_key(key):是否包含key键
dict.items():获得键-值对组成的列表
dict.keys():获得键组成的列表
dict.values():获得值组成的列表
dict.pop(key)
dict.update(x):利用字典x更新原字典

10.文件操作
open(filename, mode, bufsize)
filename:要打开的文件名
mode:打开模式(r是只读,w是替换写,a是追加写,+是读写等)
bufsize:缓冲区大小,可以默认
file.read():整个文件读入字符串中
file.readlines():整个文件读入列表中
file.readline():某行读入字符串中
file.write(x):写入字符串
file.writelines(x):写入列表x
file.close().

11.函数参数
调用函数可以同时使用按顺序传递参数,以及关键字传递参数等,但是必须注意按顺序传递的参数要位于按关键字传递的参数之前,而且不能有重复的情况发生。例如:
def sample(x, y, z):
pass
mysum(1, z = 5, y = 6)     #ok
mysum(z = 6, y = 7, 3)     #error
使用可变长参数的函数,将其所有参数保存在一个元组里,在函数中可以使用for循环来处理,声明一个可变长参数的函数只需用*开头定义一个参数即可。

12.局部/全局变量
局部作用域内的变量的改变并不影响全局作用域内的变量,除非通过引用的方式传递参数。如果要在函数内使用函数外的变量,可以在变量名前使用global关键字。例如:
def func(x):
global a
return x + a

13.模块查找路径
导入模块时,python解释器首先在当前目录中查找导入的模块;如果未找到,解释器会从sys模块中的path变量指定的目录查找导入模块;如果均未找到,则会出错。
import sys
sys.path
在脚本中可以向sys.path添加查找路径,例如可以在.py中如下:
import os
import sys
modulepath = os.getcwd() + ‘\\module’  #module是当前目录下的module子目录
sys.path.append(modulepath)
import mymodule   #mymodule在module子目录中
************

14.dir(x)可以获得导入模块中的所有定义的名字和函数等。
import sys
dir(sys)
当不使用参数时,该函数将返回当前脚本的所有名字列表。

15.模块包
包可以看成是出于同一个目录中的模块,在python中首先使用目录名,然后再使用模块名导入所需要的模块。在包的每个目录(包括子目录)中都必须包含一个“__init__.py”的文件,该文件甚至可以是一个空文件,仅用于表示该目录为一个包。
在__init__.py中设置__all__变量和包初始化所需的代码,可以保证在from中使用*时名字的正确导入。
from A.B import a
import A.B.a
有了包的概念可以很好地解决模块查找路径的问题,只要将所有的模块放在当前目录中的某个文件夹内(子目录),然后在子目录内新建一个__init__.py文件即可,而不需将子目录的路径添加到sys.path中。

原创粉丝点击