python3基础概念

数:

str:使用单引号或双引号表达,不可变的,一旦创建不可更改,可以使变量赋予不同的字符串,但字符串本身是没有更改的;

list:有序的集合,可变的基础数据类型;

  clear(),copy(),append(),count(),pop(),index(),extend(),insert(),remove(),reverse(),sort()

tuple:与list相似,但初始化后不得改变,使用()表达,单一元素时后面需要附加逗号(1,)('s',);

dict:key与value存储,查找速度快,占用内存较大;在一个dict中key是唯一的,所以key不能不存在,也不能是可变对象,并且多次对一个key赋值,会把前一个value覆盖,只会保留最后一个;

  clear(),copy(),fromkeys(),itmes(),keys(),values(),pop(),popitem(),setdefault(),get(),update()

set:用{}表达,没有重复的数据;

  clear(),copy(),add(),remove(),pop(),update()

循环:第一种是for i in ...,把每一个元素代入x中;第二种是while EXPRE,只有不满足表达式才会停止循环;break退出全部循环,continue跳过本次循环;

位置参数:不可缺少,顺序对应;

默认参数:创建函数时设定参数默认值,默认参数必须指向不变对象,

可变参数:用*定义可变参数(def test(*args):),可变参数允许你传入0个或任意个参数(test(1,'a',None,True)),这些参数被调用时会自动封装为一个tuple;如果有一个要被传入的参数L是list或tuple,可以*L传入(test(*L));

关键字参数:用**定义可变参数(def test(**kw):),关键字参数允许传入0个或任意个带有参数名的参数(test(city='beijing',job='engineer')),参数会被封装为dict,如果有一个要被传入的参数D是dict,可以**D传入(test(**D));

命名关键字参数:在参数前以*标记(test(*,name)),如果前面有可变参数,*可以省略(test(*args,name));

组合参数:参数为固定顺序,(位置参数,默认参数,可变参数,命名关键字参数,关键字参数)

递归函数:函数还调用了自己本身就为递归,大量递归会产生栈溢出,尾递归可以解决栈扩展,但python也会溢出;

切片:0可以略写,L[:]复制原L,L[:10]前十个,L[-10:]后十个,L[:1]第一个,L[-1:]最后一个,L[:10:2]前十个数每两个取一个,L[::-1]翻转

迭代:给定一个list或tuple,用for遍历每一个元素,就成为迭代;

列表生成式:[x for x in range(9)]生成0-8的list,[x*x for x in range(9)]生成0-8平方的list,[x+y for x in 'AB' for y in 'CD']生成全排列,[x*x for x in range(10) if x % 2 == 0]生成偶数平方的list,

闭包:储存其所在作用域的函数;

作用域:当程序在处理变量时,存放变量名的空间,也称为命名空间;当class def定义时才会产生,产生是局部作用域,if for while try等语句块不会产生作用域;查找变量优先级:局部作用域>嵌套作用域(闭包)>全局作用域,全局变量不会被局部变量干扰,全局变量只能以只读方式被局部作用域访问,如果想在局部作用域中修改或创建全局变量,需要用global声明;

多态:鸭子类型,不知道变量指定的是什么类型,但可以实现最终的结果;

封装:把函数封装起来,不知怎么实现的过程,但调用即可实现;

继承:子类可以继承基类的属性,可以重构基类的属性;

对象:对象有属性和方法,属性就是对象中的变量,方法就是存放在属性中的函数,与函数区别在于方法有一个self参数,这个参数是关联到它自身所属的instance上,函数是一个可以执行操作返回值的程序段;

类:就是一组对象,可以被实例化;指定子类的超类(基类)即为继承,可以指定多个超类(多重继承),但如果多个超类有相同命名的方法,只能匹配第一个方法,所有应注意多重继承时指定超类的顺序;

  callable(),hasattr(),getattr(),setattr(),type(),__dict__,__class__,random.choice(seq)从非空序列中随机挑选一个元素,

上一篇:201521123115《java程序设计》第十一周学习总结


下一篇:windows安装oracle instant client并用navicat连接云服务器上的oracle(二)