Python3.X之基础笔记

来源:互联网 发布:伊的家网络销售好做么 编辑:程序博客网 时间:2024/05/16 03:46

1、数据类型:整数、浮点数、字符串、布尔值、空值(用None表示)、常量、变量(可以是任意数据类型,变量名必须是大小写英文、数字和_的组合,且不能用数字开头),对bytes类型的数据用带b前缀的单引号或双引号表示)、列表(包括list、tuple)、字典(dict类似Java中的Map)、set(和dict类似,也是一组key的集合,但不存储value)
2、编码问题:UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
3、变量不需要声明,可直接赋值,应该是动态语言的优势,例如;a = 123
4、有序的集合list的初始化方式:list = [‘jason’,’dongdong’,’bingbing’],和Java的List一样,可以通过索引取值,操作list元素
5、有序的集合tuple:tuple和list非常类似,但是tuple一旦初始化就不能修改;初始化:
tuple= (’jason’,’dongdong’,’bingbing’)只有1个元素的tuple定义时必须加一个逗号,如:tuple=(‘jason’,)
6、Python的缩进规则:索引一致的表示相同的模块,一起执行
7、条件判断if语句:(注意条件语句后面有一个冒号)
使用elif代替 else if

if <条件判断1>:    <执行1>elif <条件判断2>:    <执行2>elif <条件判断3>:    <执行3>else:    <执行4>

8、for 循环
for x in …循环就是把每个元素代入变量x,然后执行缩进块的语句。
9、dict使用键-值(key-value)存储,具有极快的查找速度,key不能重复,不能是可变得对象
和list比较,dict有以下几个特点:
1. 查找和插入的速度极快,不会随着key的增加而变慢;
2. 需要占用大量的内存,内存浪费多。
而list相反:
1. 查找和插入的时间随着元素的增加而增加;
2. 占用空间小,浪费内存很少。
所以,dict是用空间来换取时间的一种方法。
dict={‘jason’:0,’dongdong’:71,’bingbing’,71}
可以直接通过dict[‘jason’]去除值
10、set:set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
set = ([‘jason’,’dongdong’,’bingbing’])
set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”
11、函数调用:要调用一个函数,需要知道函数的名称和参数
12、定义函数:定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。
13、空函数:如果想定义一个什么事也不做的空函数,可以用pass语句:
def nop():
pass
14、对参数类型做检查

def my_abs(x):    if not isinstance(x, (int, float)):        raise TypeError('bad operand type')    if x >= 0:        return x    else:        return -x

14、返回多个值:函数可以同时返回多个值,但其实就是一个tuple。
15、函数执行完毕也没有return语句时,自动return None。return和return None等效
16、Python的函数定义非常简单,但灵活度却非常大。除了正常定义的必选参数外,还可以使用默认参数、可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代码。
17、默认参数:
设置默认参数时,有几点要注意:
一是必选参数在前,默认参数在后,否则Python的解释器会报错(思考一下为什么默认参数不能放在必选参数前面);
二是如何设置默认参数。
当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。变化小的参数就可以作为默认参数。
使用默认参数有什么好处?最大的好处是能降低调用函数的难度。
默认参数必须指向不变对象!
18、可变参数:
在参数前加 * 即可,可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple
19、关键字参数:
在参数前加 ** 即可允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。关键字参数有什么用?它可以扩展函数的功能。比如,在person函数里,我们保证能接收到name和age这两个参数,但是,如果调用者愿意提供更多的参数,我们也能收到。试想你正在做一个用户注册的功能,除了用户名和年龄是必填项外,其他都是可选项,利用关键字参数来定义这个函数就能满足注册的需求。和可变参数类似,也可以先组装出一个dict,然后,把该dict转换为关键字参数传进去
19、命名关键字参数:
与关键字参数 *kw 不同,命名关键字参数需要一个特殊分隔符后面的参数被视为命名关键字参数。如果函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊分隔符了。命名关键字参数必须传入参数名,这和位置参数不同。如果没有传入参数名,调用将报错
20、参数组合:
在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。