天才教育網合作機構 > 編程語言培訓機構 > Python培訓機構 >

天才領路者

歡迎您!
朋友圈

400-850-8622

全國統(tǒng)一學習專線 9:00-21:00

位置:編程語言培訓資訊 > Python培訓資訊 > python注釋符號

python注釋符號

日期:2019-08-18 11:01:56     瀏覽:1482    來源:天才領路者
核心提示:python中的注釋有多種,有單行注釋,多行注釋,批量注釋,中文注釋也是常用的。下面是小編為您整理的關于python注釋符號,希望對你有所幫助。

python中的注釋有多種,有單行注釋,多行注釋,批量注釋,中文注釋也是常用的。下面是小編為您整理的關于python注釋符號,希望對你有所幫助。

python注釋符號

?

python注釋符號 ?

python中的注釋有多種,有單行注釋,多行注釋,批量注釋,中文注釋也是常用的。python注釋也有自己的規(guī)范,在文章中會介紹到。注釋可以起到一個備注的作用,團隊合作的時候,個人編寫的代碼經常會被多人調用,為了讓別人能更容易理解代碼的通途,使用注釋是非常有效的。 ?

一、python單行注釋符號(#)

井號(#)常被用作單行注釋符號,在代碼中使用#時,它右邊的任何數據都會被忽略,當做是注釋。 ?

print 1 #輸出1

#號右邊的內容在執(zhí)行的時候是不會被輸出的。 ?

二、批量、多行注釋符號

在python中也會有注釋有很多行的時候,這種情況下就需要批量多行注釋符了。多行注釋是用三引號''' '''包含的 ?

python正則表達式的注釋方法 ?

學過正則都知道,那簡直是天書,為了提高正則的可讀性,正則表達式中提供了X(VERBOSE): 詳細模式。這個模式下正則表達式可以是多行,忽略空白字符,并可以加入注釋。 ?

例如: ?

import re ?

str = 'python regex' ?

pattern = re.compile(r''' ?

(w+) # first word ?

s(w+) # second word ?

''', re.X) ?

match = re.match(pattern,str) ?

if match: ?

print "%s %s"%(match.group(2),match.group(1)) ?

其實,由于在python語法里,小括號里面的字符串是可以分行寫,所以我們也可以不用X模式來寫正則表達式的注釋: ?

import re ?

str = 'python regex' ?

pattern = re.compile(r'(w+)' #first word ?

r' (w+)' #second word ?

) ?

match = re.match(pattern,str) ?

if match: ?

print "%s %s"%(match.group(2),match.group(1)) ?

大家可以根據自己的愛好來給自己的正則注釋起來。 ?

用Python將注釋行和空行去掉 ?

比如要將/etc/httpd/conf/httpd.conf的注釋行和空行去掉并且打印,用一行命令就可以做到:

?

egrep -v ‘^#|^$’ /etc/httpd/conf/httpd.conf。但這里練習用Python實現 ?

#!/usr/bin/env python ?

#coding: utf8 ?

import os ?

def dellines(): ?

#os模塊調用linux命令,cp是為了避免alias里面的cp -i,強制復制文件,不詢問是否覆蓋 ?

os.system('cp -r -f /etc/httpd/conf/httpd.conf .') ?

f = file('httpd.conf') ?

linenum = 0 ?

while True: ?

data = f.readline() ?

if data == '': ?

break ?

else: ?

#*個字符為#或者是換行符,就pass,否則就打印這一行 ?

if (data[0] == '#') or (data[0] == 'n'): ?

pass ?

else: ?

linenum += 1 ?

print linenum, data , ?

f.close() ?

if __name__ == '__main__': ?

dellines() ?

Python去掉文件中空行 ?

# coding = utf-8 ?

def clearBlankLine(): ?

file1 = open('text1.txt', 'r', encoding='utf-8') # 要去掉空行的文件 ?

file2 = open('text2.txt', 'w', encoding='utf-8') # 生成沒有空行的文件 ?

try: ?

for line in file1.readlines(): ?

if line == 'n': ?

line = line.strip("n") ?

file2.write(line) ?

finally: ?

file1.close() ?

file2.close() ?

if __name__ == '__main__': ?

clearBlankLine() ?

利用PYTHON的正則表達式去掉代碼中的注釋 ?

校招時,百度二面的時候,讓我寫一個刪除代碼中的注釋的代碼,當時卡殼了。時隔一年多,想起這個問題,現在把這個寫下來。 ?

先說一下代碼的思想,首先將“字符串”進行替換,替換成 uuid ,并且把字符串的內容存起來。_map是作為字典,uuid作為key,字符串內容作為value。 ?

然后再把// 和 /**/ 進行替換 ?

*輸出到文件中 ?

import re ?

import uuid ?

fdr = open("input.c", 'r') ?

fdw = open("output.c", 'w') ?

_map = { } ?

outstring = '' ?

line = fdr.readline() ?

while line: ?

while True: ?

#這里要注意,我用的是re.S 比如print("aaan") ?

m = re.compile('".*"', re.S) ?

_str = m.search( line ) ?

#如果沒匹配成功,就合并,然后下一行 ?

if None == _str: ?

outstring += line ?

break ?

key = str( uuid.uuid1() ) ?

# ?

m = re.compile('".*"', re.S) ?

outtmp = re.sub(m, key, line, 1) ?

line = outtmp ?

_map[ key ] = _str.group(0) ?

line = fdr.readline() ?

m = re.compile(r'//.*') ?

outtmp = re.sub(m, ' ', outstring) ?

outstring = outtmp ?

m = re.compile(r'/*.*?*/', re.S) ?

outtmp = re.sub(m, ' ', outstring) ?

outstring = outtmp ?

for key in _map.keys(): ?

outstring = outstring.replace(key, _map[key]) ?

fdw.write(outstring) ?

fdw.close() ?

如果本頁不是您要找的課程,您也可以百度查找一下: