广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 计算机学校 > 惠州计算机学校 > 正文

Python新手要掌握的实用技巧_惠州计算机Python培训学校

作者:黄君发布时间:2021-05-26分类:惠州计算机学校浏览:757


导读:Python新手要掌握的实用技巧有哪些?下面我们一起来看一看吧!

一、函数连续调用

def add(x):

class AddNum(int):

def __call__(self, x):

return AddNum(self.numerator + x)

return AddNum(x)

print add(2)(3)(5)

# 10

print add(2)(3)(4)(5)(6)(7)

# 27

# javascript 版

var add = function(x){

var addNum = function(x){

return add(addNum + x);

};

addNum.toString = function(){

return x;

}

return addNum;

}

add(2)(3)(5)//10

add(2)(3)(4)(5)(6)(7)//27/

二、默认值陷阱

>>> def evil(v=[]):

... v.append(1)

... print v

...

>>> evil()

[1]

>>> evil()

[1,

1]

三、读写csv文件

import csv

with open('data.csv',

'rb')

as f:

reader = csv.reader(f)

for row

in reader:

print row

# 向csv文件写入

import csv

with open(

'data.csv',

'wb')

as f:

writer = csv.writer(f)

writer.writerow(['name',

'address',

'age'])

# 单行写入

data = [

(

'xiaoming ','china','10'),

(

'Lily',

'USA',

'12')]

writer.writerows(data)

# 多行写入

四、数制转换

>>> int('1000',

2)

8

>>> int('A',

16)

10

五、格式化 json

echo'{"k": "v"}' | python-m json.tool

六、list 扁平化

list_ = [[1,

2,

3], [4,

5,

6], [7,

8,

9]]

[k

for i

in list_

for k

in i]

#[1, 2, 3, 4, 5, 6, 7, 8, 9]

import numpy

as np

print np.r_[[1,

2,

3], [4,

5,

6], [7,

8,

9]]

import itertools

print list(itertools.chain(*[[1,

2,

3], [4,

5,

6], [7,

8,

9]]))

sum(list_, [])

flatten =

lambda x: [y

for l

in x

for y

in flatten(l)]

if type(x)

is list

else [x]

flatten(list_)

七、list 合并

>>> a = [1,

3,

5,

7,

9]

>>> b = [2,

3,

4,

5,

6]

>>> c = [5,

6,

7,

8,

9]

>>> list(set().union(a, b, c))

[1,

2,

3,

4,

5,

6,

7,

8,

9]

八、出现次数最多的 2 个字母

from collections

import Counter

c = Counter('hello world')

print(c.most_common(2))

#[('l', 3), ('o', 2)]

九、谨慎使用

eval("__import__('os').system('rm -rf /')", {})

十、置换矩阵

matrix = [[1,

2,

3],[4,

5,

6]]

res = zip( *matrix )

# res = [(1, 4), (2, 5), (3, 6)]

十一、列表推导

[item**2 for item

in lst

if item %

2]

map(lambda item: item **

2, filter(lambda item: item %

2, lst))

>>> list(map(str, [1,

2,

3,

4,

5,

6,

7,

8,

9]))

['1',

'2',

'3',

'4',

'5',

'6',

'7',

'8',

'9']

十二、排列组合

>>> for p

in itertools.permutations([1,

2,

3,

4]):

... print ''.join(str(x)

for x

in p)

...

1234

1243

1324

1342

1423

1432

2134

2143

2314

2341

2413

2431

3124

3142

3214

3241

3412

3421

4123

4132

4213

4231

4312

4321

>>> for c

in itertools.combinations([1,

2,

3,

4,

5],

3):

... print ''.join(str(x)

for x

in c)

...

123

124

125

134

135

145

234

235

245

345

>>> for c

in itertools.combinations_with_replacement([1,

2,

3],

2):

... print ''.join(str(x)

for x

in c)

...

11

12

13

22

23

33

>>> for p

in itertools.product([1,

2,

3], [4,

5]):

(1,

4)

(1,

5)

(2,

4)

(2,

5)

(3,

4)

(3,

5)

十三、默认字典

>>> m = dict()

>>> m['a']

Traceback (most recent call last):

File

"<stdin>", line

1,

in <module>

KeyError:

'a'

>>>

>>> m = collections.defaultdict(int)

>>> m['a']

0

>>> m['b']

0

>>> m = collections.defaultdict(str)

>>> m['a']

''

>>> m['b'] +=

'a'

>>> m['b']

'a'

>>> m = collections.defaultdict(lambda:

'[default value]')

>>> m['a']

'[default value]'

>>> m['b']

'[default value]'

十四、反转字典

>>> m = {'a':

1,

'b':

2,

'c':

3,

'd':

4}

>>> m

{'d':

4,

'a':

1,

'b':

2,

'c':

3}

>>> {v: k

for k, v

in m.items()}

{1:

'a',

2:

'b',

3:

'c',

4:

'd'}

以上就是小编今天为大家分享的关于Python新手要掌握的实用技巧的文章,希望本篇能够对正在学习和从事Python相关工作的小伙伴们有所帮助,想要了解更多Python相关知识记得关注北大青鸟Python培训官网。最后祝愿小伙伴们工作顺利!


点击咨询直接了解更多相关资料,我在惠州北大青鸟新方舟等你。

 

本文内容来源:苏生不惑,版权归原作者所有,如有侵权请联系我们进行删除。


标签:惠州计算机软件培训惠州计算件软件开发惠州计算机软件基础惠州计算机Python软件开发惠州Python培训学校惠州Python培训python基础教程python是什么python教程python入门


惠州计算机学校排行
标签列表
网站分类
文章归档
最近发表