Python超級無敵技巧分享

2022-05-16 14:12:32 字數 2649 閱讀 1758

這是乙個系列文章,主要分享python的使用建議和技巧,每次分享3點,希望你能有所收穫。

注意:很多人學python過程中會遇到各種煩惱問題,沒有人解答容易放棄。為此小編建了個python全棧免費答疑.裙 :七衣衣九七七巴而五(數字的諧音)轉換下可以找到了,不懂的問題有老司機解決裡面還有最新python實戰教程免非下,,一起相互監督共同進步!

示例程式:

#!/usr/bin/env python

# coding=utf8

import itertools

for p in itertools.permutations('abc', 2):

print p

'''('a', 'b')

('a', 'c')

('b', 'a')

('b', 'c')

('c', 'a')

('c', 'b')

'''for c in itertools.combinations('abc', 2):

print c

'''('a', 'b')

('a', 'c')

('b', 'c')

'''

通過itertools模組,可以很方便實現元素的排列和組合。由示例中可以看到,分別從abc三個字母中取2個字母,實現其排列和組合,itertools模組還有很多有用功能,感興趣可以看看。

示例程式:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import tempfile

temp_file = tempfile.namedtemporaryfile()

print 'temp file name: <>\n'.format(self=temp_file)

with open(temp_file.name, 'w') as f:

f.write("line 1\nline 2\nline 3\n")

with open(temp_file.name) as f:

for line in f.readlines():

print line

執行示例:

$ python tmp_file_demo.py

temp file name:

line 1

line 2

line 3

$ ls /tmp/tmpvsppea

ls: cannot access /tmp/tmpvsppea: no such file or directory

借助tempfile模組,可以很方便的操作臨時檔案。由示例中可以看到,建立的臨時檔案/tmp/tmpvsppea在使用完畢後會自動刪除,不需要手動刪除該檔案,tempfile模組還有很多有用功能,感興趣可以看看。

示例程式:

#!/usr/bin/env python

# coding=utf8

from __future__ import print_function

import sys

def eprint(*args, **kwargs):

print(*args, file=sys.stderr, **kwargs)

eprint("print to stderr")

print("print to stdout")

'''print to stderr

print to stdout

'''

執行示例:

$ python print_stderr.py

print to stderr

print to stdout

$ python print_stderr.py > /tmp/stdout.log

print to stderr

$ python print_stderr.py 2> /tmp/stderr.log

print to stdout

$ python print_stderr.py > /tmp/stdout_and_stderr.log 2>&1

$ cat /tmp/stdout.log

print to stdout

$ cat /tmp/stderr.log

print to stderr

$ cat /tmp/stdout_and_stderr.log

print to stderr

print to stdout

通過匯入__future__模組的print_function,將print函式改造成python3的print,就可以實現將輸出列印到標準錯誤。由示例中可以看到,通過封裝乙個新的函式eprint,實現類似print的列印功能,唯一區別就是eprint函式將輸出列印到標準錯誤,而不是標準輸出。

總結注意:很多人學python過程中會遇到各種煩惱問題,沒有人解答容易放棄。為此小編建了個python全棧免費答疑.裙 :七衣衣九七七巴而五(數字的諧音)轉換下可以找到了,不懂的問題有老司機解決裡面還有最新python實戰教程免非下,,一起相互監督共同進步!

超級無敵簡單題

題目鏈結 通常來說,題面短的題目一般都比較難,所以我要把題面寫得很長很長。通常來說,題面短的題目一般都比較難,所以我要把題面寫得很長很長。通常來說,題面短的題目一般都比較難,所以我要把題面寫得很長很長。鴿子數字由以下過程定義 從任何正整數開始,將數字替換為其各個數字的平方和,並重複該過程,直到該數字...

超級無敵簡單題

problem description 通常來說,題面短的題目一般都比較難,所以我要把題面寫得很長很長。通常來說,題面短的題目一般都比較難,所以我要把題面寫得很長很長。通常來說,題面短的題目一般都比較難,所以我要把題面寫得很長很長。鴿子數字由以下過程定義 從任何正整數開始,將數字替換為其各個數字的平...

python技巧分享(十一)

這是乙個系列文章,主要分享python的使用建議和技巧,每次分享3點,希望你能有所收穫。my iter iter my list for e in my iter print e,next my iter 1 banana 2 grape 3 pear 借助iter函式,傳入list生成乙個迭代器,...