根据廖雪峰Python教程整理 python教程
一 简介
适用场景:网站开发、脚本开发
优点:语法简单,基础库完善
缺点:解释型语言,执行速度慢,不能加密
默认解释器:CPython
二 基础数据类型
输入:input("提示信息")
输出:print()
以缩进组织代码,: 后面的缩进部分为代码块
数据类型
整数 浮点数 整数精确,浮点数在运算中可能有误差
字符串 ' ' " "
如果内部有 ' " 可以使用转义 \" \'
r" " 字符串默认不转义
''' ''' 表示多行内容
布尔值
True False
空值
None
变量
变量本身类型不固定,指向内存中数据的指针
常量
python本身没有常量,一般大写表示常量
/ 浮点除 // 整数除 % 取余
字符串
Unicode字符集 utf-8编码
len(str) 计算字节数
# -*- coding:utf-8 -*-
格式化输出:
"%s " % str
"%s %d" % (str,num)
"%s %d".format(str,num)
list
list即有序集合 [element] len(list)元素个数
索引从0到len(list)-1 或者-len(list)到-1,-1指向最后一个元素,0指向第一个元素
list.append(ele) 将元素添加到末尾
list.insert(index,ele) 将元素插入到index位置
list.pop() 弹出末尾元素
list.pop(index) 弹出index位置元素
list[index] = newele 将index位置的元素替换为newele
list当中的元素也可以类型不同
tuple 元组
tuple一旦初始化元素就不能改变了,不能改变的意思是元素指向不可变,如果元素是list,那么元素内容依然会改变
只有一个元素的tuple (1,) 如果是(1)认为是数字1
dict 字典
get(key) 返回对应的value值,如果不存在返回None
get(key,default) 如果不存在返回默认值default
pop(key) 删除对应的键值对
set 自动过滤重复元素
s=set([1,2,3])
add(key)
remove(key)
判断和循环
if <判断语句>:
执行语句
elif <判断语句>:
执行语句
else:
执行语句
True:非0、非空字符串、非空list等
for i in list / tuple:
statement
for i in range(10): i从0到9
list(range(5)) > [0,1,2,3,4]
while 判断条件:
执行语句
break 结束循环
continue 结束本次循环
三 函数
可以将函数名给一个变量,相当于给函数起了个别名
定义函数
def 函数名(参数):
函数体
返回多个值,实际上是返回了一个tuple
函数参数
位置参数:普通参数 def max(a,b)
默认参数:def max(a,b=2) 默认参数要使用不可变对象,不然多次调用会出错
可变参数:def max(*a) max(1,2,3) list=[1,2,3] max(*list)
关键字参数:def max(a,b,**kw) def(1,2,"a"="b") 可变参数会自动封装成一个dict,如果有了一个dict,max(1,2,**dict)
命名关键字参数:def max(a,b,*,city,age) 需要*分隔符 max(1,2,city=1,age=2) def max(a,*b,city,age)
命名关键字参数可以有缺省值
参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数
递归函数
base case + 递归