• python基础概念


    数:

    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)从非空序列中随机挑选一个元素,

  • 相关阅读:
    根据百度API获得经纬度,然后根据经纬度在获得城市信息
    Map实现java缓存机制的简单实例
    JMS学习(七)-ActiveMQ消息的持久存储方式之KahaDB存储
    JMS学习(六)-ActiveMQ的高可用性实现
    排列与组合的一些定理
    带权图的最短路径算法(Dijkstra)实现
    JMS学习(六)--提高非持久订阅者的可靠性 以及 订阅恢复策略
    JMS学习(五)--ActiveMQ中的消息的持久化和非持久化 以及 持久订阅者 和 非持久订阅者之间的区别与联系
    分布式系统理论之两阶段提交协议
    自定义栈的实现及使用两个栈模拟队列
  • 原文地址:https://www.cnblogs.com/houyongchong/p/9774309.html
Copyright © 2020-2023  润新知