【python】廖雪峰python教程学习--基础

时间:2023-03-09 15:42:19
【python】廖雪峰python教程学习--基础

 No1:

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

No2:

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

【python】廖雪峰python教程学习--基础

No3:

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

【python】廖雪峰python教程学习--基础

No4:

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

No5:

空值None

No6:

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

No7:

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

No8:

除法

【python】廖雪峰python教程学习--基础

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

No9:

字符替换

【python】廖雪峰python教程学习--基础

注意:‘’不能去掉

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

No10:

【python】廖雪峰python教程学习--基础

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

No11:

列表(类似java的数组)

【python】廖雪峰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】廖雪峰python教程学习--基础

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

No17:

键值对dict

【python】廖雪峰python教程学习--基础

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

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

而list相反:

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

No18:

无序不可重复集合set

【python】廖雪峰python教程学习--基础

No19:

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

No20:

【python】廖雪峰python教程学习--基础

函数可以取别名

No21:

函数

【python】廖雪峰python教程学习--基础

【python】廖雪峰python教程学习--基础

No22:

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

No23:

pass-什么也不做,占位符

No24:

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

【python】廖雪峰python教程学习--基础

No25:

默认参数

【python】廖雪峰python教程学习--基础

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

No26:

默认参数的坑

【python】廖雪峰python教程学习--基础

修复

【python】廖雪峰python教程学习--基础

No27:

可变参数

【python】廖雪峰python教程学习--基础

在参数前面加*

No28:

关键字参数

【python】廖雪峰python教程学习--基础

No29:

【python】廖雪峰python教程学习--基础

No30:

递归:

【python】廖雪峰python教程学习--基础

尾递归

【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教程学习--基础

【python】廖雪峰python教程学习--基础

No32:

迭代:

【python】廖雪峰python教程学习--基础

【python】廖雪峰python教程学习--基础

【python】廖雪峰python教程学习--基础

判断是否可迭代

【python】廖雪峰python教程学习--基础

传统迭代

【python】廖雪峰python教程学习--基础

No33:

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

【python】廖雪峰python教程学习--基础

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

No34:

双层、三层循环

【python】廖雪峰python教程学习--基础

No35:

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

【python】廖雪峰python教程学习--基础

No36:

generator生成器

【python】廖雪峰python教程学习--基础