婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > Python代碼風(fēng)格與編程習(xí)慣重要嗎?

Python代碼風(fēng)格與編程習(xí)慣重要嗎?

熱門標(biāo)簽:市場(chǎng)上的電銷機(jī)器人 北京電銷外呼系統(tǒng)加盟 北瀚ai電銷機(jī)器人官網(wǎng)手機(jī)版 小蘇云呼電話機(jī)器人 儋州電話機(jī)器人 佛山400電話辦理 地圖標(biāo)注面積 朝陽手機(jī)外呼系統(tǒng) 所得系統(tǒng)電梯怎樣主板設(shè)置外呼

Python代碼風(fēng)格

首先我們要以 PEP8 代碼規(guī)范為標(biāo)準(zhǔn),但也無需完全遵守。例如:一行不能超過 79 個(gè)字符等。

Python模塊模板

模塊開頭指定編碼格式

模塊文檔注釋,展示模塊的信息,信息內(nèi)容自己決定,如:

  • Author,作者
  • Desc,模塊描述
  • Date,創(chuàng)建時(shí)間

有一個(gè) main() 函數(shù)

有一個(gè)程序主入口 if __name__ == '__main__':

#!/usr/bin/python3
# -*- coding:utf-8 -*-
# @Author: Hui
# @Desc: { 項(xiàng)目主入口模塊 }
# @Date: 2020/05/21 13:04


def main():
    print('Hello Python')


if __name__ == '__main__':
    main()

main() 函數(shù)方便用于測(cè)試當(dāng)前模塊功能。

import 導(dǎo)入

import 導(dǎo)入,避免使用 from ... import * ,因?yàn)檫@可能導(dǎo)致模塊、類、變量名重復(fù)而導(dǎo)致錯(cuò)誤。

我自己的 import 代碼風(fēng)格有兩種。

由短到長(zhǎng)

根據(jù)代碼的長(zhǎng)度由短到長(zhǎng)依次導(dǎo)入,import 過度到 from ... import ... ,換行分割可有可無,我是根據(jù) from ... import ... 前面的 import 的數(shù)量和整體美觀來決定要不要換行。

import os
import sys
import time
import random
import config
import pygame
import requests
import numpy as np

from PIL import Image
from threading import Thread
from datetime import datetime

分類導(dǎo)入

分類導(dǎo)入,是分好類后在根據(jù)代碼的長(zhǎng)度由短到長(zhǎng)依次導(dǎo)入,主要有:

  • Python內(nèi)置模塊
  • Python自建模塊
  • Python第三方庫
# Python內(nèi)置模塊導(dǎo)入
import os
import sys
import time
import random
from threading import Thread
from datetime import datetime

# Python自建模塊、第三方庫導(dǎo)入
import config
import pygame
import requests
import numpy as np
from PIL import Image

導(dǎo)入順序依次為

Python內(nèi)置模塊  -->  Python自建模塊  -->  Python第三方庫

根據(jù)自己的風(fēng)格,導(dǎo)入的自建模塊、Python第三方庫少時(shí)可以在一起無需換行

導(dǎo)入的自建模塊少時(shí)可以跟Python內(nèi)置模塊在一起,就是轉(zhuǎn)換成 由短到長(zhǎng) 的風(fēng)格

建議

導(dǎo)入模塊代碼風(fēng)格無需照搬照抄地遵循,我們做任何的優(yōu)化就是為了讓代碼更好看,結(jié)構(gòu)清晰,無需刻意遵循死規(guī)則、爛規(guī)則,應(yīng)該活學(xué)活用,創(chuàng)新變化,學(xué)習(xí)別人優(yōu)秀的方案,總結(jié)出適合自己的。

例如:

假如import 導(dǎo)入語句比 from 導(dǎo)入語句更長(zhǎng),要遵循或者糾結(jié) import 是要在 from 導(dǎo)入語句前面還是由短到長(zhǎng)排放呢?

import numpy as np
import multiprocessing

from PIL import Image
import numpy as np
from PIL import Image
import multiprocessing

無需太過糾結(jié)、摳字眼,兩種導(dǎo)入風(fēng)格都可以。

Django代碼范例

封裝html的url網(wǎng)址

渲染 html 頁面,把 html 的存放路徑總體封裝到一個(gè)類里面。

