字符串函数

JavaScript学习总结(七)——JavaScript函数(function)

心已入冬 提交于 2020-03-04 19:03:37
一、函数基本概念   为完成某一功能的程序指令(语句)的集合,称为函数。 二、JavaScript函数的分类   1、自定义函数(我们自己编写的函数),如:function funName(){}   2、系统函数(JavaScript自带的函数),如alert函数。 三、函数的调用方式   1、普通调用:functionName(实际参数...)   2、通过指向函数的变量去调用:       var myVar=函数名;       myVar(实际参数...); 四、函数返回值   1.当函数无明确返回值时,返回的值就是"undefined"。   2.当函数有返回值时,返回值是什么就返回什么。 函数测试代码: 1 <script type="text/javascript"> 2 var str="window.alert('孤傲苍狼');"; 3 eval(str);//eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。 4 /*自定义函数*/ 5 function test(str){ 6 alert(str); 7 } 8 window.alert(test);//输出test函数的定义 9 //函数的调用方式1 10 test("孤傲苍狼"); 11 //函数的调用方式2 12 var myFunction=test; 13

了解下Redis的SDS结构

泪湿孤枕 提交于 2020-03-04 18:31:21
SDS (简单动态字符串) sds是Redis里面的一种结构,通过它对字符串的操作进行了很多的优化操作。 SDS的结构定义 struct stdhdr { int len //记录buff数组中已使用字节的数量 int free //记录buff数组中未使用字节的数量 char buff[] //字节数组,用于保存字符串 } SDS的示例,见下图 free值为0, 表示这个SDS没有分配任何未使用空间。 len值为4, 表示这个SDS保存一个四字节长的字符串。 buff值为一个char类型数组,分别保存’L‘,’i','a','n' 4个字符,最后一个字节保存;’\0‘ SDS与C字符串的区别 C语言使用长度N+1的字符数组来表示长度为N的字符串,并且最后一个字符串总是空字符串’\0‘. ,而且它并不记录自身的长度信息,如果要获取,必须全部遍历;但SDS不一样,他有len属性记录了长度,所以获取长度的复杂度很高。 C字符串容易缓冲区溢出,而SDS的空间分配策略则不会,当需要操作字符串时,会先检测空间大小,如果不满足,则需要对空间做扩展。 C在对字符串做修改时,因为没有记录长度信息,所以需要频繁对内存做分配,而SDS通过free属性来记录未使用的空间,实现空间预分配和惰性空间释放。 #### 1 空间预分配 空间预分配用于优化SDS的字符串增长操作,当对SDS字符做修改时

Python——变量,运算,条件,循环

我是研究僧i 提交于 2020-03-04 16:29:32
注释 1.注释是什么 注释就是给代码做的一些简短的说明,让我们更好的去理解代码,注意程序执行的时候,不会去执行它 第一种注释 #开头接一个空格就完事 多行注释,"""开头"""结尾 代码实例: # 这是第一个单行注释 print("hello python") """ print("hello python") """ 变量 程序就是用来处理数据的,而变量就是用来存储数据的 1.代码实例,使用变量 # 定义 qq_number 的变量用来保存 qq 号码 qq_number = "1234567" # 使用print可以查看它 print(qq_number) 注意,如果你不想通过print查看变量的值,你可以在ipython中定义变量之后,直接输入变量就行。 2.变量中都包含些什么呢? 在内存中创建一个变量,会包括: 变量的名称 变量保存的数据 变量存储数据的类型 变量的地址(标示) 变量的赋值值得是使用'='好给变量赋值,它总是从右边赋值给左边 2.什么时候需要使用注释? 注释不是越多越好 ,对于一目了然的代码,不需要添加注释 对于 复杂的操作 ,应该在操作开始前写上若干行注释 对于 不是一目了然的代码 ,应在其行尾添加注释(为了提高可读性,注释应该至少离开代码 2 个空格) 绝不要描述代码,假设阅读代码的人比你更懂 Python,他只是不知道你的代码要做什么

Python——一些特殊的变量

爷,独闯天下 提交于 2020-03-04 16:28:57
如果你学习过java编程,那么这里你非常容易理解 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 ( int ) 浮点型( float ) 布尔型( bool ) 真 True 非 0 数 —— 非零即真 假 False 0 复数型 ( complex ) 主要用于科学计算,例如:平面场问题、波动问题、电感电容等问题 非数字型 字符串 列表 元组 字典 在 Python 中,所有 非数字型变量 都支持以下特点: 都是一个 序列 sequence ,也可以理解为 容器 取值 [] 遍历 for in 计算长度 、 最大/最小值 、 比较 、 删除 链接 + 和 重复 * 切片 01. 列表 1.1 列表的定义 List (列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组 专门用于存储 一串 信息 列表用 [] 定义, 数据 之间使用 , 分隔 列表的 索引 从 0 开始 索引 就是数据在 列表 中的位置编号, 索引 又可以被称为 下标 注意:从列表中取值时,如果 超出索引范围 ,程序会报错 name_list = ["zhangsan", "lisi", "wangwu"] 1.2 列表常用操作 在 ipython3 中定义一个 列表 ,例如: name_list = [] 输入 name_list. 按下 TAB 键

js正则及常用方法函数总结

拈花ヽ惹草 提交于 2020-03-04 15:19:58
正则表达式作为一种匹配处理字符串的利器在很多语言中都得到了广泛实现和应用,web开发本质上是处理字符串(服务端接受请求处理后拼接字符串作为响应,这在早期的CGI编程中最明显,然后客户端解析字符串进行渲染和执行),所以说,JS作为一门常用于web开发的语言,必然要具备正则这种强大的特性,本文将对JS中的正则用法及常用函数进行一番总结。 1.正则对象及其属性 首先正则对象是JS中内置的一个对象,好比Array以及Math一样,不需要第三方库的支持,通常我们采取两种方式来定义一个正则对象 1)构造函数方式 var reg=new RegExp('abc','gi'); 这里,第一个参数是正则的内容,第二个参数是修饰符,修饰符通常有三种,i,g,m,i表示的含义是忽略大小写进行匹配,g表示全局匹配即匹配到第一个之后不停止继续匹配,m表示多行匹配即遇到换行后不停止匹配继续直到被匹配字符串结束。 2)字面量方式 var reg=/abc/gi; 两个斜杠之间的是定义的正则内容,最后一个斜杠之后的是修饰符,这种方式比第一种简单高效,所以通常使用第二种方式来定义正则。 其次,正则作为JS中的一个内置对象,它必然有一些属性和方法,如下: 2.属性 在控制台中打印一个正则对象如下: 可以看到它拥有global属性,该属性为布尔类型,用来表示该正则是否是全局匹配,ignoreCase属性,布尔类型

