廖雪峰python教程学习笔记

时间:2021-02-20 22:44:20

 No1:

目前,Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的

No2:

r''表示''内部的字符串默认不转义

廖雪峰python教程学习笔记

No3:

 以'''开头,敲回车可以换行

廖雪峰python教程学习笔记

No4:

布尔值True和False,注意大小写

No5:

空值None

No6:

python是动态语言,即定义变量不用申明变量类型(例:int i=0 int可以不用 i=0即可)

No7:

全部大写的变量名表示常量:PI = 3.14159265359

No8:

除法

廖雪峰python教程学习笔记

浮点型超出一定范围表示为inf(无穷大)

No9:

字符替换

廖雪峰python教程学习笔记

注意:‘’不能去掉

如果不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串:

No10:

廖雪峰python教程学习笔记

.nf表示小数点后面保留n位

No11:

列表(类似java的数组)

廖雪峰python教程学习笔记

No12:

tuple元组:例:('Michael', 'Bob', 'Tracy'),一旦确定值,不可改变

只有1个元素的tuple定义时必须加一个逗号,,来消除歧义(1,)

No13:

list和tuple是Python内置的有序集合,一个可变,一个不可变;但是,如果tuple中嵌套了一个list,就又可变了,啊哈哈

No14:

判断:

def main():
    age = 20
    if age >=6:
        print('teenager')
    elif age>=18:
        print('adult')
    else:
        print('kid')

if __name__ == "__main__":
    main()

No15:

pycharm设置支持中文

1.打开Pycharm ---->  File ----> Default setting ------> Editor -------> File Encodings ,如下图,设置成UTF-8

2.在程序开始的时候,增加 # -*-coding:utf-8-*- 

No16:

循环

def main():
    sum = 0
    for x in range(101):
        sum = sum +x
    print(sum)
    print list(range(11))

if __name__ == "__main__":
    main()

结果

廖雪峰python教程学习笔记

    sum = 0
    n = 99
    while n>0:
        sum = sum+n
        n=n-2
    print sum

No17:

键值对dict

廖雪峰python教程学习笔记

和list比较,dict有以下几个特点:

  1. 查找和插入的速度极快,不会随着key的增加而变慢;
  2. 需要占用大量的内存,内存浪费多。

而list相反:

  1. 查找和插入的时间随着元素的增加而增加;
  2. 占用空间小,浪费内存很少。

No18:

无序不可重复集合set

廖雪峰python教程学习笔记

No19:

str是不变对象,而list是可变对象。

No20:

廖雪峰python教程学习笔记

函数可以取别名

No21:

函数

廖雪峰python教程学习笔记

廖雪峰python教程学习笔记

No22:

from 文件名(不含后缀.py) import 函数名

No23:

pass-什么也不做,占位符

No24:

返回多个值(其实是返回一个tuple)

廖雪峰python教程学习笔记

No25:

默认参数

廖雪峰python教程学习笔记

只有一个参数时,就计算5的2次方;有两个参数时,就计算5的n次方

No26:

默认参数的坑

廖雪峰python教程学习笔记

修复

廖雪峰python教程学习笔记

No27:

可变参数

廖雪峰python教程学习笔记

在参数前面加*

No28:

关键字参数

廖雪峰python教程学习笔记

No29:

廖雪峰python教程学习笔记

No30:

递归:

廖雪峰python教程学习笔记

尾递归

廖雪峰python教程学习笔记

fact(5)对应的fact_iter(5, 1)的调用如下:

===> fact_iter(5, 1) ===> fact_iter(4, 5) ===> fact_iter(3, 20) ===> fact_iter(2, 60) ===> fact_iter(1, 120) ===> 120

 No31:

切片(类似于String.substr())

廖雪峰python教程学习笔记

廖雪峰python教程学习笔记

No32:

迭代:

廖雪峰python教程学习笔记

廖雪峰python教程学习笔记

廖雪峰python教程学习笔记

判断是否可迭代

廖雪峰python教程学习笔记

传统迭代

廖雪峰python教程学习笔记

No33:

 需求:计算[1x1, 2x2, 3x3, ..., 10x10]

廖雪峰python教程学习笔记

很明显,下面的方法更简单

No34:

双层、三层循环

廖雪峰python教程学习笔记

No35:

需求:列出当前目录下的所有文件和目录名

廖雪峰python教程学习笔记

No36:

generator生成器

廖雪峰python教程学习笔记