python学习第四天第一部分
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、 非固定参数 :用户不确定需要传入多少个参数时,可以使用非固定参数。
例: