黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

暑期經(jīng)驗(yàn)分享——一些python基礎(chǔ)

系統(tǒng) 2022 0

暑期經(jīng)驗(yàn)分享

  • 寫在前面的話
  • python代碼的書寫規(guī)范
    • 編碼
    • 空行
    • 空格
    • 注釋規(guī)范
    • 命名規(guī)范
    • 函數(shù)開頭

寫在前面的話

時(shí)間飛逝,轉(zhuǎn)眼兩年已經(jīng)過去了,現(xiàn)在也已經(jīng)到了忙碌奔波寫論文找工作的時(shí)間了,仔細(xì)回想下之前兩年的點(diǎn)點(diǎn)滴滴,除了在各種push下做了一些小項(xiàng)目,其他真的沒有一點(diǎn)東西,真的慚愧。這么長一段時(shí)間的python語言的使用還是積累下來了一些東西,下面是把自己的一些愚見記錄下來,希望能夠給讀者有一點(diǎn)點(diǎn)幫助。

python代碼的書寫規(guī)范

書寫代碼的時(shí)候一定要注意養(yǎng)成遵守規(guī)范的好習(xí)慣,每寫一行代碼都要保證遵守相應(yīng)的規(guī)范,這樣起碼后面自己再看當(dāng)年的大作的時(shí)候還是能夠看得懂的。

編碼

沒有特殊情況,一般情況下就使用UTF-8編碼。
文件頭部加上# coding:utf-8。

            
              
                # coding: utf-8
              
            
          

空行

兩個(gè)函數(shù)模塊之間一般是要空兩行,類內(nèi)函數(shù)之間需要空一行:

            
              
                class
              
              
                MainFunc
              
              
                (
              
              
                )
              
              
                :
              
              
                def
              
              
                __init__
              
              
                (
              
              self
              
                ,
              
               name
              
                )
              
              
                :
              
              
		self
              
                .
              
              name 
              
                =
              
               name

	
              
                def
              
              
                play_game
              
              
                (
              
              self
              
                )
              
              
                :
              
              
                pass
              
              
                def
              
              
                main_func
              
              
                (
              
              
                )
              
              
                :
              
              
                pass
              
              
                def
              
              
                hello_world
              
              
                (
              
              
                )
              
              
                :
              
              
                pass
              
            
          

函數(shù)中,空行還可以用來分割不同的邏輯塊:

            
              
                def
              
              
                yolo_body
              
              
                (
              
              inputs
              
                ,
              
               num_anchors
              
                ,
              
               num_classes
              
                )
              
              
                :
              
              
                """Create YOLO_V3 model CNN body in Keras."""
              
              
    darknet 
              
                =
              
               Model
              
                (
              
              inputs
              
                ,
              
               darknet_body
              
                (
              
              inputs
              
                )
              
              
                )
              
              
    x
              
                ,
              
               y1 
              
                =
              
               make_last_layers
              
                (
              
              darknet
              
                .
              
              output
              
                ,
              
              
                512
              
              
                ,
              
               num_anchors 
              
                *
              
              
                (
              
              num_classes 
              
                +
              
              
                5
              
              
                )
              
              
                )
              
              

    x 
              
                =
              
               compose
              
                (
              
              
        DarknetConv2D_BN_Leaky
              
                (
              
              
                256
              
              
                ,
              
              
                (
              
              
                1
              
              
                ,
              
              
                1
              
              
                )
              
              
                )
              
              
                ,
              
              
        UpSampling2D
              
                (
              
              
                2
              
              
                )
              
              
                )
              
              
                (
              
              x
              
                )
              
              
    x 
              
                =
              
               Concatenate
              
                (
              
              
                )
              
              
                (
              
              
                [
              
              x
              
                ,
              
               darknet
              
                .
              
              layers
              
                [
              
              
                152
              
              
                ]
              
              
                .
              
              output
              
                ]
              
              
                )
              
              
    x
              
                ,
              
               y2 
              
                =
              
               make_last_layers
              
                (
              
              x
              
                ,
              
              
                256
              
              
                ,
              
               num_anchors 
              
                *
              
              
                (
              
              num_classes 
              
                +
              
              
                5
              
              
                )
              
              
                )
              
              

    x 
              
                =
              
               compose
              
                (
              
              
        DarknetConv2D_BN_Leaky
              
                (
              
              
                128
              
              
                ,
              
              
                (
              
              
                1
              
              
                ,
              
              
                1
              
              
                )
              
              
                )
              
              
                ,
              
              
        UpSampling2D
              
                (
              
              
                2
              
              
                )
              
              
                )
              
              
                (
              
              x
              
                )
              
              
    x 
              
                =
              
               Concatenate
              
                (
              
              
                )
              
              
                (
              
              
                [
              
              x
              
                ,
              
               darknet
              
                .
              
              layers
              
                [
              
              
                92
              
              
                ]
              
              
                .
              
              output
              
                ]
              
              
                )
              
              
    x
              
                ,
              
               y3 
              
                =
              
               make_last_layers
              
                (
              
              x
              
                ,
              
              
                128
              
              
                ,
              
               num_anchors 
              
                *
              
              
                (
              
              num_classes 
              
                +
              
              
                5
              
              
                )
              
              
                )
              
              
                return
              
               Model
              
                (
              
              inputs
              
                ,
              
              
                [
              
              y1
              
                ,
              
               y2
              
                ,
              
               y3
              
                ]
              
              
                )
              
            
          

