python操作笔记

********************数据类型*****************************

把10^用e替代,1.23x10^9就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5

十六进制用0x前缀

如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"
如果字符串内部既包含'又包含",可以用转义字符\来标识,比如:
'I\'m \"OK\"!'
字符串正序列1-9对应位置: 0 1 2 3 4 5 6 7 8
反之对应位置:-9 -8 -7 -6 -5 -4 -3 -2 -1

//除法只取结果的整数部分

用str()函数将其内含的单位转化为一个个分开的字符串,比如str(1.324)可转化为“1.324”的字符串

以Unicode表示的str通过.encode()方法可以编码为指定的bytes,例如:
>>> 'ABC'.encode('ascii')
b'ABC'
>>> '中文'.encode('utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'
反过来,如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法:

ord()可输出函数内的以Unicode形式表示的字符对应的编码值(是个数值int)
chr()可输出Unicode编码对应的字符
%d
整数
%f
浮点数
%s
字符串
%x
十六进制整数
complex(x)函数为x增加了复数部分x+0j

//另一种格式化字符串的方法是使用字符串的format()方法,它会用传入的参数依次替换字符串内的占位符{0}、{1}……,不过这种方式写起来比%要麻烦得多:
>>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
'Hello, 小明, 成绩提升了 17.1%'
//

list是一个可变的有序表,所以,可以往list中追加元素到末尾:
>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> classmates.append('Adam')
>>> classmates
['Michael', 'Bob', 'Tracy', 'Adam']

要删除list末尾的元素,用pop()方法:
>>> classmates.pop()
'Adam'
>>> classmates
['Michael', 'Bob', 'Tracy']
要删除指定位置的元素,用pop(i)方法

只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:
>>> t = (1,)
>>> t
(1,)

elif是else if的缩写,完全可以有多个elif,所以if语句的完整形式就是:
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>

所以for x in ...循环就是把每个元素代入变量x,然后执行缩进块的语句
for<变量> in range(<函数名>)
<被循环执行语句>

函数range(x,y) 可产生从x到y-1的整数序列。

如果用dict实现,只需要一个“名字”-“成绩”的对照表,直接根据名字查找成绩,无论这个表有多大,查找速度都不会变慢。用Python写一个dict如下:
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95

把数据放入dict的方法,除了初始化时指定外,还可以通过key放入:
>>> d['Adam'] = 67
>>> d['Adam']
67

要避免key不存在的错误,有两种办法,一是通过in判断key是否存在:
>>> 'Thomas' in d
False

要删除一个key,用pop(key)方法,对应的value也会从dict中删除:
>>> d.pop('Bob')
75
>>> d
{'Michael': 95, 'Tracy': 85}

通过add(key)方法可以添加元素到set中:
>>> s.add(4)
>>> s
{1, 2, 3, 4}
通过remove(key)方法可以删除元素:
>>> s.remove(4)
>>> s
{1, 2, 3}

求绝对值的函数abs

去最外层引号的函数eval()

round(a,b)函数是将浮点数a保留b位小数。

divmod(x,y)输出 x与y的除数和余数(a,b)

.real后缀可获得该数的实部;
.imag后缀可获得该数的虚部;

x**y代表x的y次幂
pow(3,99,10000)表示3的99次幂,保留最后的四位数

几个字符串方法:
str.lower()或str.upper()——————返回字符串的副本,全部字符小写或大写
str.split(sep=None)——————返回一个列表,由st根据sep被分隔的部分组成

str = ‘0123456789’
print str[0:3] #截取第一位到第三位的字符
print str[:] #截取字符串的全部字符
print str[6:] #截取第七个字符到结尾
print str[:-3] #截取从头开始到倒数第三个字符之前
print str[2] #截取第三个字符
print str[-1] #截取倒数第一个字符
print str[::-1] #创造一个与原字符串顺序相反的字符串
print str[-3:-1] #截取倒数第三位与倒数第一位之前的字符
print str[-3:] #截取倒数第三位到结尾
print str[:-5:-3] #逆序截取

print(x, end="") end="" 可使输出不换行。

str()是python的内置函数,这个例子是把列表/元组/字符串的每个元素变成了str类型,然后以列表的形式返回
a=list(map(str,'python'))
print(a)
输出:
['p', 'y', 't', 'h', 'o', 'n']

********************函数*****************************

函数文档
def MyFunction():
'这是函数文档'
#这是注释
print('Hello World')

>>>MyFunction().__doc__
这是函数文档

def Text(*shoujicanshu):
print(len(shoujicanshu))
这个函数可以接受输入的所以参数。如Text(1,23,4,6,7,37,2)

*******************OS模块******************************

chdir(path) 改变工作目录
getcwd() 返回当前工作目录
listdir(path=',') 列举指定目录中的文件名(','表示当前目录,'..'表示上一级目录)
mkdir(path) 创建单层目录,如该目录已存在抛出异常
makedirs(path) 递归创建多层目录,如该目录已存在抛出异常,注意:'E:\\a\\b'和E:\\a\\c'并不会冲突
remove(path) 删除文件
rmdir(path) 删除单层目录,如该目录非空则抛出异常
removedirs(path) 递归删除目录,从子目录到父目录逐层尝试删除,遇到目录非空则抛出异常
rename(old,new) 将文件old重命名为new

猜你喜欢

转载自www.cnblogs.com/pirigg/p/10544521.html