Time of Update: 2017-01-18
執行個體如下:def TestDic1(): dict2 ={'aa':222,11:222} for val in dict2: print valdef TestDic2(): dict2 ={'aa':222,11:222} for (key,val) in dict2.items(): print key,":",val def TestList1(): list=[1,2,3,4,5,3,2,'ada','fs3'] for i in
Time of Update: 2017-01-18
1、type(變數名),輸出的結果就是變數的類型;例如>>> type(6)<type 'int'>2、在Python裡面變數在聲明時,不需要指定變數的類型,變數的類型是動態指定的;>>> x=5>>> type(x)<type 'int'>>>> x="wang">>> type(x)<type
Time of Update: 2017-01-18
python中一切皆為對象,所謂對象:我自己就是一個對象,我玩的電腦就是對象,坐著的椅子就是對象,家裡養的小狗也是一個對象。。。。。。我們通過描述屬性(特徵)和行為來描述一個對象的。比如家裡的小狗,它的顏色,大小,年齡,體重等是它的屬性或特徵。它會汪汪叫,會搖尾巴等是它的行為。我們在描述一個真實對象(物體)時包括兩個方面:它可以做什麼(行為)它是什麼樣的(屬性或特徵)。在python中,一個對象的特徵也稱為屬性(attribute)。它所具有的行為也稱為方法(method)結論:對象=屬性+方法
Time of Update: 2017-01-18
在運算式中引用變數時,Python 會按照如下的順序遍曆各個範圍,尋找該變數: 當前函數範圍 任何外圍範圍(比如包含當前函數的其他函數) global 範圍,即代碼所在的模組的範圍 如果上述範圍內都找不到變數,就會報 NameError 異常。但是對變數賦值時,規則會有所不同。 如果當前範圍變數已存在,那麼其值會被替換。 如果不存在,則會視為在當前範圍定義新變數,而不是向外圍範圍中尋找。 如下函數def function(): flag = True def helper():
Time of Update: 2017-01-18
說到營運警示,我覺得都可以寫個長篇曆史來詳細解釋了警示的前世來生,比如最早警示都是用郵件,但郵件即時性不高,比如下班回家總不能人一直盯著郵箱吧,所以郵件這種警示方式不適合用來報緊急的故障,日常磁碟利用率監控什麼的可以用它來報沒問題,網站宕機不能訪問這種故障,用它就明顯不合適了,那對這種業務穩定性要求比較高的業務,後來就發展成了用簡訊,就是公司買個簡訊機,提供一個http介面,然後營運人員寫指令碼把收集到的異常資料寫入檔案,然後指令碼即時檢測如果這個檔案不為空白,就調用簡訊機介面把檔案裡的內容發送
Time of Update: 2017-01-18
複製代碼 代碼如下:import osimport sysimport ftplibimport socket################################################################### sign in the ftp server and download the log file. # 登陸生產伺服器下載日誌################################################################
Time of Update: 2017-01-18
複製代碼 代碼如下:# -*- encoding: utf8 -*-import osimport sysimport ftplibclass FTPSync(object): def __init__(self): self.conn = ftplib.FTP('10.22.33.46', 'user',
Time of Update: 2017-01-18
複製代碼 代碼如下:# _*_ coding:utf-8 _*_# name gefile.pyimport osimport statimport socketimport
Time of Update: 2017-01-18
str='python String function'產生字串變數str='python String function'字串長度擷取:len(str)例:print '%s length=%d' % (str,len(str))字母處理全部大寫:str.upper()全部小寫:str.lower()大小寫互換:str.swapcase()首字母大寫,其餘小寫:str.capitalize()首字母大寫:str.title()print '%s lower=%s' %
Time of Update: 2017-01-18
首先,來看每次處理一個字元的情況,可以有如下方法去實現:方法一:複製代碼 代碼如下: >>> a='1234567' >>> list(a) ['1', '2', '3', '4', '5', '6', '7'] >>>方法二:複製代碼 代碼如下: >>
Time of Update: 2017-01-18
詳見代碼如下: 複製代碼 代碼如下: import threading import time import os import subprocess def get_process_count(imagename): p = os.popen('tasklist /FI "IMAGENAME eq %s"' % imagename) return p.read().count(imagename) def timer_start(): t =
Time of Update: 2017-01-18
下面我挑選出的這幾個技巧常常會被人們忽略,但它們在日常編程中能真正的給我們帶來不少協助。 1. 字典推導(Dictionary comprehensions)和集合推導(Set comprehensions) 大多數的Python程式員都知道且使用過列表推導(list comprehensions)。如果你對list comprehensions概念不是很熟悉——一個list comprehension就是一個更簡短、簡潔的建立一個list的方法。 >>> some_list
Time of Update: 2017-01-18
使用Python內建函數:bin()、oct()、int()、hex()可實現進位轉換。 先看Python官方文檔中對這幾個內建函數的描述: bin(x) Convert an integer number to a binary string. The result is a valid Python expression. If x is not a Python int object, it has to define an __index__() method that returns
Time of Update: 2017-01-18
>>> a = 2.5 >>> b = 2.5 >>> c = b >>> a is c False >>> a = 2 >>> b = 2 >>> c = b >>> a is c True 今天在使用is函數的時候去列印a,b分別被賦值為2.5 和2的情況,發現: >>> a = 2 >>> b = 2 >&
Time of Update: 2017-01-18
先上指令碼吧,等下來講下知識點: 複製代碼 代碼如下: #!/usr/bin/env python #encoding=utf-8 import sys import re import urllib2 import urllib import cookielib class Renren(object): def __init__(self): self.name = self.pwd = self.content = self.domain = self.origURL = '' self.
Time of Update: 2017-01-18
python可以方便地支援多線程。可以快速建立線程、互斥鎖、訊號量等等元素,支援線程讀寫同步互斥。美中不足的是,python的運行在python 虛擬機器上,建立的多線程可能是虛擬線程,需要由python虛擬機器來輪詢調度,這大大降低了python多線程的可用性。我們經今天用了經典的生產者和消費者的問題來說明下python的多線程的運用 上代碼: #encoding=utf-8 import threading import random import time from Queue
Time of Update: 2017-01-18
一、Python中的線程使用: Python中使用線程有兩種方式:函數或者用類來封裝線程對象。 1、 函數式:調用thread模組中的start_new_thread()函數來產生新線程。如下例: 複製代碼 代碼如下: import time import thread def timer(no, interval): cnt = 0 while cnt<10: print 'Thread:(%d) Time:%s\n'%(no, time.ctime())
Time of Update: 2017-01-18
需求分析: 省油寶使用者數 已經破了6000,原有的靜態報表 已經變得臃腫不堪, 每次開啟都要緩上半天,甚至瀏覽器直接掛掉 採用python搭建一個最最簡易的 web 服務 請求一個nick 就返回 對應的 報表資料 參數用GET方式傳送調研與實現: 園裡沒找到靠譜的,google了半天,最終還是成功了。 以下是源碼,裡面記錄了 其中的 一些問題 複製代碼 代碼如下: #! /usr/bin/env python # -*- coding: utf-8 -*- """ @author:
Time of Update: 2017-01-18
主題: 為什麼要有方法呢? 回答居然是:懶惰是一種美德 方法的定義關鍵詞: def 用callable來判斷是否是可調用: 複製代碼 代碼如下: x = 1 y = math.sqrt callable(x) #False callable(y) #True 關於方法的傳回值: 複製代碼 代碼如下: def hello(name): return 'Hello, ' + name + '!' 有一個演算法的實現:前面兩個數的和是後面的數 複製代碼 代碼如下: fibs = [0, 1]
Time of Update: 2017-01-18
繼續List: 刪除元素: 複製代碼 代碼如下: a =[1, 2, 3, 4] a[2:3] = [] #[1, 2, 4] del a[2] #[1, 2] 清空list 複製代碼 代碼如下: a[ : ] = [] del a[:] list作為棧使用(後入先出): 複製代碼 代碼如下: stack = [3, 4, 5] stack.append(6) stack.append(7) stack.pop() # 7 stack.pop() # 6 stack.pop() # 5