您的当前位置:首页正文

python语法小结

2020-10-04 来源:易榕旅网


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

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

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

4.类型间转换

hex():将整数转换为十六进制字符串,包含前缀“0x”

oct():将整数转换为八进制字符串,包含前缀“0o”

注:string模块中有string.atoi(x, base = 10),类似int(),但是可以选择变换后的进制

5.math模块中数学函数:

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中。

因篇幅问题不能全部显示,请点此查看更多更全内容