当我们拿到一个对象的引用时,如何知道这个对象是什么类型、有哪些方法呢?
使用type()
首先,我们来判断对象类型,使用type()函数:
基本类型都可以用type()判断:
>>> type(123)
<type 'int'>
>>> type('str')
<type 'str'>
>>> type(None)
<type 'NoneType'>
如果一个变量指向函数或者类,也可以用type()判断:
>>> type(abs)
<type 'builtin_functi...
分类标签归档:Python
当我们拿到一个对象的引用时,如何知道这个对象是什么类型、有哪些方法呢?
使用type()
首先,我们来判断对象类型,使用type()函数:
基本类型都可以用type()判断:
>>> type(123)
<type 'int'>
>>> type('str')
<type 'str'>
>>> type(None)
<type 'NoneType'>
如果一个变量指向函数或者类,也可以用type()判断:
>>> type(abs)
<type 'builtin_functi...
本文实例讲述了python实现简单的socket server的方法。分享给大家供大家参考。具体如下:
import socket
host = ''
port = 55555
myServerSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
myServerSocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,1)
myServerSocket.bind((host, port))
myServerSocket.listen(1)
print "Server ...
#!/usr/bin/env python
# coding=utf-8
#------------------------------------------------------
# Name: Apache 日志分析脚本
# Purpose: 此脚本只用来分析Apache的访问日志
# Version: 2.0
# Author: LEO
# Created: 2013-4-26
# Modified: 2013-5-4
# Copyright: (c) LEO 2013
#------------------------------------...
遍历方案 从二叉树的递归定义可知,一棵非空的二叉树由根结点及左、右子树这三个基本部分组成。因此,在任一给定结点上,可以按某种次序执行三个操作:
1).访问结点本身(N)
2).遍历该结点的左子树(L)
3).遍历该结点的右子树(R)
有次序: NLR、LNR、LRN
遍历的命名
根据访问结点操作发生位置命名:
NLR:前序遍历(PreorderTraversal亦称(先序遍历)) ――访问结点的操作发生在遍历其左右子树之前。
LNR:中序遍历(InorderTraversal) ――访问结点的操作发生在遍历其左右子树之中(间)。
LRN:后序遍历(PostorderTravers...
本文实例讲述了Python生成不重复随机值的方法。分享给大家供大家参考。具体分析如下:
这里从一列表中,生成不重复的随机值
算法实现如下:
import random
total = 100
li = [i for i in range(total)]
res = []
num = 20
for i in range(num):
t = random.randint(i,total-1)
res.append(li[t])
li[t], li[i] = li[i], li[t]
print res
其实python 已经实现这样的方法:
print random.sample...
Mako是一个高性能的Python模板库,它的语法和API借鉴了很多其他的模板库,如Django、Jinja2等等。
基本用法
创建模板并渲染它的最基本的方法是使用 Template 类:
from mako.template import Template
t = Template('hello world!')
print t.render()
传给 Template 的文本参数被编译为一个Python模块。模块包含一个 render_body() 函数,它产生模板的输出。调用 render() 方法时,Mako建立了一个模板的运行环境,并调用 render_body() 函数,把输...
本文实例讲述了Python格式化css文件的方法。分享给大家供大家参考。具体实现方法如下:
import string, sys
import re, StringIO
TAB=4
def format(ss):
f = open (ss, "r")
data = f.read()
f.close()
dlen = len(data)
i = 0
buf = StringIO.StringIO()
start = 0
while i < dlen:
if data[i] == '{':
buf.write(data[start:i...
#/usr/bin/env python
#-*- coding:utf-8 -*-
"""
1.解析 crontab 配置文件中的五个数间参数(分 时 日 月 周),获取他们对应的取值范围
2.将时间戳与crontab配置中一行时间参数对比,判断该时间戳是否在配置设定的时间范围内
"""
#$Id $
import re, time, sys
from Core.FDateTime.FDateTime import FDateTime
def get_struct_time(time_stamp_int):
"""
按整型时间戳获取格式化时间 分 时 日 月 周...
有时候使用到获取本机IP,就采用以下方式进行。
复制代码 代码如下:
import socket
import struct
import fcntl
def getip(ethname):
s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
return socket.inet_ntoa(fcntl.ioctl(s.fileno(), 0X8915, struct.pack(‘256s', ethname[:15]))[20:24])
if name=='main':
print getip('eth0')
闲暇之余,在家里自建了个服务器,因为用的小区宽带,IP位动态分配。域名解析就是个问题,我的域名一般停放在DNSPod下。DNSPod有提供修改的API,就用Python简单的实现了一下动态解析。这样,就不用安装花生壳了。 废话不说,看代码:
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import httplib, urllib, urllib2
import time
import sys,os
import re
import json
username = 'xxxx' #账号
password = 'xxx' #密码
format ...