正则表达式及常用用法

元气小坏坏 提交于 2020-03-04 13:39:51
正则表达式,又称正规表示法、常规表示法。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。 正则表达式,有木有人像我一样,学了好几遍却还是很懵圈,学的时候老明白了,学完了忘光了。好吧,其实还是练的不够,所谓温故而知新,可以为师矣,今天就随我来复习一下这傲娇的正则表达式吧。 为啥要有正则表达式呢?其实就是因为计算机笨(这话不是我说的),比如123456@qq.com,我们一看就是邮箱,可是计算机不认识啊,所以我们就要用一些计算机认识的语言,来制定好规则,告诉它符合这个规则的就是个邮箱,这样计算机就能帮我们找到对应的东西了。所以正则就是用来设置规则,来完成我们需求的一些操作的,比如登录验证啦,搜索指定的东西啦等等,说太多都是多余,直接看正题吧。 定义正则: ? 1 2 1 var re = new RegExp(“a”); //RegExp对象。参数就是我们想要制定的规则。有一种情况必须用这种方式,下面会提到。 2 var re = /a/; // 简写方法 推荐使用 性能更好 不能为空 不然以为是注释 , 正则的常用方法 1 test() :在字符串中查找符合正则的内容

python06 字典 集合 字符串

不羁岁月 提交于 2020-03-04 12:37:09
字典 基本概念 字典是无序的对象集合,使用键-值储存,具有极快的查找速度。键必须使用不可变类型。 同一个字典中键必须是唯一的。 字典的每个键值用冒号:分割。每个键值对之键用逗号,分割。整个字典包括在花括号{}中。 dic={key1:value1,key2:value2} 常用方法 keys() 返回字典中键的列表。 values() 返回字典中值的列表。 items() 返回tuples的列表,每个tuple(元组)由字典的键和相应的值组成。 clear()删除字典的所有条目。 copy() 返回字典高层结构的一个拷贝,但不复制嵌入结构,而只复制对那些结构的引用。 updata(x) 用字典x中的键值对更新字典内容。 get(x[,y]) 返回键x。若未找到该键,返回none。若提供y,则未找到x时返回y。 字典的键一般是唯一的,如果重复最后的一个键值对会替换前面的值,值不需要唯一。 创建方式 创建字典: 1.基础语法方式 字典中值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。 dict={‘A’:‘2341’,‘Cvxc’:‘46’} 2.创建字典:dict函数 使用dict函数。通过其他映射,比如字典或者键值序列对创建字典。 items= [(‘dfs’, ‘sdf’),(‘age’,12)] 列表中有两个元组 d=dict(items)

