Python__copy

  • copy模块用于对象的拷贝操作。该模块只提供了两个主要的方法:copy.copy与copy.deepcopy,分别表示浅复制与深复制。
  • 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。即浅复制只复制对象本身,没有复制该对象所引用的对象。
  • 深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。即创建一个新的组合对象,同时递归地拷贝所有子对象,新的组合对象与原对象没有任何关联。虽然实际上会共享不可变的子对象,但不影响它们的相互独立性。

Python__random

在Python中的库可以分为三种:标准库(也可以叫做内置库),第三方库,自定义库。接下来将记录一下几个常用的标准库的用法:

  • random()——返回随机生成的一个实数,它在[0.1)范围内
import random
print(random.random()) # 随机生成一个0-1的随机数
  • uniform(a,b) —— 随机生成a-b之间随机浮点数
import random
print(random.uniform(1,2)) # 随机生成一个1-2的随机浮点数
  • randint(a,b)——生成a-b的随机整数,包括a, b
import random
print(random.randint(1,3)) # 随机生成1,2,3的随机数
  • randrange——在某个范围生成一个随机数
import random
print(random.randrange(10)) # 随机生成0-10的随机数,不包括10
print(random.randrange(1,10)) # 随机生成1-10的随机数,不包括10
print(random.randrange(1,10,2)) # 随机生成1-10的随机数,不包括10,步数为2,即可能产生的随机数为:1,3,5,7,9
  • choice——在可迭代对象中随机取一个元素
import random
print(random.choice("abc")) # 在字符串abc中随机取一个元素
print(random.choice([1,2,3])) # 在列表[1,2,3]中随机取一个元素
  • sample(a,n)——在可迭代对象a中随机取n个元素,组成一个列表
import random
print(random.sample("abcdefg",3)) # 在字符串abcdefg,随机取三个元素组成一个列表
print(random.sample([1,2,3,4,5,6],3)) # 在列表[1,2,3,4,5,6]中随机取三个元素组成一个

Python__utf-8

  • 为什么在python中需要使用“utf-8”进行转码呢?

因为:在python内部是用unicode的,由于windows的命令行输入的是GBK编码,可以要先转为unicode,要转url encode时,先把str转为utf-8。

Python__str()

  • str() 函数将对象转化为适于人阅读的形式。
  • 字符串长度获取:len(str)
  • 全部大写:str.upper()
  • 全部小写:str.lower()
  • 大小写互换:str.swapcase()
  • 首字母大写,其余小写:str.capitalize()
  • 首字母大写:str.title()

Python__枚举Enum

例子:

from enum import Enum
Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec')) @unique
class Weekday(Enum):
Sun = 0 # Sun的value被设定为0
Mon = 1
Tue = 2
Wed = 3
Thu = 4
Fri = 5
Sat = 6 for name, member in Month.__members__.items():
print(name, '=>', member, ',', member.value)

我们就获得了Month类型的枚举类,可以直接使用Month.Jan来引用一个常量,或者枚举它的所有成员。

Python__@

'@' 用做函数的修饰符,可以在模块或者类的定义层内对函数进行修饰。出现在函数定义的前一行,不允许和函数定义在同一行。一个修饰符就是一个函数,它将被修饰的函数作为参数,并返回修饰后的同名函数或其他可调用的东西。

  示例:

def square_sum(fn):
def square(*args):
print("1---", args)
n = args[0]
print("2==", n*(n-1)*(2*n-1)/6)
print(fn.__name__)
fn(n*(n-1)*(2*n-1)/6)
print("*"*15)
return fn(n*(n-1)*(2*n-1)/6)
return square
@square_sum
def sum_a(a):
print("3=", a) sum_a(10)

结果

1--- (10,)
2== 285
sum_a
3= 285
***************
3= 285

可以看出,他是先执行修饰器函数,然后有return fn的时候,修饰器下的函数才是生效的,否则函数sum_a 是没有结果的。

python系列1_travel的更多相关文章

  1. 总结整理 -- python系列

    python系列 python--基础学习(一)开发环境搭建,体验HelloWorld python--基础学习(二)判断 .循环.定义函数.继承.调用 python--基础学习(三)字符串单引号.双 ...

  2. 初探接口测试框架--python系列7

    点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...

  3. 初探接口测试框架--python系列2

    点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...

  4. 初探接口测试框架--python系列3

    点击标题下「微信」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是我们期 ...

  5. 初探接口测试框架--python系列4

    点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...

  6. 初探接口测试框架--python系列5

    点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...

  7. 初探接口测试框架--python系列6

    点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...

  8. 【推荐分享】Python电子书,视频教程(Let's Python系列视频教程等)(百度网盘)

    资源都放在百度网盘里了. Python视频教程(Python Django视频教程全集—台湾辅仁大学):http://pan.baidu.com/s/1dDgiWIt Python视频教程(let's ...

  9. Python系列之入门篇——HDFS

    Python系列之入门篇--HDFS 简介 HDFS (Hadoop Distributed File System) Hadoop分布式文件系统,具有高容错性,适合部署在廉价的机器上.Python ...

随机推荐

  1. how to read openstack code: loading process

    之前我们了解了neutron的结构,plugin 和 extension等信息.这一章我们看一下neutron如何加载这些plugin和extension.也就是neutron的启动过程.本文涉及的代 ...

  2. Activiti-5.3工作流引擎-源码解析(流程文档解析)

    前面我们通过BPMN20.xsd和Activiti自定义的XML Schema文件初步了解了业务流程模型的定义,那么现在我们来了解一下流程文档的解析过程,这个过程主要是通过代码解析来完成. 代码解析过 ...

  3. Scala入门到精通——第十六节 泛型与注解

    本节主要内容 泛型(Generic Type)简单介绍 注解(Annotation)简单介绍 注解经常使用场景 1. 泛型(Generic Type)简单介绍 泛型用于指定方法或类能够接受随意类型參数 ...

  4. 以Java属性文件的格式创建Hibernate的配置文件和DTD特殊符号作用

    演示样例代码 hibernate.dialect=org.hibernate.dialect.MySQLDialect hibernate.connection.driver_class=com.my ...

  5. 【Mongodb教程 第八课 】MongoDB 更新文档

    MongoDB的 update() 和 save() 方法用于更新文档的集合. update()方法更新现有的文档值,而替换现有的文档通过的文件中 save() 方法. MongoDB Update( ...

  6. Android碎纸机效果

    1.总体思想 活用padding和margin 2.实现过程 public class PopupShredderView extends FrameLayout{ public PopupShred ...

  7. IOS开发基础之—MD5加密算法【转】

    原文地址:http://blog.csdn.net/pjk1129/article/details/6855024 #import <CommonCrypto/CommonDigest.h> ...

  8. 深入分析JavaWeb Item13 -- jsp指令具体解释

    一.JSP指令简单介绍 JSP指令(directive)是为JSP引擎而设计的.它们并不直接产生不论什么可见输出,而仅仅是告诉引擎怎样处理JSP页面中的其余部分. 在JSP 2.0规范中共定义了三个指 ...

  9. easyUI的tree

    前端使用easyUI,放了一个tree,搞死了. easyUI的tree,后端传过来的数据,是json格式:然后easyUI向后端提交.请求时,会自动将节点的id附在url后面. 主要有两个注意的地方 ...

  10. 表单提交数据量大于2m,java 后台接受不到表单传递过来的数据

    一般来说 post请求提交的数据无大小限制,但是tomcat 设置默认的表单传输数据大小不能2m,这时候当数据大于2m后台接收达不到表单的数据,需要修改tomcat的server.xml的的maxPo ...