Python学习总结-基础篇

正在学习python中,收集整理下学习笔记,以供参考。本篇主要为基础语法。

一、基础知识

1、数据类型和变量

python是动态语言,不像java的静态语言那样先声明变量的数据类型才能使用,直接对变量赋值即可


2、字符编码

  • 统一用utf-8即可变长的Unicode

其中:ord()可以获取字符的整数表示;

           chr()可以将编码转换为对应的字符。

  • 关于格式化:

%s对应字符串

%d对应整数

%f对应浮点数

%x对应十六进制整数


3、list和tuple的区别

  • list使用[]表示,tuple使用()表示;
  • list称列表是有序集合,可以随时增加和删除里面的元素,有append()——追加、insert()——插入、pop()——删除方法;
  • tuple称元祖是有序列表,一旦初始化就不能修改,没有append()、insert()方法


4、dict和set的区别

  • dict称字典是键值对(key-value),可以有极快的查找速度;一个key只能对应一个value,有get()和pop()方法,且key是不可变对象
  • set称集合是一组key的集合,没有value,没有重复值,有add()和remove方法


5、循环

  • 使用for...in...
  • break和continue的区别:break是提前结束当前循环,continue是结束本次循环从头开始


6、函数

1)定义函数:

def 函数名(参数):

    return ...

eg.

def my_abs(x):

    if x>10:

        return x


2)函数参数

  • 位置参数:按照传入的顺序依次调用eg.   power(x,n)
  • 默认参数:默认参数指向不变对象eg.power(x,n=2)
  • 可变参数:*args,传入的参数个数是可变的,是个元组
  • 关键字函数:**kwargs,扩展函数的功能,调用时除了必选参数,也可以传入任意个关键字参数,是个字典
  • 命名关键字参数:*,args,限制关键字参数的名字,命名关键字参数必须传入参数名


3)递归函数

自己调用自己,缺点是很可能会栈溢出

尾递归:只在return时调用自己,且不含表达式


二、高级特性

1、切片[]

切片可用来取list或tuple的指定索引范围

eg.L[0:3]指取前3个元素,从下标0开始到下标3为止,但不包括下标3


2、迭代:通过for循环遍历

for...in...可以迭代list或tuple或字符串

  • dict迭代,一般默认迭代的是key;通过for value in d.values()可以迭代value;通过for k,v in d.items()可以迭代key和value


3、生成器和迭代器

  • 生成器:是一边循环一边计算的机制

创建生成器的方法:1)将列表生成式的[]改为():eg g=(x*x for x in range(10))

                               2)使用yield的函数

  • 迭代器:是访问集合元素的一种方式,可以被next函数调用并不断返回下一个值的对象,特点是不需要事先准备好整个迭代过程中的所有元素,仅在迭代到某个元素时才开始计算该元素,适合遍历比较大的集合




你可能感兴趣的:(Python学习总结-基础篇)