黑马程序员数据加密学习

孤街浪徒 提交于 2020-03-04 12:14:32
---------------------- Windows Phone 7手机开发 、 .Net培训 、期待与您交流! ---------------------- 对称加密算法: 对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。而在大多数的对称算法中,加密密钥和解密密钥是相同的,所以也称这种加密算法为秘密密钥算法或单密钥算法。它要求发送方和接收方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性对通信性至关重要。 对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。 非对称加密算法: 非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。 非对称密码体制的特点: 算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快

【python】Regex相关函数的使用

家住魔仙堡 提交于 2020-03-04 11:30:23
re.search re.search(pattern, string)在字符串的任何位置搜索正则表达式的匹配。 如果找到,则返回一个匹配对象;如果没有,则返回 None。 phone_re = r "[0-9]{3}-[0-9]{3}-[0-9]{4}" text = "Call me at 382-384-3840." match = re . search ( phone_re , text ) match #<_sre.SRE_Match object; span=(11, 23), match='382-384-3840'> 尽管返回的匹配对象具有各种有用的属性,但我们通常使用 re.search 来测试一个是否出现在字符串中。 if re . search ( phone_re , text ) : print ( "Found a match!" ) 另一个常用的方法 re.match (pattern,string)的行为与 re.search 相同,但只在字符串的开头检查匹配,而不是在字符串的任何位置检查匹配。 re.findall 我们使用 re.findall (pattern,string)提取所有匹配的子字符串。 此方法会返回字符串中所有匹配的list。 gmail_re = r '[a-zA-Z0-9]+@gmail\.com' text = '''

php常用字符串数组函数

左心房为你撑大大i 提交于 2020-03-04 09:48:47
Php 常用的数组函数 键值操作 Array_values($arr) 获取数据的值 Array_keys($arr) 获取数组的 key Array_flip($arr) 数组键值反转 In_array(‘apple’, $arr) 数组中是否存在 array_key_exists(‘apple’, $arr) Array_search(‘apple’, $arr) 数组中检索 apple 返回键名 指针操作 Current($arr) 返回当前指针当前单元和 pos() 相同 Key($arr) 返回当前操作单元的键名 Prev($arr) 数组操作单元指针倒回一位 Next($arr) 数组操作单元指针向前移动一位 End($arr) 数组当前指针移动到最后一位 Reset($arr) 数组指针重新指向第一位 Each($arr) 返回数组的当前单元的键值数组 并指针移动一位 List() = $arr 数组赋值 Compact($a,$b,$c) 创建数组 Extract($arr) 数组转换成变量 数组分段 Array_slice($arr, 0, 3) 返回三个元素 Array_splice($arr,0 , 3, array(‘black’, ‘red’)) 用数组填充 0-3 的元素 数组和栈队列 Array_push array_pop array_shift