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