class BookView(object):
    """圖書模塊視圖類"""
	
    # 圖書首頁
    INDEX_VIEW = 'book/index.html'
	
    # 圖書信息頁
    BOOK_INFO_VIEW = 'book/book_info.html'
	
    # 英雄信息頁
    HERO_INFO_VIEW = 'book/hero_info.html'



# 定義視圖函數(shù)
def index(request):
    """
    圖書首頁
    """
    data = {
        'content': 'hello world',
        'list': list(range(1, 10)),
    }
    return render(request, BookView.INDEX_VIEW, data)


def show_book(request):
    """
    展示圖書信息界面
    """
    book_list = BookInfo.objects.all()
    data = {
        'book': book_list
    }
    return render(request, BookView.BOOK_INFO_VIEW, data)

封裝注冊(cè)的提示錯(cuò)誤信息

返回頁面提示的錯(cuò)誤信息,統(tǒng)一封裝到字典中,提高代碼可讀性、擴(kuò)展性。

初始版本

class UserView(object):
    """用戶模塊視圖類"""
    
    LOGIN_VIEW = 'user/login.html'
	
    REGISTER_VIEW = 'user/register.html'
	
    USER_CENTER_VIEW = 'user/user_center.html'
    
    
def register(request):
    username = request.get('username')
    password = request.get('password')
    email = request.get('email')
    allow = request.get('allow')
    
    # 校驗(yàn)注冊(cè)項(xiàng)是否有空值 
    # all()中有一個(gè)為空返回False,都有值則True
    if not all([username, password, email]):
        return render(request, UserView.REGISTER_VIEW, {'error_msg': '數(shù)據(jù)不完整'})
    
    # 校驗(yàn)是否勾選(同意)用戶協(xié)議
    if allow != 'on':
        return render(request, UserView.REGISTER_VIEW, {'error_msg': '請(qǐng)勾選用戶協(xié)議'})
     
    # 校驗(yàn)用戶名是否重復(fù)
    try   
        user = User.object.get(username=username)
    except User.DoesNotExists:
        user = None
     
    if user:
        return render(request, UserView.REGISTER_VIEW, {'error_msg': '該用戶已存在'})

    return render(request, 'register.html')

可以看到在返回響應(yīng)數(shù)據(jù)時(shí)代碼大致一樣,只有提示信息不一樣

return render(request, UserView.REGISTER_VIEW, {'error_msg': '數(shù)據(jù)不完整'})

return render(request, UserView.REGISTER_VIEW, {'error_msg': '請(qǐng)勾選用戶協(xié)議'})

return render(request, UserView.REGISTER_VIEW, {'error_msg': '該用戶已存在'})

因此封裝后的版本

def register(request):
    username = request.get('username')
    password = request.get('password')
    email = request.get('email')
    allow = request.get('allow')
    
    error_msg = {
        'email_error': '郵箱格式不正確',
        'user_exists': '該用戶已存在',
        'data_error': '數(shù)據(jù)不完整',
        'user_protocol': '請(qǐng)勾選用戶協(xié)議',
    }
    
    # 返回頁面的數(shù)據(jù)
    data = dict()
    
    # 校驗(yàn)注冊(cè)項(xiàng)是否有空值 
    # all()中有一個(gè)為空返回False,都有值則True
    if not all([username, password, email]):
        data['error_msg'] = error_msg['data_error']
    
    # 校驗(yàn)是否勾選(同意)用戶協(xié)議
    elif allow != 'on':
        data['error_msg'] = error_msg['user_protocol']
    else:
        # 校驗(yàn)用戶名是否重復(fù)
        user = User.object.filter(username=username)
            
        if user:
            data['error_msg'] = error_msg['user_error']
        else:
            pass
        
    return render(request, UserView.REGISTER_VIEW, data)
# 校驗(yàn)用戶名是否重復(fù)
try   
	user = User.object.get(username=username)
except User.DoesNotExists:
    user = None

優(yōu)化后

User.object.filter(username=username)

get 獲取不到數(shù)據(jù)會(huì)報(bào)異常,filter則返回一個(gè)空的 query_set 查詢結(jié)果集,去除了 try ... except 異常捕獲。讓代碼結(jié)構(gòu)更清晰。

