Python生成GUID
>>> import uuid >>> uuid.uuid1() UUID('5a35a426-f7ce-11dd-abd2-0017f227cfc7')
#Python中的string对象有几个常用的方法用来输出各种不同的字符:
string.ascii_letters #输出ascii码的所有字符 string.digits #输出 '0123456789'. string.punctuation #ascii中的标点符号 print string.ascii_letters print string.digits print string.punctuation #输出结果如下: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789 !"#$%&'()*+,-./:;<=>?@[]^_`{|}~
#下面的代码用于生成随机密码:
import string from random import * characters = string.ascii_letters + string.punctuation + string.digits password = "".join(choice(characters) for x in range(randint(8, 16))) print password
用Python判断变量类型
python判断变量类型时,为什么不推荐使用type()方法?
实际上还有一种方法是用isinstance。比如:
a = 111 isinstance(a, int) True
isinstance 和 type的区别在于:
class A: pass class B(A): pass isinstance(A(), A) # returns True type(A()) == A # returns True isinstance(B(), A) # returns True type(B()) == A # returns False
区别就是 对于subclass之类的 type 就不省事了。
参考链接:python判断变量类型时,为什么不推荐使用type()方法 – SegmentFault http://segmentfault.com/q/1010000000127305
Python可以得到一个对象的类型 ,利用type函数:
>>>lst = [1, 2, 3] >>>type(lst) <type 'list'>
不仅如此,还可以利用isinstance函数,来判断一个对象是否是一个已知的类型。isinstance说明如下:
isinstance(object, class-or-type-or-tuple) -> bool
Return whether an object is an instance of a class or of a subclass thereof.
With a type as second argument, return whether that is the object’s type.
The form using a tuple, isinstance(x, (A, B, …)), is a shortcut for isinstance(x, A)
or isinstance(x, B) or … (etc.).
其第一个参数为对象,第二个为类型名或类型名的一个列表。其返回值为布尔型。
若对象的类型与参数二的类型相同则返回True。若参数二为一个元组,则若对象类型与元组中类型名之一相同即返回True。
>>>isinstance(lst, list) Trueisinstance(lst, (int, str, list)) True >>>isinstance(lst, (int, str, list)) True
这也算Python的强大之一吧!
Python中的dict和json格式的一些
在Python标准库的json包中,提供了JSONEncoder和JSONDecoder两个类来实现Json字符串和dict类型数据的互相转换。
Python 将字符串转换成字典dict
JSON到字典转化: dictinfo = simplejson.loads(json_str) #输出dict类型 字典到JSON转化: jsoninfo = simplejson.dumps(dict) #输出str类型
比如:
info = {'name' : 'jay', 'sex' : 'male', 'age': 22} jsoninfo = simplejson.dumps(info) print jsoninfo print type(jsoninfo)
- python strip()函数
- Python strip lstrip rstrip使用方法
- python如何判断一段字符串是否是json格式的。_百度知道
- python中json格式数据的编码和解码
Python中的强制类型转换
在Python中进行字符串替换的2种方法
- 是用字符串本身的replace()方法。
- 用正则的sub()函数来替换。
下面用个例子来实验下:
a = ‘hello word’
我把a字符串里的word替换为python。
1.用字符串本身的replace方法:
a = a.replace(‘word’, ‘python’)
输出的结果是hello python
2.用正则表达式来完成替换:
import re
strinfo = re.compile(‘word’)
b = strinfo.sub(‘python’, a)
print b
输出的结果也是hello python
至于用哪个方法的话,看你自己的选择了(顺便说一句,在Python中处理字符串的时候,使用字符串自身的方法速度是最快的)。
Python连接字符串的几种方法
方法1:直接通过加号操作符相加
foobar = 'foo' + 'bar'
低效原因:在使用”+”连接字符串的时候,每次连接一次,就要重新开辟空间,然后把字符串连接起来,再放入新的空间,再一次循环,又要开辟新的空间,把字符串连接起来放入新的空间,如此反复,内存操作比较频繁,每次都要计算内存空间,然后开辟内存空间,再释放内存空间,效率非常低,你也许操作比较少的数据的时候看不出来,感觉影响不大,但是你碰到操作数据量比较多的时候,这个方法就要退休了。
方法2:join方法
list_of_strings = ['abc', 'def', 'ghi'] foobar = ''.join(list_of_strings)
方法3:替换
foobar = '%s, %s' % ('abc', 'def') foobar = '%s%s' % ('abc', 'def')
《 “Python的一些小知识点” 》 有 4 条评论
中文 Python 笔记
https://github.com/lijin-THU/notes-python
如何正确理解Python函数是第一类对象(First-Class Object)
https://foofish.net/function-is-first-class-object.html
UUID字符串的标准格式及匹配正则
https://stackoverflow.com/questions/10687505/uuid-format-8-4-4-4-12-why
http://www.ietf.org/rfc/rfc4122.txt
`
It’s separated by time, version, clock_seq_hi, clock_seq_lo, node, as indicated in the followoing rfc4122.
8-4-4-4-12
`
https://en.wikipedia.org/wiki/Universally_unique_identifier
https://stackoverflow.com/questions/11384589/what-is-the-correct-regex-for-matching-values-generated-by-uuid-uuid4-hex
`
import re
uuid4hex = re.compile(‘[0-9a-f]{32}\Z’, re.I)
####
uri = re.sub(r'[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89ab][a-fA-F0-9]{3}-[a-fA-F0-9]{12}’, ‘{uuid}’, uri)
uri = re.sub(r'[a-fA-F0-9]{32}’, ‘{uuid}’, uri)
`
https://gist.github.com/kgriffs/c20084db6686fee2b363fdc1a8998792
https://www.regextester.com/99148
`
regex_uuid = re.compile(
(
‘[a-f0-9]{8}-‘ +
‘[a-f0-9]{4}-‘ +
‘[1-5]’ + ‘[a-f0-9]{3}-‘ +
‘[89ab][a-f0-9]{3}-‘ +
‘[a-f0-9]{12}’
),
re.IGNORECASE
)
regex_uuid2 = re.compile(‘[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}’, re.I)
`