空格

在二元運(yùn)算符兩邊各空一格[=,-,+=,==,>,in,is not, and, ……]:

            
              a 
              
                =
              
               b 
              
                +
              
               c
batch_size 
              
                =
              
               img_nums 
              
                //
              
               batch_nums

            
          

函數(shù)的參數(shù)列表中,默認(rèn)值等號(hào)兩邊不要添加空格:

            
              
                def
              
              
                train
              
              
                (
              
              batch_size
              
                =
              
              
                128
              
              
                ,
              
               epoch
              
                =
              
              
                50
              
              
                ,
              
               log_dir
              
                =
              
              
                './logs'
              
              
                )
              
              
                :
              
              
                pass
              
            
          

逗號(hào)和冒號(hào)只需要在后面留空格,這個(gè)在字典的定義過程中體現(xiàn)的最為明顯:

            
              demo_dict 
              
                =
              
              
                {
              
              
                '1'
              
              
                :
              
              
                '1'
              
              
                ,
              
              
                '2'
              
              
                :
              
              
                '2'
              
              
                ,
              
              
                '3'
              
              
                :
              
              
                '3'
              
              
                }
              
            
          

注釋規(guī)范

行注釋,使用#開頭,后面加上空格,注釋一定要是有意義的話,這個(gè)是思路的解釋,而不是簡(jiǎn)單復(fù)述代碼:

            
              
                # 將像素值轉(zhuǎn)化為8位
              
              
img 
              
                *=
              
              
                255
              
              
                .
              
            
          

函數(shù)注釋,使用三個(gè)雙引號(hào)開頭和三個(gè)雙引號(hào)結(jié)尾,解釋函數(shù)的作用,輸入?yún)?shù)以及返回的參數(shù):

            
              
                def
              
              
                reverse_list
              
              
                (
              
              nums
              
                )
              
              
                :
              
              
                """ 反轉(zhuǎn)列表 :pram nums:要反轉(zhuǎn)的list :returns:返回反轉(zhuǎn)之后的list,以及l(fā)ist的長度 """
              
              
    new_nums 
              
                =
              
               nums
              
                [
              
              
                :
              
              
                :
              
              
                -
              
              
                1
              
              
                ]
              
              
                return
              
               new_nums
              
                ,
              
              
                len
              
              
                (
              
              nums
              
                )
              
            
          

命名規(guī)范

類名一般采用駝峰(CamelCase)命名規(guī)則,每個(gè)單詞的首字母大寫:

            
              
                class
              
              
                MainFunc
              
              
                (
              
              
                )
              
              
                :
              
              
                pass
              
              
                class
              
              
                HelloWorld
              
              
                (
              
              
                )
              
              
                :
              
              
                pass
              
            
          

函數(shù)名和變量名均全部使用小寫,不同字母之間使用下劃線_分割開:

            
              
                def
              
              
                hello_world
              
              
                (
              
              
                )
              
              
                :
              
              
	demo_dict 
              
                =
              
              
                {
              
              
                '1'
              
              
                :
              
              
                '2'
              
              
                }
              
              
	demo_list 
              
                =
              
              
                [
              
              
                ]
              
            
          

常量則全部使用大寫,字母之間使用下劃線分開:

            
              BATCH_SIZE 
              
                =
              
              
                128
              
              
EPOCH 
              
                =
              
              
                50
              
            
          

函數(shù)開頭

如果要寫一個(gè)能直接執(zhí)行的腳本,要給腳本加一個(gè)規(guī)范的開頭,如下:

            
              
                # coding: utf-8
              
              
                def
              
              
                demo
              
              
                (
              
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                'hello world'
              
              
                )
              
              
                if
              
               __name__ 
              
                ==
              
              
                '__main__'
              
              
                :
              
              
	demo
              
                (
              
              
                )
              
            
          

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論