lovep2c项目pay模块注释:

views.py:

def create_user_no(email):
    return md5(email).hexdigest().upper() + "".join([choice(string.letters) for i in range(8)])

/*

*  md5(email).hexdigest().upper() 用md5算法对email进行加密,采用十六进制数并将其转化为大写

*  print (hashlib.md5('451314789@qq.com'))  ===  <md5 HASH object @ 0xa0936b0>

*  print (hashlib.md5('451314789@qq.com').hexdigest())  ===  1d289b39ecb32b5e3dc4a7463e20d030

*  print (hashlib.md5('451314789@qq.com').hexdigest().upper())  ===  1D289B39ECB32B5E3DC4A7463E20D030

*  choice(string.letters) for i in range(8)  类似于for(i=0;i<8;i++) {random.choice(string.letters)}

*  >>> create_user_no('451314789@qq.com')
      '1D289B39ECB32B5E3DC4A7463E20D030ZdPsLmNo'
    >>> print (hashlib.md5('451314789@qq.com').hexdigest().upper())
      1D289B39ECB32B5E3DC4A7463E20D030

*/

String包介绍:

    1. >>> import string
    2. >>> string.digits
    3. '0123456789'
    4. >>> string.hexdigits
    5. '0123456789abcdefABCDEF'
    6. >>> string.octdigits
    7. '01234567'
    8. >>> string.letters
    9. 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
    10. >>> string.lowercase
    11. 'abcdefghijklmnopqrstuvwxyz'
    12. >>> string.uppercase
    13. 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    14. >>> string.printable
    15. '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c'
    16. >>> string.punctuation
    17. '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
    18. >>> string.whitespace
    19. '\t\n\x0b\x0c\r '
    20. >>>
  1.  
    string.atof(s)将字符串转为浮点型数字
      1. >>> string.atof("1.23")
      2. 1.23
      3. >>> string.atof("1")
      4. 1.0
    string.atoi(s,[base=num])将字符串转为整型数字,base 指定进制
      1. >>> string.atoi("20")
      2. 20
      3. >>> string.atoi("20",base=10)
      4. 20
      5. >>> string.atoi("20",base=16)
      6. 32
      7. >>> string.atoi("20",base=8)
      8. 16
      9. >>> string.atoi("20",base=2)
      10. Traceback (most recent call last):
      11. File "<stdin>", line 1, in <module>
      12. File "/usr/lib64/python2.6/string.py", line 403, in atoi
      13. return _int(s, base)
      14. ValueError: invalid literal for int() with base 2: '20'
      15. >>> string.atoi("101",base=2)
      16. 5
      17. >>> string.atoi("101",base=6)
      18. 37
    string.capwords(s,sep=None)以sep作为分隔符,分割字符串s,然后将每个字段的首字母换成大写
     
      1. >>> string.capwords("this is a dog")
      2. 'This Is A Dog'
      3. >>> string.capwords("this is a dog",sep=" ")
      4. 'This Is A Dog'
      5. >>> string.capwords("this is a dog",sep="s")
      6. 'This is a dog'
      7. >>> string.capwords("this is a dog",sep="o")
      8. 'This is a doG'
      9. >>>
    string.maketrans(s,r)创建一个s到r的转换表,然后可以使用translate()方法来使用
     
      1. >>> replist=string.maketrans("123","abc")
      2. >>> replist1=string.maketrans("456","xyz")
      3. >>> s="123456789"
      4. >>> s.translate(replist)
      5. 'abc456789'
      6. >>> s.translate(replist1)
      7. '123xyz789'

