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. OutputDebugString 输出信息到调试器

    #include <Windows.h>#include <stdio.h>#include <stdarg.h> void __cdecl odprintf(co ...

  2. First AngularJS !

    My first angular! <html ng-app> <head> <meta charset="utf-8"> <script ...

  3. Aptana jQuery自动提示

    参考 http://www.ghugo.com/aptana-studio-3-jquery-autocomplete/ 对于第一种方案 是每个项目都能生效的  不过有时候网络不好时就无法顺利获取提示 ...

  4. Xvfb+YSlow+ShowSlow搭建前端性能测试框架 - 前端技术 | TaoBaoUED

    Xvfb+YSlow+ShowSlow搭建前端性能测试框架 - 前端技术 | TaoBaoUED Xvfb+YSlow+ShowSlow搭建前端性能测试框架 作者:黑三 | 时间:2010-07-07 ...

  5. 如何提取出ppt中的文字?

    最近在看一位老师的教学视频,视频里大部分的知识都记录在ppt里,于是很想将ppt中的文字提取出来,如果我一页一页地粘贴复制的话,效率低到吓人,因为一章的ppt有130多页,于是在网上搜索了一下方法,与 ...

  6. 用Jetty和redis实现接入服务器adapter

    传统的服务器端为若干个客户端提供服务,一般需要开启多个服务器端进程.为了进一步提升服务器端的处理能力,可以如下图所示将服务解耦为两部分(adapter与workers),它们之间通过消息队列传输数据, ...

  7. SGU 202 The Towers of Hanoi Revisited (DP+递归)

    转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents    by---cxlove 题意 :n个圆盘,m个柱子的汉诺塔输出步骤. ht ...

  8. OutLook 2010 收件箱子文件夹收到新邮件时没有桌面通知

    开始---规则----管理规则和通知 规则和通知---电子邮件规则---批量选择账号---更改规则---在新邮件通知和窗口显示(选中)---确定 录入通知邮件消息---确定 效果如下:

  9. E - Catch That Cow

    Description Farmer John has been informed of the location of a fugitive cow and wants to catch her i ...

  10. linux下移动或者复制文件覆盖相同文件夹时,文件夹里面的每个文件都提示是否覆盖

    链接地址:http://blog.chinaunix.net/uid-23683795-id-2391087.html # vi ~/.bashrc   如果你看到如下内容,以下命令都会用别名执行了, ...