Time of Update: 2017-01-18
最近在用python做資料統計,這裡總結了一些最近使用時尋找和總結的一些小技巧,希望能協助在做這方面時的一些童鞋。有些技巧是很平常的用法,平時我們沒有注意,但是在特定情境,這些小方法還是能帶來很大的協助。1.在字典中將鍵映射到多個值上面{'b': [4, 5, 6], 'a': [1, 2, 3]}有時候我們在統計相同key值的時候,希望把所有相同key的條目添加到以key為鍵的一個字典中,然後再進行各種操作,這時候我們就可以使用下面的代碼進行操作:from collections
Time of Update: 2017-01-18
關於Python2.x和3.x帶來的print不換行的問題:昨天有發過推文,利用end = 定義,解決了橫向的小問題,但是由於螢幕顯示的問題,若字串長度過大,則會引起不便。兩個或多個print做分割的情況下,如何保持依然橫向輸出,一般的是在print尾部加上逗號(,)但是在3.x下,則不行,需要使用end = "(something)",some signs like , . ; 'also you can put a word or str in"".Example: #######
Time of Update: 2017-01-18
本文執行個體講述了Python全域變數用法。分享給大家供大家參考,具體如下:全域變數不符合參數傳遞的精神,所以,平時我很少使用,除非定義常量。今天有同事問一個關於全域變數的問題,才發現其中原來還有門道。程式大致是這樣的:CONSTANT = 0def modifyConstant() : print CONSTANT CONSTANT += 1 returnif __name__ == '__main__' : modifyConstant() print
Time of Update: 2017-01-18
本文執行個體講述了python對象及物件導向技術。分享給大家供大家參考,具體如下:1 先看一個例子. 本章將講解這個例子程式:檔案: fileinfo.py:"""Framework for getting filetype-specific metadata.Instantiate appropriate class with filename. Returned object acts like adictionary, with key-value pairs for each
Time of Update: 2017-01-18
本文執行個體講述了python異常和檔案處理機制。分享給大家供大家參考,具體如下:1 異常處理Python的異常用tryexceptfinally來處理. 並且except後還可以跟 else .引發異常用 raise如果拋出的異常沒有被處理. 在Python IDE中是顯示一些紅色的資訊. 在真正的Python程式運行時. 會導致程式終止.在以前我們已經見到過一下幾種異常:在 Dictionary 中如果使用的 key 不存在. 會引發 KeyError 異常. 如:>>>
Time of Update: 2017-01-18
學習python字串方法的使用,對書中列舉的每種方法都做一個試用,將結果記錄,方便以後查詢。(1) s.capitalize() ;功能:返回字串的的副本,並將首字母大寫。使用如下:>>> s = 'wwwwww' >>> scap = s.capitalize() >>> scap 'Wwwwww'(2)s.center(width,char);
Time of Update: 2017-01-18
Python代碼運行助手可以讓你線上輸入Python代碼,然後通過本機啟動並執行一個Python指令碼來執行代碼。原理如下:在網頁輸入代碼:點擊Run按鈕,代碼被發送到本機正在啟動並執行Python代碼運行助手;Python代碼運行助手將代碼儲存為臨時檔案,然後調用Python解譯器執行代碼;網頁顯示代碼執行結果:下載點擊右鍵,目標另存新檔:learning.py備用下載地址:learning.py完整代碼:#!/usr/bin/env python3# -*- coding: utf-8 -*
Time of Update: 2017-01-18
一、要求二、思路1.購物類buy接收 信用卡類
Time of Update: 2017-01-18
關於python 效能提升的一些方案。一、函數調用最佳化(空間跨度,避免訪問記憶體) 程式的最佳化核心點在於盡量減少操作跨度,包括代碼執行時間上的跨度以及記憶體中空間跨度。1.大資料求和,使用suma = range(100000)%timeit -n 10 sum(a)10 loops, best of 3: 3.15 ms per loop%%timeit ...: s = 0 ...: for i in a: ...: s += i ...:100 loops,
Time of Update: 2017-01-18
一切皆是對象在 Python 一切皆是對象,包括所有類型的常量與變數,整型,布爾型,甚至函數。 參見stackoverflow上的一個問題 Is everything an object in python like ruby代碼中即可以驗證:# everythin in python is object def fuction(): return print isinstance(True, object) print isinstance(0, object) print
Time of Update: 2017-01-18
本文執行個體為大家分享了python發郵件精簡代碼,供大家參考,具體內容如下import smtplibfrom email.mime.text import MIMETextfrom email.utils import formataddr#發送郵件功能def send_mail(send_message_txt,*senders_list,**send_to_people): flag = True try: #編寫發送的內容 send_msg =
Time of Update: 2017-01-18
一、二者區別列表:1.可以增加列表內容 append2.可以統計某個列表段在整個列表中出現的次數 count3.可以插入一個字串,並把整個字串的每個字母拆分當作一個列表段追加到列表當中 extedn4.可以查詢某個列表段在整個列表的位置 index5.可以在指定位置插入一個列表段 insert6.可以刪除列表的最後一個列表段 pop7.可以刪除指定列表中的某個列表段 remove8.可以正向反向排序 reverse9.可以按字母或數字排序
Time of Update: 2017-01-18
範圍介紹 python中的範圍分4種情況: L:local,局部範圍,即函數中定義的變數;E:enclosing,嵌套的父級函數的局部範圍,即包含此函數的上級函數的局部範圍,但不是全域的;G:globa,全域變數,就是模組層級別定義的變數; B:built-in,系統固定模組裡面的變數,比如int, bytearray等。 搜尋變數的優先順序順序依次是:範圍局部>外層範圍>當前模組中的全域>python內建範圍,也就是LEGB。x = int(2.9) # int built-
Time of Update: 2017-01-18
定義線程最簡單的方法:使用target指定線程要執行的目標函數,再使用start()啟動。文法:class threading.Thread(group=None, target=None, name=None, args=(), kwargs={})group恒為None,保留未來使用。target為要執行的函數名。name為線程名,預設為Thread-N,通常使用預設即可。但伺服器端程式線程功能不同時,建議命名。#!/usr/bin/env python3#
Time of Update: 2017-01-18
鎖python的內建資料結構比如列表和字典等是安全執行緒的,但是單一資料型別比如整數和浮點數則不是安全執行緒的,要這些單一資料型別的通過操作,就需要使用鎖。#!/usr/bin/env python3# coding=utf-8import threadingshared_resource_with_lock = 0shared_resource_with_no_lock = 0COUNT = 100000shared_resource_lock =
Time of Update: 2017-01-18
一直以來都對編譯器和解析器有著很大的興趣,也很清楚一個編譯器的概念和整體的架構,但是對於細節部分卻不是很瞭解。我們編寫的程式原始碼實際上就是一串字元序列,編譯器或者解譯器可以直接理解並執行這個字元序列,這看起來實在是太奇妙了。本文會用Python實現一個簡單的解析器,用於解釋一種小的列表操作語言(類似於python的list)。其實編譯器、解譯器並不神秘,只要對基本的理論理解之後,實現起來也比較簡單(當然,一個產品級的編譯器或解譯器還是很複雜的)。這種列表語言支援的操作:veca = [1, 2
Time of Update: 2017-01-18
快速入門模組提供三個類來處理一對一映射類型的一些操作'bidict', 'inverted', 'namedbidict'>>> import bidict>>> dir(bidict)['MutableMapping', '_LEGALNAMEPAT', '_LEGALNAMERE', '__builtins__', '__doc__', '__file__', '__name__', '__package__', 'bidict', 'inverted',
Time of Update: 2017-01-18
表單是讓使用者與我們的網頁應用程式互動的基本元素。Flask 本身並不會協助我們處理表單,但是 Flask-WTF 擴充讓我們在我們的 Flask 應用程式中使用流行的 WTForms 包。這個包使得定義表單和處理提交容易一些。Flask-WTF我們想要使用 Flask-WTF 做的第一件事情(在安裝它以後,GitHub項目頁:https://github.com/lepture/flask-wtf )就是在 myapp.forms 包中定義一個表單。#
Time of Update: 2017-01-18
Jinja2需要Python2.4以上的版本。 安裝 按照Jinja有多種方式,你可以根據需要選擇不同的按照方式。 使用easy_install 或pip: #sudo easy_install Jinja2 #sudo pip install Jinja2 這兩個工具可以自動從網站上下載Jinja,並安裝到python目錄的site-packages目錄中。 從tar包安裝:# 下載Jinja的安裝包 # 解壓縮 # sudo python setup.py install 基本API用法
Time of Update: 2017-01-18
Flask 環境配置你的應用程式可能需要大量的軟體包才能正常的工作。如果都不需要 Flask 包的話,你有可能讀錯了教程。當應用程式啟動並執行時候,你的應用程式的 環境 基本上是所有一切事情的根基。我們是幸運的,因為有許多方式使得我們能夠輕鬆地管理我們的環境。使用 virtualenv 管理你的環境virtualenv 是用於在所謂 虛擬環境