封装与解构

在IPython中可以使用 %timeit  计算程序运行时间

1、单行: %timeit  statement

2、多行:%%timeit

例如:

def asfd(n): # 定义一个函数

for i in range(n):

return(i)

单行:%timeit(20)

多行:%%timeit  m=20

asfd(m)

 

封装与解构:

封装:

#  等号右边多个值使用逗号分割组合返回一个元组

例如: t = 1,2,3 print(t) 为(1,2,3)

解构:

# 把线性结构(非线性结构也可以,例如set和dict)的元素解开,并顺序的赋给其它变量

# 左边接纳的变量数要和右边解开的元素个数一致

# 可以使用*变量名尽可能多的接收,并组成一个列表;但不能单独使用

例如:运行 head,*mid,tail = (1,2,3,4,5,6)

输出 head = 1

mid = [2,3,4,5]

tail = 6

丢弃变量 _ :

#  这是一个惯例,是一个不成文的约定,不是标准

#  如果不关心一个变量,就可以定义该变量的名字为_

#  _是一个合法的标识符,也可以作为一个有效的变量使用,但是定义成下划线就是希望不要被使用,除非你明确的知道这个数据需要使用(需要使用的数据一般不会用_作为变量标识符)

# _ 这个变量本身无任何语义,没有任何可读性,所以不是用来给人使用的

#  Python中很多库,都使用这个变量,使用十分广泛。请不要在不明确变量作用域的情况下,使用 _ 导 致和库中_冲突

例题:

1 # 从lst = [1,(2,3,4),5]中,提取4出来
2 lst = [1,(2,3,4),5]
3 _,(*_,a),_ = lst
4 print(a)
1 # 环境变量JAVA_HOME=/usr/bin,返回环境变量名和路径
2 lst = ‘JAVA_HOME=/usr/bin‘
3 a,_,b = lst.partition(‘=‘)
4 print(a,b)

原文地址:https://www.cnblogs.com/byy18/p/8685972.html

时间: 2024-11-09 09:49:55

封装与解构的相关文章

Python封装及解构

python封装及解构 Python的封装与其他语言的封装箱不同,python中没有装箱的概念,一切皆对象 将多个值使用逗号进行分割,本质上是返回元组 In [1]: a = 1,2 In [2]: type(a) Out[2]: tuple In [3]: a Out[3]: (1, 2) 封装 在进行交换的时候,已经被封装为元组 在赋值的过程中,看似什么都没有做,但是在右值将其封装为元组,因为其值不变 In [9]: a = 1,2 In [10]: a?? Type:       tupl

python的封装与解构

封装 将多个值使用逗号分割,组合在一起 本质上,返回一个元祖,只是省掉了小括号 python特有语法,被很多语言学习和借鉴 t1 = (1,2) #定义为元祖 t2 = 1,2 #将1和2封装成元祖 print(type(t1)) print(type(t2)) 返回类型都为元组: <class 'tuple'> <class 'tuple'> 使用方法: a = 4 b = 5 temp = a a = b b = temp # 等价于 a,b = b,a #等号右边使用了封装,

python内置函数封装、解构

一.封装 将多个值使用逗号分割,组合在一起,本质上返回一个元组,只是省掉了小括号 python特有语法,被很多言语学习和借鉴 二.解构 把线性结构的元素解开,并顺序的赋给其他变量 左边接纳的变量数要和右边解开的元素个数一致 举例: >>> lst = [3,5]  >>> a,b = lst  >>> print(a,b)  3 5  >>> 三.python3版本的解构 使用*变量名接收,但不能单独使用 被*变量名收集后组成一个列表

Python-封装与解构

1.封装: 定义: 将多个值用括号分割,组合在一起 本质上,返回一个元组,只是省掉了小括号 1 In [99]: t = 1,2,3 # 封装成元组! t = (1,2,3) 2 3 In [100]: t 4 Out[100]: (1, 2, 3) 1 a = 4 2 b = 5 3 tmp = a 4 a = b 5 b = tmp 6 等价于 7 a, b = b, a 8 9 注:但并不是真正的等价,这里右侧是一个封装的元组,对左侧使用了解构 2.解构: 把线性结构的元素解开,并顺序的赋

封装解构,集合,字典,内建函数和简单选择排序相关知识及习题

封装 将多个值使用逗号分割,组合在一起本质上,返回一个元组,只是省掉了小括号python特有语法,被很多语言学习和借鉴 解构 把线性结构的元素解开,并顺序的赋给其它变量左边接纳的变量数要和右边解开的元素个数一致 转置矩阵 方阵利用封装解构完成代码矩阵先开辟空间再利用封装解构完成代码利用enumerate函数得到索引值完成代码 集合 可变的 . 无序的 . 不重复 的元素的集合set的元素要求必须可以hash元素不可以索引set可以迭代set增加 add(elem)增加一个元素到set中,如果元素

ES6--变量的声明及解构赋值

ES6的目标是使得JavaScript语言可以用来编写大型的复杂的应用程序,成为企业级开发语言:该标准已于2015年6月17日正式发布.但是真正的普及我认为还得需要一段时间,然而这并不是理由让我们不去了解ES6.更重要的一点是,Google公司的V8引擎已经部署了ES6部分特性,对于NodeJS的开发者来说应该熟练掌握. 在浏览器没有全面支持的情况下,Google公司推出了Traceur转码器(https://github.com/google/traceur-compiler),可将ES6编译

C++对象模型——构造,解构,拷贝语意学(第五章)

第5章 构造,解构,拷贝语意学 (Semantics of Construction, Destruction, and Copy) 考虑下面这个abstract base class 声明: class Abstract_base { public: virtual ~Abstract_base() = 0; virtual void interface() const = 0; virtual const char * mumble() const { return _mumble; } p

解构赋值,你不能不懂!

解构赋值 很多人可能和我一样,第一次看到这个词的时候摸不着头脑.但是冷静再看一遍好像明白了,"把数据结构分解开分别进行赋值". 我们先看几个小例子 let [a,b,c] = [1,2,3];console.log(a,b,c);//1 2 3 let {name,age} = {name:"jack",age:"18"};console.log(name,age);//jack 18 let {toString,length} = "

解构赋值的用法。

按照一定模式,从数组和对象中提取,对变量进行赋值,称为解构 通过解构我们可以让赋值更优雅便捷 // 一般赋值 var a = 1, b = 2, c = 3; //解构赋值 var [a, b, c] = [1, 2, 3]; 当然不仅仅是var,let和const也可以 let arr = [1, 2, 3] const [a, b, c] = arr; 语法本质 实质上这个语法就是一种模式匹配 如果等号两边模式相同 左边变量就会被赋予相应值 所以下面的形式也可以正常赋值 var [a, [b