1、字典的特性:无序、去重、查询速度快、比list占用内存多。

2、字典查询速度快的原因:因为他是哈希类型的。

3、什么是(hash)哈希?

hash把任意长度的二进制映射为较短的固定长度的二进制,这个较短的二进制值称为哈希值。哈希值是一段数据唯一    且紧凑的数值表现形式。一段明文只有在同一个进程下生成的哈希值才会相同,不同的进程下同一段明文生成的哈希值也不同。

4、字符编码:

python2 下的编码:

  • python2 默认编码是ascii码
  • 文件开头的编码声明是为了告诉这个代码的程序用什么编码格式把这段代码读入到内存中。
  • 存在 #_*_ coding:utf-8_*_ 的情况下,在声明变量中写username=u"姓名",则该字符位unicode格式,不加u则为utf-8 格式。
  • utf-8 转 gbk,utf8先decode成unicode,再encode成gbk 。

    python3 下的编码:

  • python3的编码格式:

    l Python 3 里默认文件编码格式为utf-8,所有可以直接输入中文。

    l 声明的变量默认是unicode编码,如果想要转为gbk,直接写your_str.encode.

    二、函数的基本语法及特性

    l 函数的定义:函数是指将一组语句的集合通过一个名字(函数)封装起来,要想执行这个函数,只需调用其函数名即可。

    l 函数的特性:

    1、 减少重复代码

    2、 视程序变的可扩展

    3、 使程序变的易维护

    l 语法定义:

    def sayhi():    #函数名

    print (“hello world!”)

    sayhi()       # 调用函数

    例子

    def cala(x,y):

    res = x**y

    return res    # 返回函数执行结果

    c = calc(a,b)     # 结果赋值给c变量

    print(c)

    三、函数参数与局部变量

    1、 形参变量:只有在被调用时才分配内存单元,在调用结束后即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量。

    2、 实参:可以是变量、常量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,他们都必须有确定的值以便把这些值传送给形参。因此应预先用复制,输入等方法使参数获得确定值。

    3、 默认参数:

    def stu_reg(name,age,course,country="CN"):

    print("-----------注册学生信息-----------")

    print("姓名:",name)

    print("年龄:",age)

    print("课程:",course)

    print("国籍",country)

    stu_reg("张三","18","数学")

    stu_reg("李四","18","数学")

    其中 “country”即为默认参数,参数在调用时不指定,那默认就是CN,指定了的话,就用你指定的值。

    4、 关键参数:不想按顺序传递参数时,可以使用关键参数,只需指定参数名即可。但是,关键参数必须放在未知参数之后。

    5、 非固定参数 :用户不确定需要传入多少个参数时,可以使用非固定参数。

    例:

python学习第四天第一部分的更多相关文章

  1. python学习第四次笔记

    python学习第四次记录 列表list 列表可以存储不同数据类型,而且可以存储大量数据,python的限制是 536870912 个元素,64位python的限制是 1152921504606846 ...

  2. python学习第四讲,python基础语法之判断语句,循环语句

    目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...

  3. Python学习(四)数据结构(概要)

    Python 数据结构 本章介绍 Python 主要的 built-type(内建数据类型),包括如下: Numeric types          int float Text Sequence ...

  4. python学习-第四天补充-面向对象

    python学习-第四天补充-面向对象 python 私有 --name mangling(名字修改.名字) 在命名时,通过使用两个下划线作为开头,可以使得这个变量或者函数编程私有的,但是这个其实的p ...

  5. python学习第四十八天json模块与pickle模块差异

    在开发过程中,字符串和python数据类型进行转换,下面比较python学习第四十八天json模块与pickle模块差异. json 的优点和缺点 优点  跨语言,体积小 缺点 只能支持 int st ...

  6. Python学习之路【第一篇】-Python简介和基础入门

    1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...

  7. Python学习(四)cPickle的用法

    python中有两个类似的:pickle与cPickle:两者的关系:“cPickle – A faster pickle” pickle模块中的两个主要函数是dump()和load().dump() ...

  8. Python学习笔记四

    一.装饰器 1.知识储备 函数对象 函数可以被引用 函数可以当参数传递 返回值可以是函数 可以当作容器的元素 def func1(): print (666) def func2(): print ( ...

  9. python学习第四天笔记整理

    一.迭代器及生成器 #迭代器:迭代的工具 #1 什么是迭代:指的是一个重复的过程,每一次重复称为一次迭代,并且每一次重复的结果是下一次重复的初始值# while True:# print('===== ...

随机推荐

  1. 【阿里云产品公测】ACE、BAE及SAE云引擎对比评测

    作者:阿里云用户bailimei 先前我已发布一篇关于ACE的评测,在跟朋友聊天的时候我们讨论了目前市面上的三款云引擎产品,这三家的云引擎我都有在用,今天有时间顺便写篇关于阿里云ACE.百度BAE和新 ...

  2. [算法练习]最长公共子串(LCS)

    题目说明: 找两个字符串的最长公共子串,这个子串要求在原字符串中是连续的.比如"bab"和"caba"的最长公共子串是"ba"和" ...

  3. page61-将二分查找重写为一段面向对象的程序

    1 将二分查找重写为一段面向对象的程序 (用于在整数集合中进行查找的一种抽象数据类型) public class StaticSETofInts [API] StaticSETofInts(int[] ...

  4. 索引与优化like查询

    1. like %keyword    索引失效,使用全表扫描.但可以通过翻转函数+like前模糊查询+建立翻转函数索引=走翻转函数索引,不走全表扫描. 2. like keyword%    索引有 ...

  5. pxe+kickstart实现无人值守批量安装linux

    pxe+kickstart实现无人值守批量安装linux 实验准备:主机myrhel2作为服务器端,新建一个没有安装操作系统的虚拟主机,而且其与服务器端在同一个网段 安装的条件: 服务器端:      ...

  6. jQuery的deferred对象详解(二)

    Deferred对象是由$.Deferred构造的,$.Deferred被实现为简单的工厂模式. $.Deferred的实现 创建三个$.Callbacks对象,分别表示成功done,失败fail,处 ...

  7. React Native技术知识总结(不定期补充)

    1.JSON https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/JSON JSON.pa ...

  8. js继承关系

    跟传统面向对象语言比起来,js在继承关系方面比较特别,如果第一次看恐怕会有些抓狂,偶就是这样(又透露小白本质#=_=),从哪里说起好呢?函数调用? js中函数的调用方式大致可分以下几种: 1. 普通函 ...

  9. Java中Properties类的学习总结

    学习目标: 1.认识properties文件,理解其含义,会正确创建properties文件. 2.会使用java.util.Properties类来操作properties文件. 一.认识prope ...

  10. js格式化日期,获取当月的第一天,与最后一天.

    //格式化日期 function setDate(date){   y=date.getFullYear();   m=date.getMonth()+1;   d=date.getDate();   ...