青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 26, comments - 2, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

2014年4月16日

最近專職做起了Python,得積累些Python的知識(shí)。
-----------------
閱讀代碼的時(shí)候,看到了classmethod。staticmethod用的挺多,classmethod一直沒用過,感覺有些迷惑。
Google了一篇文章,講的挺清楚:pyhton靜態(tài)方法和類方法。上面這篇文章主要講原理,我這里主要說說二者的相同和區(qū)別。
  1. 都可以通過類調(diào)用;
  2. 都可以通過對(duì)象調(diào)用;
  3. 都可以繼承和復(fù)寫;
  4. 都可以使用類屬性、類方法和類的靜態(tài)方法;
  5. 使用這些屬性或方法時(shí),staticmethod必須直接通過類名進(jìn)行調(diào)用,classmethod可以優(yōu)雅的通過參數(shù)cls調(diào)用。
在進(jìn)行屬性或方法調(diào)用時(shí):staticmethod需要硬編碼指明方法的類,如果存在繼承,無法使用子類復(fù)寫的方法和屬性,比較適合用于對(duì)其他方法和屬性不依賴或依賴較少的情況;classmethod通過cls進(jìn)行調(diào)用,這個(gè)cls是調(diào)用時(shí)傳入的類,可以是父類,也可以是子類,適合用于對(duì)其他方法和屬性依賴較多的情況,也適用于需要通過集成擴(kuò)展的情況。

下面的代碼,簡單試驗(yàn)了兩者的區(qū)別,并通過staticmethod簡單的模擬了classmethod的操作:

class Base(object):
    name = "Base"
    
    @classmethod
    def foo(cls):
        print cls.name
    
    @staticmethod
    def foo_static1():
        print Base.name
    
    @staticmethod
    def foo_static2(cls):
        print cls.name

    @staticmethod
    def foo_static3(cls):
        # if not isinstance(cls, type):
        if isinstance(cls, Base):
            cls = cls.__class__
        print cls.name


class A(Base):
    name = "A"
    def __init__(self):
        self.name = "I am '%s'" % A.name
        

class B(Base):
    name = "B"
    def __init__(self):
        self.name = "I am '%s'" % B.name
    
    @classmethod
    def foo(cls):
        print "<%s>" % cls.name
    
    @staticmethod
    def foo_static1():
        print "<%s>" % Base.name


def testA():
    obj = A()
    obj.foo()
    obj.foo_static1()
    obj.foo_static2(A)
    obj.foo_static2(obj)
    obj.foo_static3(A)
    obj.foo_static3(obj)
    A.foo()
    A.foo_static1()

def testB():
    obj = B()
    obj.foo()
    obj.foo_static1()


def run_test(func, *args, **kwargs):
    print "======================="
    func(*args, **kwargs)
    print ""


if __name__ == '__main__':
    run_test(testA)
    run_test(testB)
    

posted @ 2014-04-16 12:01 小夜 閱讀(430) | 評(píng)論 (0)編輯 收藏

2010年4月12日

工作中經(jīng)常需要在正則表達(dá)式中使用方括號(hào),比如匹配Linux系統(tǒng)命令行提示符“[root@localhost ~]# ”。在python中,可以使用正則表達(dá)式“[\[][^\[\]]*[\]][#|$] ”進(jìn)行匹配,但在regex中此正則表達(dá)式無法正確匹配。
由于man手冊(cè)中缺少對(duì)方括號(hào)轉(zhuǎn)義的介紹,本文對(duì)regex中方括號(hào)的使用進(jìn)行測(cè)試,測(cè)試程序如下:

#include <stdio.h>
#include 
<string.h>

#include 
<sys/types.h>
#include 
<regex.h>