我們把 if、if.. 改成了 if elif else ,把 render(request, 'register.html', data) 抽到外面去了,并不需要在每一個(gè) if 里面 return 響應(yīng)。把錯(cuò)誤信息封裝在 error_msg 字典中,下次想再添加一些錯(cuò)誤提示信息或者想修改錯(cuò)誤提示信息可以在 error_msg 字典中添加、修改,這樣易維護(hù)、擴(kuò)展,也更加明確有哪些錯(cuò)誤信息。

到此這篇關(guān)于Python代碼風(fēng)格與編程習(xí)慣重要嗎?的文章就介紹到這了,更多相關(guān)Python編程規(guī)范內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 給大家整理了19個(gè)pythonic的編程習(xí)慣(小結(jié))
  • Python入門篇之編程習(xí)慣與特點(diǎn)
  • 符合語言習(xí)慣的 Python 優(yōu)雅編程技巧【推薦】
  • 只用20行Python代碼實(shí)現(xiàn)屏幕錄制功能
  • Python一行代碼實(shí)現(xiàn)自動(dòng)發(fā)郵件功能
  • 只需要100行Python代碼就可以實(shí)現(xiàn)的貪吃蛇小游戲
  • 利用Python計(jì)算圓周率π的實(shí)例代碼
  • 寫好Python代碼的幾條重要技巧
  • Python 線程池模塊之多線程操作代碼
  • python使用tkinter實(shí)現(xiàn)透明窗體上繪制隨機(jī)出現(xiàn)的小球(實(shí)例代碼)
  • python3調(diào)用c語言代碼的全過程記錄