pay包注释(一)的更多相关文章

  1. pay包注释(二)

    @login_required()def to_register(request):    return render_to_response("pay/register_yeepay.ht ...

  2. [置顶] 玩转Eclipse — 自动注释插件JAutodoc

    代码注释是一种良好的编程习惯.不管对于他人还是自己,注释都有助于代码的阅读和理解.手动添加注释,是一个非常费时和繁琐的工作,严重影响软件开发效率,这也是绝大多数程序员不愿添加注释的主要原因.JAuto ...

  3. java三种注释以及参数涵义(转)

    原文地址:https://www.cnblogs.com/miys/p/4bf714ce33068dcf9ac6526309c9b5e6.html 单行注释:// 注释内容 多行注释:/*... 注释 ...

  4. Go语言学习笔记(六) [包]

    日期:2014年7月30日   1.定义:包时函数和数据的集合.使用package关键字定义一个包,文件名不需要与包名一致,包名约定使用小写字符,Go包可以由多个文件组成,但是需要使用相同的packa ...

  5. Java三种注释

    单行注释:// 注释内容 多行注释:/*... 注释内容....*/ 文本注释:/**.. 注释内容....*/                     这种注释可以用来自动地生成文档.在JDK中有个 ...

  6. Java、mysql、html、css、js 注释&大小写

    java三种注释 原文链接:https://www.cnblogs.com/miys/p/4bf714ce33068dcf9ac6526309c9b5e6.html 单行注释:// 注释内容 多行注释 ...

  7. [JAVA] JAVA 文档注释

    Java 程序设计环境 文档注释 javadoc JDK中包含的javadoc工具可以由源文件生成一个HTML文档. javadoc从以下几个特性中抽取信息 包 公有类与接口 公有的和受保护的构造器及 ...

  8. 如何写Java文档注释(Java Doc Comments)

    本文翻译自How to Write Doc Comments for the Javadoc Tool,但是精简了一些私以为不重要的东西 本文不讨论如何使用javadoc工具自动生成文档的方法,而是主 ...

  9. Golang官方log包详解

    Golang官方log包详解 以下全是代码, 详解在注释中, 请从头到尾看 // Copyright 2009 The Go Authors. All rights reserved. // Use ...

随机推荐

  1. .net mvc RazorEngine 字符串razor参数替换

    在.net中有一个比较好的字符串参数替换的方案RazorEngine推荐大家看看原网站,然后做个小联系然后你就懂啦 首先呢得下载一个吧, vs中tools-> Library Paging Ma ...

  2. Android 通过Dom, Sax, Pull解析网络xml数据

    这篇文章不是完全原创,XML解析的部分参考了 liuhe688 的文章.文章地址:http://blog.csdn.net/liuhe688/article/details/6415593 这是一个几 ...

  3. jQuery.fn.serialize 阅读

    今天第一次阅读jQuery源码,因为读到用js对表单的序列化,为的是在ajax操作中将表单中各个域的值传到服务器.书上用了很长的步骤,判断每一个表单域的属性,然后拼接. 大概是这样: function ...

  4. hdu4725 The Shortest Path in Nya Graph【最短路+建图】

    转载请注明出处,谢谢:http://www.cnblogs.com/KirisameMarisa/p/4297574.html      ---by 墨染之樱花 题目链接:http://acm.hdu ...

  5. 在TextBox里面仅仅允许数字,按Enter键进入下一个TextBox

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> ...

  6. 前端CSS规范大全

    一.文件规范 1.文件均归档至约定的目录中(具体要求以豆瓣的CSS规范为例进行讲解): 所有的CSS分为两大类:通用类和业务类.通用的CSS文件,放在如下目录中: 基本样式库 /css/core 通用 ...

  7. JavaScript 导学推荐

    基本开始js学习的时候,可能会觉得很混乱,一开始都是从一些简单的表单验证还有拷贝别人效果代码,然后再慢慢去深入了解.我是觉得js是需要一定语言编程基础,我是觉得随着深入,JS的里面实在不算太好理解,个 ...

  8. "No appenders found for logger" and "Please configure log4j properly"

    Why do I see a warning about "No appenders found for logger" and "Please configure lo ...

  9. android 调出显示标题栏(title bar)

    无法同时继承fragmentactivity和actionbaractivity 解决方法 import android.support.v7.app.ActionBarActivity; 将exte ...

  10. poj 3053 Fence Repair(优先队列)

    题目链接:http://poj.org/problem?id=3253 思路分析:题目与哈夫曼编码原理相同,使用优先队列与贪心思想:读入数据在优先队列中,弹出两个数计算它们的和,再压入队列中: 代码如 ...