int main(int argc, char** argv)
{
        
char * pattern, *mstr;
        
int x, z, lno = 0, cflags = REG_EXTENDED;
        
char ebuf[128], lbuf[256], format[32];
        regex_t reg;
        regmatch_t pm[
10];
        
const size_t nmatch = 10;

        pattern 
= argv[1];
        z 
= regcomp(&reg, pattern, cflags);

        
if (z != 0)
        
{
                regerror(z, 
&reg, ebuf, sizeof(ebuf));
                fprintf(stderr, 
"%s: pattern '%s' \n",ebuf, pattern);
                regfree(
&reg);
                
return 1;
        }


        
while(fgets(lbuf, sizeof(lbuf), stdin))
        
{
                
++lno;
                
if ((z = strlen(lbuf)) > 0 && lbuf[z-1]== '\n') lbuf[z - 1= 0;

                z 
= regexec(&reg, lbuf, nmatch, pm, 0);
                
if (z == REG_NOMATCH)
                
{
                        printf(
"not match\n");
                        
continue;
                }

                
else if (z != 0)
                
{
                        regerror(z, 
&reg, ebuf, sizeof(ebuf));
                        fprintf(stderr, 
"%s: regcom('%s')\n",
                                        ebuf, lbuf);
                        
return 2;
                }


                
if (pm[0].rm_so!=-1)
                        printf(
"%04d: %s\n", lno, lbuf);
                
for (x = 0; x < nmatch && pm[x].rm_so != -1++ x)
                
{
                        mstr 
= strndup(lbuf + pm[x].rm_so, pm[x].rm_eo-pm[x].rm_so);
                        printf(
" $%d: %s\n", x, mstr);
                        free(mstr);
                }

                fflush(stdout);

        }


        regfree(
&reg);
        
return 0;
}
下面是對(duì)正則表達(dá)式“[\[][^\[\]]*[\]][#|$] ” 的測(cè)試,顯然不符合要求。
./testreg "[\[][^\[\]]*[\]][#|$] "  
[root@localhost bin]# 
not match
[a\]# 
0005: [a\]# 
 $
0: [a\]# 
從簡單的開始先測(cè)試左括號(hào)“[”的匹配:
./testreg "[\[]+"
a
not match
[
0002: [
 $
0: [
[root@localhost bin]# 
0003: [root@localhost bin]# 
 $
0: [
再測(cè)試右括號(hào)“]”:
./testreg "[\]]+"
]
not match
\]  
0002: \]
 $
0: \]
-----------------
.
/testreg "[]]+"
]]
0001: ]]
 $
0: ]]
兩個(gè)簡單的正則表達(dá)式可以看出:regex中左方括號(hào)需要轉(zhuǎn)義,右方括號(hào)不需要轉(zhuǎn)義。
下面我們?cè)賮頊y(cè)試匹配一下任意非方括號(hào)字符:
./testreg "[^\[]]+" //對(duì)[轉(zhuǎn)義,不對(duì)]轉(zhuǎn)義
[abc]
0001: [abc]
 $
0: c]
.
/testreg "[^\[\]]+" //對(duì)[和]轉(zhuǎn)義
[abc]
0001: [abc]
 $
0: c]
.
/testreg "[^]\[]+" //對(duì)[轉(zhuǎn)義,不對(duì)]轉(zhuǎn)義,且把]放在^后使]不與前面的[匹配
[abc]
0001: [abc]
 $
0: abc
通過上面測(cè)試可以得出正確的正則表達(dá)式來匹配Linux命令行提示符——“[\[][^]\[]*[]][#$] ”或“\[[^]\[]*][#$] ”。

posted @ 2010-04-12 13:14 小夜 閱讀(5652) | 評(píng)論 (0)編輯 收藏

2009年10月16日

     摘要: 1.命令介紹 最近學(xué)習(xí)并使用了一個(gè)python的內(nèi)置函數(shù)dir,首先help一下: >>> help(dir)Help on built-in function dir in module __builtin__:dir()    dir([object])...  閱讀全文

posted @ 2009-10-16 20:32 小夜 閱讀(3145) | 評(píng)論 (0)編輯 收藏

2009年9月23日

就是很多庫和工具還不支持,等庫和工具都正常了,就轉(zhuǎn)用它了。

posted @ 2009-09-23 19:58 小夜 閱讀(176) | 評(píng)論 (0)編輯 收藏

2009年9月1日

 起因很簡單,不小心為一個(gè)文件關(guān)聯(lián)了默認(rèn)打開方式,然后就eclipse中一打開該文件就出來個(gè)記事本,打開的時(shí)候只好使用右鍵,選擇打開方式,頗為繁瑣。

于是,百度之。看到的第一種方法是直接修改注冊(cè)表,刪除擴(kuò)展名對(duì)應(yīng)的注冊(cè)項(xiàng),結(jié)果以失敗告終,用eclipse打開文件依然出來記事本,可能是修改的地方不對(duì)或不全。

找到第二種方法,終于解決問題,記錄如下:打開Explorer,點(diǎn)擊菜單“工具 | 文件夾選項(xiàng)”,點(diǎn)擊“文件類型”,找到對(duì)應(yīng)的擴(kuò)展名后刪除即可。

對(duì)于我遇到的這個(gè)問題,還可以通過修改eclipse解決:點(diǎn)擊菜單“window | preferences”,進(jìn)入“General | Editors | File Associations”,添加一個(gè)擴(kuò)展名,然后設(shè)置一個(gè)默認(rèn)打開方式即可。

posted @ 2009-09-01 15:56 小夜 閱讀(363) | 評(píng)論 (0)編輯 收藏

2009年6月23日

面試中的趣味

林子大了,什么鳥都有。

面試是一件比較有意思的工作,能夠接觸形形色色的人。

囂張的面試者

最近面試了一個(gè)比較囂張的人,說是比較喜歡有挑戰(zhàn)的工作,離職主要是由于工作沒有挑戰(zhàn)性。看其筆試,并不是特別顯眼。

他:在項(xiàng)目中我是讓測(cè)試者比較頭疼的人,本來安排10天干完的活,3天就干完了,我就找他們測(cè)試,測(cè)試人員比較煩,總得提前進(jìn)行測(cè)試工作。

我:一個(gè)項(xiàng)目總有一個(gè)項(xiàng)目的進(jìn)度安排,測(cè)試和開發(fā)都如此。在多余的時(shí)間里,有沒有考慮做些其他的事情?

他:我都天天看PDF了,還能干什么?

我:沒有考慮做一些代碼質(zhì)量優(yōu)化類似的工作?

他:……

我:你感覺你這段代碼寫的怎么樣?(我指著他筆試的代碼)

他:因?yàn)槭枪P試,我考慮的并不多,肯定能正確的運(yùn)行。

我:能正確的運(yùn)行嗎?(我指著他代碼中的一處)

他:我忘記了(汗一個(gè),for循環(huán)連初始化都能忘記),不過在真正開發(fā)的時(shí)候不會(huì)這樣。

我:就算能正確運(yùn)行(還有些別的錯(cuò)誤,我沒有和他糾纏了),那你感覺這段代碼,有哪些需要優(yōu)化的地方?

他:……

面試完后,同事說好囂張的面試者,說其囂張主要是神態(tài)和語氣。哎,第一次發(fā)現(xiàn)面試人員責(zé)問面試官的,更何況是被一個(gè)并不怎么樣的人。

面試時(shí)請(qǐng)先準(zhǔn)備一下

有一個(gè)面試者,學(xué)歷挺高,成績也不錯(cuò),畢業(yè)也不是一年兩年了,說是想轉(zhuǎn)做Linux C開發(fā),筆試題做的不是很好。

他說C語言是一門比較簡單的語言,能夠很快時(shí)間就能掌握。

對(duì)于他的解釋,我沒有懷疑,也沒有過多的糾纏。畢竟,C的簡潔是眾所周知的。但是,既然說簡單,能夠很容易的掌握,為何不先準(zhǔn)備,先掌握呢?

機(jī)會(huì)永遠(yuǎn)把握在有準(zhǔn)備的人手中。與其說,不如進(jìn)一步去做,掌握主動(dòng)是面試不敗的真理。面試者看的不只是能力,還有態(tài)度。

漂亮的代碼

“什么是漂亮的代碼?”

前一段時(shí)間,面試一個(gè)程序員的時(shí)候,他的目標(biāo)是寫漂亮的代碼,我便問道這樣一個(gè)問題。對(duì)方的回答是“看起來比較舒服的代碼”,我沒有細(xì)究。

做軟件開發(fā)工作也有四年的時(shí)間了,雖然也做產(chǎn)品分析等工作,但大部分時(shí)間都是一線的設(shè)計(jì)和編碼工作。編寫優(yōu)秀的代碼,也算是一個(gè)個(gè)人追求了。代碼常用的修飾語很多,漂亮的代碼、高效的代碼、穩(wěn)定的代碼等從多個(gè)方面對(duì)代碼進(jìn)行形容。那什么樣的代碼才是優(yōu)秀卓越的代碼,這是一個(gè)我和面試者都要思考的問題。

posted @ 2009-06-23 10:20 小夜 閱讀(434) | 評(píng)論 (0)編輯 收藏

2009年6月18日

查看linux系統(tǒng)性能的時(shí)候,會(huì)涉及到一個(gè)參數(shù)loadavg。那loadavg確切的含義是什么呢?
文章來源:http://blog.csdn.net/volant_hoo/archive/2009/05/11/4169030.aspx

posted @ 2009-06-18 14:40 小夜 閱讀(305) | 評(píng)論 (0)編輯 收藏

