python開發技術詳解(一)

python是一門簡單靈動的語言。從今天開始我要每天都做筆記,每天都要寫博客記錄我所想,我所學到的。

筆記提綱:

  1,python的簡單介紹,python的編譯用法,有什么要注意的。

  2,命名規則

  3,常量


?

1,python的簡單介紹,python的編譯用法,有什么要注意的。

  python是一門比較新,比較高級的語言。換言之,由于高級,所以沒有指針等變量的嚴格區分。換言之,熟悉python(不是熟練)花的時間要比其他語言少很多時間。

  python是一門動態編譯語言。特征就是代碼精簡,靈活。

  ? ?py,pyc,pyo的區別

  pyc py文件的二進制文件形式。

import py_compile
filename=''
py_compile.compile(filename);

  pyo 是經過優化后的py程序。

   在命令行執行:python -O -m py_compile file.py  即可生成pyo文件。


2,命名規則

1,類名用大寫字母

2,私有變量前加兩個下劃線。

3,對象名用小寫字母。

4,方法名首個字母小寫,后面每個單詞首字母大寫。


3,常量

  python沒有提供像const這樣的保留字。但可以自定義一個方法來實現常量。

  文件:const.py

  

#!/usr/bin/env  python
#-*-coding:utf-8-*-
#
#####################################
#@author: xyt
#@version: 1.0
#####################################
#

class _const():'''自定義const常量函數'''class ConstError(TypeError):passdef __setattr__(self,name,value):if self.__dict__.has_key(name):raise self.ConstError, "can't rebind const (%s)" %nameself.__dict__[name]=value
'''將變量注冊到sys.modules中'''
import sys
print __name__
sys.modules[__name__]=_const()

  文件:test.py

#!/usr/bin/env  python
#-*-coding:utf-8-*-
#
#####################################
#@author: xyt
#@version: 1.0
#####################################
#
import constconst.magic=23
const.magic=34

?

講解:兩個文件必須處于同一個目錄下才能引用。

   

import sys
sys.modules[__name__]=_const()

在test.py文件 import const時候

會執行:sys.modules['const']=_const()

    會自動創建一個_const類型對象 const。  

  

轉載于:https://www.cnblogs.com/canbefree/p/4011135.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/375582.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/375582.shtml
英文地址,請注明出處:http://en.pswp.cn/news/375582.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

(Android Studio)添加文本框

此文大部分摘自http://hukai.me/android-training-course-in-chinese/basics/firstapp/building-ui.html android : id 這是定義View的唯一標識符。可以在程序代碼中通過該標識符對對象進行引用,例如對這個對象進行讀和修改的操作(在下一課里將會用到)。 當想從XML里…

java final keyword

依據上下文環境,java的keywordfinal也存在著細微的差別,但通常指的是“這是無法改變的。”不想改變的理由由兩種:一種是效率,還有一種是設計。因為兩個原因相差非常遠,所以關鍵子final可能被吳用。 接下來介紹一下使用…

聽GPT 講Rust源代碼--src/tools(24)

File: rust/src/tools/clippy/clippy_lints/src/types/borrowed_box.rs 在Rust源代碼中的rust/src/tools/clippy/clippy_lints/src/types/borrowed_box.rs文件是Clippy項目的一個規則,用于檢查可能是誤用或錯誤的Box引用情況。 Rust中的Box是一個堆分配的值的所有權…

遞歸乘法

遞歸乘法。 寫一個遞歸函數,不使用 * 運算符, 實現兩個正整數的相乘。可以使用加號、減號、位移,但要吝嗇一些。 示例1: 輸入:A 1, B 10輸出:10示例2: 輸入:A 3, B 4輸出:12提示: 保證乘法…

Building a RESTful Web Service

http://spring.io/guides/gs/rest-service/ Should shutdown tomcat service first , and then java -jar *.jar轉載于:https://www.cnblogs.com/churuosi/p/4774151.html

IOS的各種手勢

轉自http://blog.csdn.net/likendsl/article/details/7554150 一、概述 iPhone中處理觸摸屏的操作,在3.2之前是主要使用的是由UIResponder而來的如下4種方式: - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event - (void)touchesCancell…

duilib獲取字符串的像素長

CDuiString m_test_string _T("測試字符串")HDC m_hDc m_pm.GetPaintDC();// 100 是xml中配置的字體的編號HFONT hFont m_pm.GetFont(100);::SelectObject(m_hDc, hFont);SIZE size;GetTextExtentPoint32(m_hDc, m_test_string, i, &size);return size.cxThe …

