-
简单程序
-
标识符
-
含义
- 表示变量或操作名称
-
要求
- 必须以字母或下划线“_”开头
- 后跟字母、数字与下划线
-
eval
-
作用
- 将input(‘字符串’)获取的字符串解析为表达式并求值
-
例
- m=eval(input(‘请输入整数1:’))
- n=eval(input(‘请输入整数2:’))
- print(‘m和n的差是:’,eval(m)-eval(n))
-
Unicode编码值
- ‘A’65 ‘a’97
- ‘B’66 ‘b’98
- ‘C’67 ‘c’99
- ‘/‘47 ‘+’43
- ‘ ’32
-
数据输入与输出
-
输入函数
- 变量=input(‘字符串‘)
-
输出函数
- print()
-
sep
- 例(默认之间空格分隔)
- print("hello","wold")
- hello wold
- 例1(让之间有链接符)
- print("hello","wold",sep="-")
- hello-wold
- 例2(紧密相连)
- print("hello","wold",sep="")
- hellowold
-
end
- 例1(自动换行)
- >>>print(1,2,3,4)
- >>>print(5,6,7,8)
- 1 2 3 4
- 5 6 7 8
- 例2(不换行)
- >>>print(1,2,3,4,end="")
- >>>print(5,6,7,8)
- 1 2 3 45 6 7 8
- 例3(换行)
- >>>print(1,2,3,4,end="\n")
- >>>print(5,6,7,8)
- 1 2 3 4
- 5 6 7 8
-
变量与赋值语句
-
变量的赋值
-
语法
- 变量=表达式
- 例:x=100
-
链式赋值语句
- 用于多个变量同时赋予相同的值
-
例1
- >>>x=y=z=200
- >>>print(x,y,z)
- 200 200 200
-
例2
- a,b=b,a(交换二者的值)
-
解包赋值语句
-
例
- >>>a,b=100,200
- >>>print(a,b)
- 100,200
-
数值
-
类型
- 整数类型:int()
- 浮点类型:float()
-
运算符
-
+
- 加
-
-
- 减
-
*
- 乘
-
/
- 实数除法
-
//
- 整数除法
-
%
- 取余
-
**
- 乘方
-
函数
-
abs(x)
- 求x的绝对值
-
divmod(x,y)
- 输出(x//y,x%y)
-
pow(x,y[,z])
- 输出(x**y)%z
-
round(x[,ndigits])
- 对x四舍五入,保留ndigits位小数,如ndigits省略,则四舍五入后取整
-
max(x1,x2……xn)
- 返回x1,x2……xn中最大值
-
min(x1,x2……xn)
- 返回x1,x2……xn中最小值
-
math库
-
引用方法
- 1
- >>>import math
- >>>print(math.需要引用的math)
- 2
- >>>from math import 需引用的math)
- >>>print(需引用的math)
-
math库中的数学常数
- pi
- 圆周率
- e
- e
- inf
- 正无穷大,负无穷大为-inf
- man
- 非浮点数标记,Not a Number
-
math库中的数值函数
- fabs(x)
- x的绝对值
- fmod(x,y)
- x除y的余数
- fsum([x,y……])
- 浮点数精确求和
- gcd(x,y)
- x和y的最大公约数,x和y为整数
- trunc(x)
- x的整数部分
- modf(x)
- x的小数和整数部分
- ceil(x)
- 向上取整,返回不小于x的最小整数
- floor(x)
- 向下取整,返回不小于x的最大整数
- factorial(x)
- x的阶乘,x为整数
- pow(x,y)
- x的y次幂
- sqrt(x)
- x的平方根
- m=‘bird,fish,monkey,rabbit’
- n=‘bird,fish,monkey,fish,rabbit’
- s=‘Hello Mike’
-
混合类型与转换
-
类型自动转换
- int和float对象可以混合运算,int对象会自动转换(隐式转换)成float对象
-
例1
- >>>f=24+24.3
- >>>type(f)
- <class ’float’>
-
类型强制转换
- >>>int(2.32)
- 2
-
字符串
-
数据类型
- 单引号(‘ ’)
- 双引号(” ”)
- 三单引号(‘’’ ‘’’)
- 三双引号(“““ ”””)
- 可跨行
-
索引与切片
-
索引
- 从左到右:0 —— n-1
- 从右到左:-n —— -1
-
语法
- 变量[序号]
-
例
- >>>s[0]
- ‘H’
-
切片
-
变量[头下标: 尾下标] (含头不含尾)
- 例1
- >>>print(s[0:5])
- ‘Hello’
- 例2(正反可一起使用)
- >>>s[6:-1]
- ‘Mik’
- 例3(省前则从头开始)
- >>>s[:5]
- ‘Hello’
- 例4(省后则坚持最后)
- >>>s[6:]
- ‘Mike’
- 例5(全省就从头到尾)
- >>>s[:]
- ‘Hello Mike’
-
步长
- >0
- 从左向右,每n个字符取一次
- 例
- >>>s[0:5:1]
- hello
- <0
- 从右向左,|步长|-1,需头>尾,否则为空格
- 例
- >>>[4:0:-1]
- olle
-
处理与操作
-
运算符
-
+
- 字符串拼接
- “ab”+“123”——“ab123”
-
*
- 字符串复制
- “ab”*3——ababab
-
in
- 判断是否为字串
- “h” in “Hello”——False
- “H” in “Hello”——True
-
处理函数(直接)
-
len(x)
- 返回字符串x的长度
- >>>len(s)
- 10
-
str(x)
- 将任意类型x转换为字符串类型
- 例1
- >>>str(123)
- ‘123’
- 例2
- >>>str(3+2)
- ‘5’
-
chr(x)
- 返回Unicode编码为x的字符
- >>>chr(65)
- ‘A’
-
ord(x)
- 返回字符x的Unicode编码值
- >>>ord(‘A’)
- 65
- 相互转换
-
处理办法(变量.)
-
查找
- find()
- 指定范围(默认整个)首次出现的位置
- >>>m.find(‘fish’)
- 5
- rfind()
- 指定范围(默认整个)最后出现的位置
- >>>m.rfind(‘b’)
- 20
- index()
- 指定范围(默认整个)首次出现的位置
- >>>m.index(‘bird’)
- 0
- rindex()
- 指定范围(默认整个)最后出现的位置
- >>>m.rindex(‘i’)
- 21
- count()
- 出现次数
- >>>m.counnt(‘b’)
- 3
- 不存在则返回0
- 不存在则返回-1
- 不存在则返回异常
-
分隔
- split()
- 左端开始
- 例1
- >>>m.split(‘,’)
- [‘bird’,’fish’,’monkey’,’rabbit’]
- 例2
- >>>m.split(‘:’)
- [‘bird,fish,monkey,rabbit’]
- 例3
- >>>m.split(‘b’)
- [‘’,‘ird,fish,monkey,ra’,‘’,‘it’]
- rsplit()
- 右端开始
- 最大分隔次数
- 例:
- >>>m.rsplit(‘,’,maxsplit=2)
- [‘bird,fish’ ,‘monkey’ ,‘rabbit’]
- 不管是split和rsplit,都用maxsplit
- partition()
- 左端开始的第一个分隔串开始分隔
- >>>n.partition(‘fish’)
- (‘bird’,‘fish’,‘monkey,fish,rabbit’)
- rpartition()
- 右端开始的第一个分隔串开始分隔
- >>>n.rpartition(‘fish’)
- (‘bird,fish,monkey’,‘fish’,‘rabbit’)
- 以(‘字符’)为分界点,去除字符,其他为整体,默认按空白分隔,不存在则返回原串
- 分隔符不存在则返回原串和两个空串
-
连接
- join()
- 用‘字符串’作连接符
- 例1
- >>>li='fish,monkey,bird'
- >>>‘:’.join(li)
- ‘f:i:s:h:,:m:o:n:k:e:y:,:b:i:r:d’
- 例2
- >>>li=['fish,monkey,bird']
- >>>‘:’.join(li)
- 'fish,monkey,bird'
- 例3
- >>>li=[‘fish’,‘monkey’,‘bird’]
- >>>‘:’.join(li)
- ‘fish’:‘monkey’:‘bird’
-
大小写转换
- lower()
- 转小写
- upper()
- 转大写
- capitalize()
- 首字母大写
- title()
- 每个单词首字母大写
- swapcase()
- 大小写转换
-
替换
- replace()
- 替换指定字符(每次只能替换一个,生成新字符串)
- >>>q=‘你是我的小呀小苹果’
- >>>q.replace(‘小’,’small’)
- ‘你是我的small呀small苹果’
-
删除
- strip()
- 删除两端
- rstrip()
- 删除右端
- lstrip()
- 删除左端
-
判断开始或结束点
- startswich()
- 检测开始
- endswich()
- 检测结束
-
判断字符串类型
- isupper()
- 判断是否全为大写
- islower()
- 判断是否全为小写
- isdigit()
- 判断是否全为数字
- isalnum()
- 判断是否为数字或汉字
- isalpha()
- 判断是否全为字母或汉字
-
排版
- center()
- 居中对齐
- ljust()
- 居左对齐
- rjust()
- 居右对齐
- zfill()
- 输出宽度为(),在左侧以0填充
-
格式化方法
-
{}
-
不指定位置
- ’字符串{}字符串{}’.format(‘插入’,’插入’)
- 例
- >>>‘我是{}班{}号的学生’.format(‘2’,’3’)
- ‘我是2班3号的学生’
-
指定位置(从0开始)
- ’字符串{0}字符串{1}’.format(‘插入0’,’插入1’)
- 例
- >>>‘我是{1}班{0}号的学生’.format(‘2’,3)
- 我是3班2号的学生
-
%
- '%d'%填充字符串
-
格式设置项
- ‘{:填充字符对齐字符数字}’.format(‘字符串’)
-
设置项
- 填充字符
- ‘*’,’=’,’-’等,只能一个字符,默认空格
- 对齐方式
- ‘^’居中,’<‘左对齐,‘>’右对齐
- 宽度
- 一个整数,指格式话后整个字符串的字符个数
-
例1(*填充,居中,宽10)
- >>>’{:*^10}’.format(‘Mike’)
- ‘***Mike***’
-
例2 (保留4位小数)
- >>>’{:.4f}’.format(3.14159)
- ‘3.1415’
-
例3(空格填充,整数默认右对齐,宽5,整数形式输出)
- ‘{:5d}’.format(24)
- ‘ 24’
-
例4(=填充,居中,宽30,保留4位小数)
- >>>’{:=^20.4f}’.format(3.14159)
- ‘=======3.1415=======’
-
流程控制
-
条件表达式
-
关系运算符
-
!=
- 不等于
-
==
- 等于
-
>
- 大于
-
<
- 小于
-
>=
- 大于等于
-
<=
- 小于等于
-
逻辑运算符
-
and
- 并且
-
or
- 或者
-
not
- 取反
-
条件表达式
-
变量%2==0
- 偶数
-
变量%3==0 and 变量%10==5
- 3的倍数且个位上为5
-
(a+b>c) and (b+c>c) and (a+c>b)
- a、b、c为能构成三角形的三段线
-
结构选择
-
单分支结构:if语句(一种情况)
-
语法
- if 条件表达式:
- 语句块
-
例1(用文件式)
- a,b=1,2
- if a<b:
- a,b=b,a
- print(a,b)
-
语法(短)
- if 条件表达式:语句块
-
例2(短的可写一排)
- a,b=1,2
- if a<b:a,b=b,a
- print(a,b)
-
双分支结构:if-else语句(两种情况,非一即二)
-
语法
- if 条件表达式:
- 语句块1
- else:
- 语句块2
-
例1
- str=input(‘请输入字符串:’)
- if (str==str[::-1]):
- print(str+‘为回文串’)
- else:
- print(str+‘非回文串’)
-
语法(短)
- 语句块1 if 条件表达式 else 语句块2
-
例2(短可写一排)
- str=input(‘请输入字符串:’)
- print(str+‘为回文串’) if str==str[::-1] else print(str+’非回文串’)
-
多分支结构:if-elif-else语句(多种情况的一种)
-
语法
- if 条件表达式1:
- 语句块1
- elif 条件表达式2:
- 语句块2
- elif 条件表达式3:
- 语句块3
- …
- else:
- 语句块n
-
嵌套的if结构
-
例
- num=int(input(‘请输入三位数’))
- a=str(num)[0]
- #取百位
- b=str(num)[1]
- #取十位
- c=str(num)[2]
- #取个位
- if a>b:
- if a>c:
- max_num=a
- else:
- max_num=c
- else:
- if b>c:
- max_num=b
- else:
- max_num=c
- print(str(num)+’中最大的数字是:’+max_num)
-
循环结构
-
for语句
-
语法
- for 变量 in 迭代器:
- 语句块
-
字符串作为迭代器
- 例
- for s in ‘abide’:
- print(s,end=‘ ’)
- a b i d e
-
range()函数生成迭代序列
- 语法1
- range(n)
- 从0开始,到n-1结束
- 语法2
- range(m,n)
- 从m开始,到n-1结束
- 语法3
- range(m,n,d)
- 从m开始,每隔d-1个取(正增负减),到n-1结束
- 例1(求1~100的整数和)
- sum=0
- for i in range(1,100+1):
- sum=sum+i
- print(‘sum=’,sum)
- sum=5050
- 例2(求1~100的奇偶和)
- sum_old=0
- sum_even=0
- for i in range(1,100+1):
- if i%2==1: #i为奇数
- sum_old=sum_old+i
- else: #i为偶数
- sum_even=sum_even+i
- print(‘1~100中奇数和为:’,sum_old)
- print(‘1~100中偶数和为:’,sum_even)
-
while语句
-
语法
- while 条件表达式:
- 语句块
- 用法:先求条件表达式的值,若值为True则重复执行至出现False。需要自己管理循环中的变量
-
例(求1~100的整数和)
- sum=0
- i=1
- while i<=100:
- sum=sum+i
- i=i+1
- print(‘sum=’,sum)
-
break和continue语句
-
break #遇到即结束
- 例(求1~10不能对3取余的数)
- for i in range(1,11):
- if i%3==0:
- break
- print(i,end=‘ ‘)
- 1 2
-
continue #遇到跳过继续
- 例(1~10不能对3取余的数)
- for i in range(1,11):
- if i%3==0:
- continue
- print(i,end=‘ ‘)
- 1 2 4 5 7 8 10
- #用法:只能出现在循环内,且只能控制包含着它们的最内层循环
-
循环结构中的else子句
- break可以阻断else语句
-
例
- for i in range(5):
- print(i,end=‘ ‘)
- if i>=3:break
- else:
- print(‘for 循环正常结束’)
- 0 1 2 3
-
循环的嵌套
-
例1
- for m in range(2):
- for i in range(10):
- print(‘*’,end=‘ ‘)
- print()
- * * * * * * * * * *
- * * * * * * * * * *
-
例2
- for m in range(1,3+1):
- for i in range(1,m+1):
- print(‘*’,end=‘ ‘)
- print()
- for m in range(1,3+1):
- for i in range(4-m):
- print(‘*’,end=‘ ‘)
- print()
- *
- * *
- * * *
- * * *
- * *
- *
-
random库
-
函数
-
random()
- 在[0.0,1.0)中抽一个随机浮点数
-
randrange(n)、randrange(n,m)
- 返回给定区间中一个随机整数
-
randint(n,m)
- 相当于randrange(n,m+1)
-
choise(s)
- 从序列s中随机选择一个元素
-
uniform(n,m)
- 生成一个[n,m]之间的随机小数
-
sample(pop,n)
- 从pop类型中随机抽取n个元素,以列表类型返回
-
shuffle(n)
- 将序列中的元素随机排列后返回
-
seed(n)
- 用整数n重制随机数生成器。利用系统时间。
-
例1
-
>>>from random import*
- # ” * “代表所有对象
- >>>random()
- 0.2559038928926731
-
例2
- >>>randrange(0,10,2)
- 0
-
列表与元组
-
元组tuple()
-
-
- 列表list()
-
列表
-
内容
-
注
- 列表,字典,集合本身可变
- 字符串,元组,集合的元素,字典的键不可变
-
表示
- [列表],之间用 ”,“ 隔开
- 可存放不同类的元素
- 列表元素类型不受限制
-
操作
-
元素
- 索引
- 列表名[索引]
- 列表名.index(元素)
- 查找指定元素,在则返回元素索引,不存在则报错,存在多个返回最小的索引
- 修改
- 列表名[索引]=新值
- 增加
- 列表名.append(新元素)
- 相当于“[列表+新元素]“,在尾部添加
- 列表名.insert(索引,新元素)
- 可插入指定位置
- 删除
- 列表名.pop(索引)
- 删除并返回该元素
- 缺乏索引时默认删除最后的元素
- 列表名.remove(元素)
- 可直接删除该元素
- 重复时删排在前面的
- del 列表名[索引]
- [:]清空元素
- 列表名.clear()
- 清空元素
- 其他
- len(列表名)
- 用于统计和返回列表长度
- 列表名.count(元素)
- 统计并返回其中指定元素的个数,没有时返回0
- 检测
- 元素 in 列表
- 判断元素是否在列表,在则True,不在则False
- 元素 not in 列表
- 与以上相反
-
整体
- 遍历
- range()函数
- 例
- >>>l=[1,2,3,4]
- >>>for i in range(2):
- print('hello,{}.'.format(s[i]))
- hello,1.
- hello,2.
- for 元素 in 列表
- 例(小偷问题)
- t=['A','B','C','D']
- for x in t:
- if (x!='A')+(x!='D')+(x=='C')+(x!='C')==3:)
- print('小偷是:',x)
- break
- 排序
- 列表名.sort()
- 元素从小到大排序,基于编码值
- 默认元素第一个元素的关键字来排序
- 原地排序,改变原来列表
- sorted(列表名,reverse)
- 与以上不同就是生成新列表
- 切片
- 列表[起始:终止:步长(可省)]
- 扩充
- +
- 列1+列2
- 生成新列表,原来的不变
- 列表.extend(新列表)
- 将新列表添加到列表尾部,改变原来的列表
- *
- 列表*数字
- 生成新列表,原来的不变
- 复制
- 深拷贝(独立)
- 切片方法
- 语法
- 列Copy=列[:]
- 例
- >>>l=1,2,3,4
- >>>lCopy=l[:]
- >>>lCopy
- [1,2,3,4]
- Copy方法
- 语法
- 列Copy=列.copy()
- 例
- >>>l=[1,2,3,4]
- >>>lCopy=l.copy()
- >>>lCopy
- [1,2,3,4]
- 浅拷贝(共享)
- 赋值
- 语法
- 列1=列
- 例
- >>>l=[1,2,3,4]
- >>>l1=l
- >>>l1
- [1,2,3,4]
- 删除
- del 列
-
数值列表
-
创建
- input()输入
- 语法
- 列=eval(input())
- 例
- >>>l=eval(input())
- [1,3,4,2]
- >>>l
- [1,3,4,2]
- list()转换
-
生成
- range()生成
- 语法
- 列=[循环变量式 for 循环变量 in range(数)]
- 例
- >>>l=[i for i in range(1,5)]
- >>>l
- [1,2,3,4]
-
元组
-
内容
-
定义
- (元组)
- 可直接用“,”定义元组
-
注
- 元素不可修改
- 只有一个元素时,一定要加“,”
-
操作
- 对列表元素修改的都不能使用
- sorted()排序结果位列表
- 深拷贝可以,浅拷贝不行
- 元组可充当列表元素
-
字典与集合
-
字典dict()
-
-
-
- 集合set()
-
字典
-
内容
-
定义
- {键:值},之间用“,”隔开
-
注
- 键不可改,唯一;值可改,不唯一
- {}只能为字典
- 只可用键访问值,不可用值访问键
-
访问
-
语法
- 字典[键]
- 不能用数字
-
例
- >>>d={'z':100,'y':299,'x':399}
- >>>d['y']
- 299
-
操作
-
条目
- 添加
- 字典[键]=值
- 修改
- 字典[键]=值
- #必须为存在的条目,否则为添加
- 删除
- 指定删除
- del 字典[键]
- 字典.pop(键,默认值)
- 例1(可返回被删除的值)
- >>>d={'z':100,'y':299,'x':399}
- >>>d.pop('z')
- 100
- 例2(键不存在时需给默认值)
- >>>d={'z':100,'y':299,'x':399}
- >>>d.pop('c',400)
- 400
- 例3(必须要有参数)
- >>>={'z':100,'y':299,'x':399}
- >>>d.pop()
- 报错
- 随机删除
- 字典.popitem()
- 以元组形式返回被删除的条目
- 查找
- 键 in 字典
- 存在True,不存在False
- 字典.get(键,默认值)
- 存在则返回键对应的值,不存在则返回默认值
-
整体
- 遍历
- 键
- 字典.keys()
- 例
- >>>d={'z':100,'y':299,'x':399}
- >>>d.keys()
- dict_keys(['z', 'y', 'x'])
- for key in 字典.keys()
- 例
- >>>d={'z':100,'y':299,'x':399}
- >>>for key in d.keys():
- print(key)
- z
- y
- x
- 值
- 字典.values()
- 例
- >>>d={'z':100,'y':299,'x':399}
- >>>d.values()
- dict_values([100, 299, 399])
- for value in 字典.values()
- 例
- >>>d={'z':100,'y':299,'x':399}
- >>>for value in d.values():
- print(value)
- 100
- 299
- 399
- 条目
- 字典.items()
- 例
- >>>d={'z':100,'y':299,'x':399}
- >>>d.items()
- dict_items([('z', 100), ('y', 299), ('x', 399)])
- for item in 字典.items()
- 例
- >>>d={'z':100,'y':299,'x':399}
- >>>for item in d.items():
- print(item)
- ('z', 100)
- ('y', 299)
- ('x', 399)
- 排序
- 语法
- sorted(字典)
- 例(按键的Unicode值从小到大)
- >>>d={'z':100,'y':299,'x':399}
- >>>sorted(d)
- ['x', 'y', 'z']
- 删除
- 字典.clear()
- 清空所有条目,只剩{}
- del 字典
- 删除字典
- 合并
- for循环
- 例
- >>>d1={'z':100,'y':299,'x':399}
- >>>d2={'m':2,'n':1}
- >>>for k,v in d2.items():
- d1[k]=v
- >>>d1
- {'z':100,'y':299,'x':399,'m':2,'n':1}
- >>>d2
- {'m':2,'n':1}
- 字典1.update(字典2)
- 例(只变字典1)
- >>>d1={'z':100,'y':299,'x':399}
- >>>d2={'m':2,'n':1}
- >>>d1.uptade(d2)
- >>>d1
- {'z':100,'y':299,'x':399,'m':2,'n':1}
- >>>d2
- {'m':2,'n':1}
- dict()
- 例1(先列后典)
- >>>d1={'z':100,'y':299,'x':399}
- >>>d2={'m':2,'n':1}
- >>>ls=list(d1.items())+list(d2.items())
- #变为列表相加
- >>>dict(ls)
- #使ls变为字典
- >>>ls
- {'z':100,'y':299,'x':399,'m':2,'n':1}
- >>>d2
- {'m':2,'n':1}
- 例2
- >>>d1={'z':100,'y':299,'x':399}
- >>>d2={'m':2,'n':1}
- >>>d1=dict(d1,**d2)
- >>>d1
- {'z':100,'y':299,'x':399,'m':2,'n':1}
- >>>d2
- {'m':2,'n':1}
-
集合
-
内容
-
定义
- {元素},之间用“,”隔开
-
注
- {}不为集合
- 确定性,互异性,无序性
- 集合元素不可变
-
操作
-
访问
- for遍历
- 例(生成10个0~20之间的随机数)
- >>>ls=[]
- #创建列表
- >>> for i in range(20):
- ls.append(random.randint(0,20))
- #添加列表元素
- >>> s=set(ls)
- >>> print(s)
- {6, 0, 19, 11, 19, 17, 7, 17, 16, 10, 19, 15, 10, 20, 11, 20, 1, 12, 2, 11}
- 全输出
-
添加
- 集合.add(不可变数据元素)
- #将元素直接加到集合中
- 集合.update(可变数据元素)
- #将元素拆分重组后加入
-
删除
- 集合.remove(元素)
- #元素不存在会报错
- 集合.discard(元素)
- #元素不存在则无反应
- 集合.pop()
- #从中随机删除并返回一个元素
- 集合.clear()
- #清空元素
-
判断
- 元素 in集合
- #存在为True,不存在False
-
运算
-
交集
- A|B
- #二者相同的元素
- A.union(B)
-
并集
- A&B
- #二者一起的元素
- A.intersection(B)
-
差集
- A-B
- #二者重复的元素
- A.difference(B)
-
对称差集
- A^B
- #二者不同的元素
- A.symmetric_difference(B)
-
函数
-
基本概念
-
名称
-
例
- abs(x)
- #电脑内置函数,求绝对值
- #函数名abs
- #形式参数x
- #函数返回值:x的绝对值
- abs(-1)
- #实际参数-1
-
分类
-
内置函数
- abs()、len()
-
标准库函数
- math、random
-
第三方库函数
- jieba、numpy、requests
- 自定义函数
-
使用
-
内容
-
语法
- def 函数名([参数列表]):
- 函数体
-
注
- 圆括号内是形参,如有多个参数则用“,”分开
- 函数体可使用return语句返回值。
- return可以有多条,但一旦第一条被执行,函数终止(=break)。可出现在函数体任何位置
-
调用
-
语法
- 函数名([实参])
-
注
- 实参必须与形参一一对应(顺序,数量)
- 函数如果有返回值,则可以在表达式中继续使用,没有则可以单独做表达式使用
- 需要调用才能运行函数
-
例
- >>>def f(a,b):
- return a+b
-
- >>>f(12,13)
- 25
-
例2(return返回)
- def get_max(a,b):
- #定义函数,在a,b中谁大
- v=a
- if b>a:
- v=b
- return v
- #把v值返回给外界
- i=get_max(5,8)
- #相当于i=8
- print(i)
-
参数
- 默认值参数
- 名称传递参数
- 可变参数
- 返回多个值
-
lambda()函数
-
内容
- 定义
- 注
-
变量的作用域
- 局部变量
- 全局变量
-
递归函数
- 定义
- 注