linux系統(tǒng)中的兩個(gè)命令,今天寫了個(gè)腳本,比較當(dāng)前時(shí)間和文件中最后修改時(shí)間,用到了兩個(gè)命令,mark一下。 兩個(gè)命令中都有一系列format選項(xiàng),date用的較多,使用“+”接format選項(xiàng)即可,在腳本中使用date +%s獲取當(dāng)前時(shí)間(1970年到現(xiàn)在的秒數(shù))。stat命令用的較少,man了一下,又baidu了一番,最后細(xì)看了有看,試了又試,才發(fā)現(xiàn)stat有個(gè)開關(guān)“-c --format=FORMAT use the specified FORMAT instead of the default”。腳本中使用該開關(guān)得到文件的最后修改時(shí)間,命令為“stat -c %Y ${filename}”。 在linux這種開放的系統(tǒng)中,命令行參數(shù)是有很多風(fēng)格的,使用時(shí)要拋開慣性,細(xì)看手冊(cè)。
文章來源:http://blog.csdn.net/volant_hoo/archive/2009/05/11/4169102.aspx

posted @ 2009-06-18 14:40 小夜 閱讀(355) | 評(píng)論 (0)編輯 收藏

前兩天看libsmi源代碼,里面對(duì)strncpy函數(shù)進(jìn)行了封裝,感覺有些缺陷,雖然內(nèi)部使用的函數(shù),滿足要求就可以了,但想了想發(fā)現(xiàn)自己它了解的也不是很多。 關(guān)于strncpy,《C程序設(shè)計(jì)語言》中是這樣介紹的:“char *strncpy(s, ct, n),strncpy用于把字符串ct中最多n個(gè)字符拷貝到字符串s中,并返回s。如果ct中少于n個(gè)字符,那么就用’\0’補(bǔ)充。” 寫了一個(gè)簡單的程序?qū)trncpy進(jìn)行測(cè)試。
文章來源:http://blog.csdn.net/volant_hoo/archive/2009/05/11/4167919.aspx

posted @ 2009-06-18 14:38 小夜 閱讀(533) | 評(píng)論 (0)編輯 收藏

看開源的代碼中發(fā)現(xiàn)了一些靜態(tài)函數(shù)聲明后有如下內(nèi)容:__attribute__ ((constructor))這是gcc的擴(kuò)展屬性。
文章來源:http://blog.csdn.net/volant_hoo/archive/2009/05/11/4169081.aspx

