第五章 函数5.1 函数的简介5.2 函数的参数5.3 函数参数传递的方式5.4 函数的不定长参数5.5 函数的返回值5.6 函数的文档字符串--函数的说明5.7 变量的作用域与命名空间5.8 函数的递归5.9 高阶函数5.10 函数的闭包5.11 装饰器--扩展函数的功能第六章 对象6.1 面向对 ...
分类:
编程语言 时间:
2019-05-14 19:34:00
阅读次数:
167
使用dict和set Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 举个例子,假设要根据同学的名字查找对应的成绩,如果用list实现,需要两个list: 给定一个名字,要查找对应的成绩, ...
分类:
编程语言 时间:
2019-05-12 19:38:38
阅读次数:
146
如果一个对象的状态在创建以后就不会再改变,那么就可以认为它是不可变对象。因为这些对象无法被修改,所以不需要考虑多线程下的同步问题,这使得不可变对象在多线程程序中能够发挥重大作用。如下所示,String对象就是一个不可变对象。对于firstName一些列的操作(连接""和lastName)并不会修改这些字符串中的任何一个,而是会重新创建一个新的对象来存放fullName。自定义一
分类:
编程语言 时间:
2019-05-08 23:10:11
阅读次数:
216
一、简单定义不可变对象(Immutable Objects)即对象一旦被创建,它的状态(对象的数据,也即对象属性值)就不能改变,反之即为可变对象(Mutable Objects)。当满足以下条件时,对象才是不可变的:1. 对象创建以后其状态就不能修改。2. 对象的所有域都是final类型。3. 对象 ...
分类:
编程语言 时间:
2019-05-06 23:38:58
阅读次数:
201
来自流畅的python上记录的一道谜题 >>> t = (1, 2, [30, 40])>>> t[2] += [50, 60]到底会发生下面 4 种情况中的哪一种? a. t 变成 (1, 2, [30, 40, 50, 60])。 b. 因为 tuple 不支持对它的元素赋值,所以会抛出 Typ ...
分类:
其他好文 时间:
2019-05-03 22:32:40
阅读次数:
161
String字符串 字符串由String类提供,除了直接使用单双引号或其它字面量创建字符串,也可以使用String.new()方法来创建。 Ruby中的 字符串是可变对象 。 字符串的连接 直接连接即可: 单双引号 这和Perl一样,和Shell也类似。单引号是强引用,双引号是弱引用。 双引号的一个 ...
分类:
其他好文 时间:
2019-05-03 18:14:22
阅读次数:
115
1、可变与不可变类型 1)学python,一定要记住“一切皆为对象,一切皆为对象的引用”; 2)所谓可变对象是指,对象的内容可变,而不可变对象是指对象内容不可变; 3)可变数据类型:value值改变,id值不变;不可变数据类型:value值改变,id值也随之改变。 注:即id不变时,value可以改 ...
分类:
其他好文 时间:
2019-05-01 14:53:02
阅读次数:
122
C++把函数A作为参数传递给另外函数B时,实际上是把函数A作为指针传递给另外的函数B,这就涉及到了函数指针。 1.函数指针 函数指针声明如下: 例如: 注意:函数指针的参数类型和返回类型必须与指向的函数参数类型返回类型一致 2.使用函数指针代替函数使用 3.函数指针作为函数参数传递 函数A作为参数传 ...
分类:
编程语言 时间:
2019-04-14 12:29:59
阅读次数:
299
一、元组用法 1、索引 | 切片 | 长度 2、.count(obj)查看元素的个数 3、.index(obj,bindex,eindex)查看元素索引,可以指定从第几个开始到第几个结束 4、有序存储,可存放多个数据,不可变(内部可以包含可变对象,可变对象依旧可变) 5、应用场景:将不允许操作的列表 ...
分类:
其他好文 时间:
2019-04-05 15:36:31
阅读次数:
186
连接字符串的时候可以用join也可以用+,但这两者有没有区别呢? 我们先来看一下用join和+连接字符串的例子 两者的结果是一样,那么考虑这样一个问题,这两者在性能上有区别吗? 我们来做个实验,比较下join和+的性能 输出: 可以看到,join的性能明显好于+。这是为什么呢? 原因是这样的,字符串 ...
分类:
其他好文 时间:
2019-04-04 09:26:38
阅读次数:
190