標(biāo)簽:定西 商丘 金融催收 龍巖 酒泉 云南 寧夏 江蘇

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python代碼風(fēng)格與編程習(xí)慣重要嗎?》,本文關(guān)鍵詞  Python,代碼,風(fēng)格,與,編程,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python代碼風(fēng)格與編程習(xí)慣重要嗎?》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python代碼風(fēng)格與編程習(xí)慣重要嗎?的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    久久精品久久久精品美女| 亚洲国产精品99久久久久久久久| 国产很黄免费观看久久| 免费高清在线视频一区·| 一区二区三区中文免费| 亚洲免费看黄网站| 一区二区日韩av| 亚洲午夜电影在线观看| 一区二区三区丝袜| 亚洲大尺度视频在线观看| 亚洲国产中文字幕| 亚洲成a人片在线不卡一二三区| 亚洲自拍偷拍av| 亚洲成人综合在线| 青青草97国产精品免费观看| 男男gaygay亚洲| 国产毛片精品视频| 91在线视频播放地址| 欧洲视频一区二区| 欧美日韩视频一区二区| 欧美三级欧美一级| 日韩一二三四区| 中文字幕欧美国产| 亚洲精品高清在线| 天使萌一区二区三区免费观看| 久久国产夜色精品鲁鲁99| 国产iv一区二区三区| 91高清在线观看| 日韩三级免费观看| 综合色天天鬼久久鬼色| 亚洲va欧美va天堂v国产综合| 蜜臀va亚洲va欧美va天堂 | 亚洲日本护士毛茸茸| 亚洲国产婷婷综合在线精品| 日韩中文字幕区一区有砖一区| 男女性色大片免费观看一区二区| 狠狠色狠狠色合久久伊人| 91小视频免费看| 日韩欧美综合一区| 亚洲视频图片小说| 韩国午夜理伦三级不卡影院| 色狠狠桃花综合| 久久久99精品免费观看不卡| 一区二区三区视频在线看| 国产美女主播视频一区| 精品视频在线免费观看| 亚洲国产精品成人久久综合一区| 日本欧美一区二区三区乱码| 99这里只有精品| 国产午夜亚洲精品不卡| 日韩在线一区二区| 色香蕉久久蜜桃| 久久先锋影音av| 免费成人结看片| 欧美日韩专区在线| 自拍视频在线观看一区二区| 美女一区二区视频| 欧美日韩免费电影| 亚洲免费伊人电影| 99r国产精品| 中文字幕高清一区| 国产高清在线精品| 国产亚洲女人久久久久毛片| 美女精品一区二区| 欧美一区二区在线不卡| 午夜久久久久久久久| 日本道在线观看一区二区| 亚洲三级久久久| av网站免费线看精品| 国产精品久久久久婷婷| 激情文学综合插| 日韩精品中午字幕| 九九视频精品免费| 精品日韩欧美一区二区| 麻豆精品在线观看| 精品国产亚洲一区二区三区在线观看| 丝袜诱惑制服诱惑色一区在线观看 | 亚洲人被黑人高潮完整版| 处破女av一区二区| 欧美国产激情一区二区三区蜜月| 国产裸体歌舞团一区二区| 久久久国产精华| 成人午夜免费电影| 亚洲色图清纯唯美| 99国产一区二区三精品乱码| 悠悠色在线精品| 在线观看av不卡| 日本欧美久久久久免费播放网| 51精品久久久久久久蜜臀| 美女视频黄久久| 久久久无码精品亚洲日韩按摩| 韩国毛片一区二区三区| 国产日产亚洲精品系列| 91免费在线视频观看| 又紧又大又爽精品一区二区| 在线电影国产精品| 国产精华液一区二区三区| 国产精品不卡一区| 欧美精品乱码久久久久久按摩| 日本网站在线观看一区二区三区| 欧美va亚洲va香蕉在线| 国产成人综合在线播放| 中文字幕制服丝袜成人av | 日本aⅴ免费视频一区二区三区| 精品奇米国产一区二区三区| 福利一区在线观看| 亚洲成人激情社区| 国产色产综合产在线视频| 色婷婷综合激情| 青青草国产成人99久久| 国产精品热久久久久夜色精品三区| 色噜噜狠狠一区二区三区果冻| 日韩精品欧美精品| 国产日本欧美一区二区| 欧美日韩大陆在线| 成人爱爱电影网址| 玖玖九九国产精品| 亚洲精品免费在线观看| 久久综合一区二区| 5566中文字幕一区二区电影| av一本久道久久综合久久鬼色| 日韩 欧美一区二区三区| 亚洲图片你懂的| 精品欧美一区二区在线观看| 在线亚洲一区二区| 丰满少妇在线播放bd日韩电影| 日韩成人午夜电影| 一区二区三区蜜桃| 欧美国产精品专区| 2020国产精品| 精品久久久久久综合日本欧美| 欧美午夜精品久久久| 国产91高潮流白浆在线麻豆| 奇米四色…亚洲| 亚洲一区二区三区四区不卡| 中文字幕二三区不卡| 国产性天天综合网| 精品国产髙清在线看国产毛片| 欧美日韩国产综合久久| 一本色道综合亚洲| 成年人国产精品| 成人性色生活片| 大美女一区二区三区| 国产乱人伦精品一区二区在线观看| 日韩国产欧美一区二区三区| 午夜视频久久久久久| 亚洲日本在线天堂| 亚洲人午夜精品天堂一二香蕉| 中文字幕精品一区二区三区精品| 久久久久久电影| 久久久精品国产免费观看同学| 欧美一级在线视频| 日韩一级二级三级| 久久久亚洲国产美女国产盗摄| 精品国产麻豆免费人成网站| 日韩一区二区电影网| 91精品欧美一区二区三区综合在| 欧美日韩精品欧美日韩精品一 | 免费观看30秒视频久久| 久久成人久久爱| 国内精品国产成人国产三级粉色| 极品美女销魂一区二区三区| 国产一区二区三区综合| 成人中文字幕在线| 日本韩国视频一区二区| 欧美日韩精品福利| 久久综合色天天久久综合图片| 日本一区二区三区视频视频| 成人免费一区二区三区在线观看| 一区二区三区国产| 蜜桃视频免费观看一区| 国产成人在线看| 欧美综合在线视频| 日韩欧美www| 国产人成亚洲第一网站在线播放| 国产精品福利影院| 夜夜爽夜夜爽精品视频| 日本视频一区二区三区| 国产精选一区二区三区| 一本久道中文字幕精品亚洲嫩 | 本田岬高潮一区二区三区| 在线精品国精品国产尤物884a| 666欧美在线视频| 久久久久久久久久电影| 亚洲欧美日韩国产另类专区 | 亚洲国产精品成人综合 | 国产一区二区三区av电影| 91网站视频在线观看| 日韩三级av在线播放| 亚洲欧美偷拍另类a∨色屁股| 欧美aaa在线| 一本到三区不卡视频| 欧美电影免费观看高清完整版在线观看| 国产亚洲成av人在线观看导航| 亚洲三级在线观看| 精品一区二区三区在线播放| 色天天综合久久久久综合片| 精品国内片67194| 亚洲国产色一区| 91小视频免费看|