posted @ 2009-06-18 14:38 小夜 閱讀(226) | 評(píng)論 (0)編輯 收藏

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美精品国产精品| 亚洲美女中出| 欧美成人精品一区| 久久嫩草精品久久久精品一| 欧美影院成人| 久久性天堂网| 欧美电影电视剧在线观看| 美腿丝袜亚洲色图| 欧美激情bt| 国产精品啊啊啊| 国产一区二区三区久久悠悠色av | 中日韩视频在线观看| 日韩一级黄色av| 亚洲一区二区日本| 久久国产精品色婷婷| 欧美ed2k| 亚洲精品中文字| 亚洲欧洲日韩女同| 日韩亚洲欧美在线观看| 亚洲视频1区| 久久久久久久久蜜桃| 亚洲国产精品专区久久| 欧美激情在线狂野欧美精品| av成人福利| 久久精品夜色噜噜亚洲a∨| 欧美sm视频| 国产欧美欧美| 一区二区高清| 免费亚洲网站| 亚洲一区三区在线观看| 麻豆乱码国产一区二区三区| 国产精品美女久久久久久久| 亚洲日本中文字幕| 久久精品国产成人| 日韩一区二区精品在线观看| 久久精品成人一区二区三区蜜臀 | 狠狠色狠狠色综合系列| 一本久久综合亚洲鲁鲁五月天| 欧美怡红院视频| 亚洲免费大片| 欧美国产日韩免费| 亚洲高清精品中出| 久久久久久久久一区二区| 国产精品99久久不卡二区| 欧美高清视频一区| 伊人婷婷久久| 久久久久久久久久久一区| 亚洲一区免费观看| 欧美午夜激情在线| 一本色道久久综合亚洲91| 欧美va亚洲va日韩∨a综合色| 亚洲午夜在线视频| 欧美午夜电影在线观看| 国产精品99久久99久久久二8| 欧美aa国产视频| 久久精品九九| 激情成人亚洲| 美女在线一区二区| 裸体歌舞表演一区二区| 亚洲风情亚aⅴ在线发布| 麻豆成人小视频| 久久精品一本| 在线播放日韩专区| 欧美成人午夜视频| 欧美不卡高清| 99在线|亚洲一区二区| 亚洲国产国产亚洲一二三| 另类激情亚洲| 亚洲精品乱码久久久久久蜜桃91| 亚洲电影免费在线| 欧美久久电影| 午夜精品电影| 欧美.com| 国产精品一区二区久久久| 亚洲男人av电影| 午夜精品久久99蜜桃的功能介绍| 国产精品免费观看在线| 欧美在线综合| 久久深夜福利| 一本色道久久综合一区 | 久久久亚洲国产美女国产盗摄| 韩国成人福利片在线播放| 久热国产精品| 欧美日韩p片| 久久精品国产2020观看福利| 美女精品一区| 亚洲性夜色噜噜噜7777| 欧美在线看片a免费观看| 亚洲国产精品一区二区www| 亚洲人成人一区二区三区| 欧美性色综合| 麻豆av一区二区三区久久| 欧美日韩精品伦理作品在线免费观看| 亚洲一区三区视频在线观看| 欧美在线免费观看| 一区二区三区欧美成人| 欧美一区日韩一区| 一本一本久久| 久久久久久久久久久久久久一区 | 麻豆精品网站| 一本色道久久综合一区| 欧美在线观看视频一区二区三区| 亚洲国产一区二区三区高清| 日韩一本二本av| 韩日精品中文字幕| 一本色道久久综合亚洲精品小说| 国产欧美日韩视频一区二区三区| 麻豆久久婷婷| 国产精品一区二区三区久久| 亚洲国产精品va在线看黑人动漫| 国产精品久久77777| 亚洲国产成人一区| 在线播放一区| 午夜精品免费在线| 亚洲夜间福利| 欧美精品二区三区四区免费看视频| 欧美在线国产| 欧美日韩在线免费观看| 男女激情久久| 国产伊人精品| 午夜精品剧场| 亚洲欧美一区二区三区在线| 欧美精品九九| 欧美韩国在线| 在线观看亚洲视频| 欧美在线观看一区二区三区| 亚洲一级黄色片| 欧美日韩色综合| 亚洲精品一区二区三区樱花 | 欧美四级在线观看| 亚洲国产成人在线| 亚洲网站在线看| 欧美va天堂在线| 经典三级久久| 欧美一区二粉嫩精品国产一线天| 一本到12不卡视频在线dvd| 国语自产精品视频在线看抢先版结局 | 亚洲午夜高清视频| 亚洲人成人77777线观看| 欧美一区观看| 久久久久看片| 国语自产精品视频在线看抢先版结局| 亚洲一区精品在线| 午夜电影亚洲| 国产伦精品一区| 亚洲特级片在线| 久久aⅴ国产紧身牛仔裤| 国产欧美日韩激情| 欧美一区二区三区视频免费播放 | 亚洲美女福利视频网站| 欧美国产精品劲爆| 亚洲精品一区在线观看| 亚洲天堂激情| 国产精品午夜春色av| 午夜激情一区| 美女福利精品视频| 亚洲欧洲日本mm| 欧美视频在线一区二区三区| 一区二区三区视频在线| 久久大逼视频| 亚洲第一伊人| 欧美日韩国产高清视频| 亚洲一区二区在线免费观看视频| 欧美在线高清| 在线成人亚洲| 欧美日本一区| 午夜宅男久久久| 亚洲第一在线视频| 中文一区字幕| 韩国一区二区三区美女美女秀| 你懂的成人av| 亚洲一区二区在线看| 免费美女久久99| aa国产精品| 韩国免费一区| 欧美视频一区二区在线观看| 久久精品五月| 亚洲香蕉网站| 欧美激情在线狂野欧美精品| 亚洲免费婷婷| 亚洲狠狠丁香婷婷综合久久久| 欧美午夜在线视频| 蜜桃久久精品乱码一区二区| 一区二区三区精品视频| 欧美高清视频www夜色资源网| 亚洲欧美不卡| 99re国产精品| 在线观看亚洲精品| 国产欧美在线观看一区| 欧美日韩高清不卡| 久热精品视频在线观看| 亚洲欧美制服另类日韩| 亚洲精品视频在线播放| 亚洲一区二区三区四区在线观看| 国产一区二区三区久久 | 亚洲国产成人在线| 久久久蜜臀国产一区二区| 亚洲视频一起| 亚洲精品资源| 在线免费观看日韩欧美|