(轉)rvm安裝與常用命令

rvm是一個命令行工具,可以提供一個便捷的多版本ruby環境的管理和切換。 https://rvm.io/ 如果你打算學習ruby/rails, rvm是必不可少的工具之一。 這里所有的命令都是再用戶權限下操作的,任何命令最好都不要用sudo. rvm安裝 $ curl -L get.rvm.io | bash …

Symfony2 EventDispatcher組件

一個插件系統中,A插件在不影響其它插件的前提下,添加新的方法,或者在一個方法運行前做一些準備工作,通過繼承來實現擴展是很不容易的,由于插件之間的關聯關系,A插件的改變也會使得關聯的插件被動的修改。Sy…

【轉】漫談ANN(2):BP神經網絡

上一次我們講了M-P模型,它實際上就是對單個神經元的一種建模,還不足以模擬人腦神經系統的功能。由這些人工神經元構建出來的網絡,才能夠具有學習、聯想、記憶和模式識別的能力。BP網絡就是一種簡單的人工神經網絡。我們的第二話就從BP神經網絡…

給定一個值S,在有序數組中找出兩個元素A和B,使 A+B = S.

在網上看到過一個面試題,感覺挺有意思,看別人的代碼寫的邏輯不夠謹慎,重寫了一個,較真了又。。。 package com.array7.algorithm;public class AlgorithmTest {public static void main(String[] args) {int[] arr {2 ,4 ,5 ,8 ,…

二叉樹的最小深度

給定一個二叉樹,找出其最小深度。 最小深度是從根節點到最近葉子節點的最短路徑上的節點數量。 說明: 葉子節點是指沒有子節點的節點。 示例: 給定二叉樹[3,9,20,null,null,15,7] 3/ \9 20/ \15 7返回它的最小深度 2. c 廣度優先 /*** Definition for a b…

(轉)會議期刊論文發表介紹(計算機科學領域)

轉自:http://blog.csdn.net/babyfacer/archive/2009/07/25/4377552.aspx 一、計算機科學期刊介紹計算機科學的publication最大特點在于:極度重視會議,而期刊則通常只用來做re- publication。大部分期刊文章都是會議論文的擴展版,首…

笑男手札:SharePoint 2013 單一服務器場環境恢復數據庫內容

SharePoint 2013 單一服務器場環境恢復數據庫內容 笑男的公司服務很多客戶,當然,這些客戶都很挑剔,所以一般情況下生產(Prod)環境的服務是不能停的。 當然,如果你將包含相同網站集的數據庫連接到同一個服務…

數組中數字出現的次數

一個整型數組 nums 里除兩個數字之外,其他數字都出現了兩次。請寫程序找出這兩個只出現一次的數字。要求時間復雜度是O(n),空間復雜度是O(1)。 示例 1: 輸入:nums [4,1,4,6] 輸出:[1,6] 或 [6,1]示例 2:…

【轉】String Date Calendar之間的轉換

1.Calendar 轉化 String Calendar calendat Calendar.getInstance(); SimpleDateFormat sdf new SimpleDateFormat("yyyy-MM-dd"); String dateStr sdf.format(calendar.getTime()); 2.String 轉化Calendar String str"2012-5-27"; SimpleDateFormat sd…

圖解 深入淺出 JavaWeb:Servlet 再說幾句

Writer :BYSocket(泥沙磚瓦漿木匠) 微 博:BYSocket 豆 瓣:BYSocket FaceBook:BYSocket Twitter :BYSocket 上一篇的《 Servlet必會必知 》受到大家一致好評 — (感謝 讀…

react.js 從零開始(五)React 中事件的用法

事件系統 虛擬事件對象 事件處理器將會傳入虛擬事件對象的實例,一個對瀏覽器本地事件的跨瀏覽器封裝。它有和瀏覽器本地事件相同的屬性和方法,包括 stopPropagation() 和 preventDefault(),但是沒有瀏覽器兼容問題。 如果因為一些因素&#x…

乘積的最大子數組

給你一個整數數組 nums ,請你找出數組中乘積最大的連續子數組(該子數組中至少包含一個數字),并返回該子數組所對應的乘積。 示例 1: 輸入: [2,3,-2,4] 輸出: 6 解釋: 子數組 [2,3] 有最大乘積 6。示例 2: 輸入: [-2,0,-1] 輸出…

javascript new

1. 僅function可以使用new 2. function使用new時,會拷貝function中this的內容給新對象,并將function的prototype指向新對象(如果該function沒有prototype,則指向Object的prototype) 注:function本身不是Obj…