Pyhton语法小结


  • 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):求直角三角形的斜边长度,xy为两个直角边长度 fmod(x, y):求x / y的余数,等同于x % y ceil(x):求不小于x的最大整数 floor(x):求不大于x的最小整数 fabs(x):求x的绝对值 exp(x):求ex次幂 

pow(x, y):求xy次幂,等同于x ** y log10(x):求xlog10为底的对数 sqrt(x):求x的平方根 pi:求pi的值 

  • 6.字符串操作 

string.capitalize():将字符串第一个字母大写

 string.count(x):获得字符串中某字符串的数目 

string.find(x):获得字符串中某子字符串的起始位置

 string.isalnum():是否仅包含09AZa

string.isalpha():是否仅包含AZa

string.isaldigit():是否仅包含0

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):追加成员

list.count(x):参数x出现的次数 

list.extend(x)list1+list2无法改变list1,只能返回一个新的list,但是list2.extend(list2)函数可以改变list1的值 

list.index(x):获得xlist中的位置

 list.insert(index, x):在index处插入

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   #mymodulemodule子目录中

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java程序源

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值