python基础知识

本文详细介绍了Python中的基本运算函数,如绝对值、整型转换、浮点数等,并探讨了列表的常用操作,包括切片、添加元素、删除元素、替换元素等。此外,还讲解了元组的特点,包括不可变性及元组的相加。同时,提到了字符串的相关方法,如大小写转换和对齐函数。文章还涉及了查找和替换字符串内容的方法。
摘要由CSDN通过智能技术生成

运算函数

abs(x) :x的绝对值

在这里插入图片描述

int(x) :将x转换成整型(截掉小数部分)

在这里插入图片描述

float(x):浮点数

在这里插入图片描述

divmod(x,y):返回(x//y,x%y)

x//y:向下取整
在这里插入图片描述

complex(re,im):返回一个复数,re是实部,im是虚部

在这里插入图片描述

pow(x,y):计算x的y次方

x**y:计算x的y次方
如果加入第三个参数,则结果对第三个参数取余
即:222%5=3
在这里插入图片描述

bool(x):输出True或False

在这里插入图片描述
在这里插入图片描述

range(stop):依次生成一个(0~stop)的数

range(stop) — 依次生成一个(0~stop)的数

例如:
range(5)
打印输出:
0
1
2
3
4

range(start,stop) — 依次生成一个(start~stop)的数

例如:
range(5,10)
打印输出:
5
6
7
8
9

range(start,stop,step) — 依次生成一个(start~stop)的数,跨度为step

例如:
range(3,10,2)
打印输出:
3
5
7
9

len(x):获取列表的长度

fuu=[1,"two","老虎","铃兰","four"]
print(fuu)
输出:[1, 'two', '老虎', '铃兰', 'four']
len(fuu)
输出:5
len([1,"two","老虎","铃兰","four"])
输出:5

运算符

运算符含义
and左边和右边同时为True,结果为True
or左右两边其中一个为True,结果为True
not如果操作数为True(False),结果为False(True)

在这里插入图片描述
在这里插入图片描述

短路逻辑

从左到右,只有当第一操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值
在这里插入图片描述

python优先级

![在这里插入图片描述](https://img-blog.csdnimg.cn/8d5b21752f074bf8bf13d39069e1299b.png

思维导图

思维导图又叫心智图,是表达发散性思维的有效的图形思维工具,它简单却又极其有效,是一种革命性的思维工具。

for循环

格式:

for 变量 in可迭代对象 :
实例:
for each in "FishC"
	print(each)
输出:
F
i
s
h
C

列表

具体实例

fuu = [1,"two","老虎","铃兰","four"]

print(fuu)
#输出:[1,"two","老虎","铃兰","four"]

print(fuu[1])
#输出:two

print(fuu[-1])
#输出:four

print(fuu[0:3])
#输出:[1, 'two', '老虎']

print(fuu[0:3])
#输出:[1, 'two', '老虎']

print(fuu[:3])
#输出:[1, 'two', '老虎']

print(fuu[3:])
#['铃兰', 'four']

print(fuu[:])
#输出:[1, 'two', '老虎', '铃兰', 'four']

for each in fuu:
	print(each)
输出:
1
2
3
four
老虎
铃兰

列表跨度表达

原型:fuu(x,y,z)
(fuu是我自己定义的)
x:起始位置
y:终点位置
z:跨服

原型:fuu(x,y,z)
x:起始位置
y:终点位置
z:跨服
print(fuu[::2])
#[1, '老虎', 'four']			2表示跨度
print(fuu[0:5:2])
#[1, '老虎', 'four']		2表示跨度
print(fuu[0:5:1])
#[1, 'two', '老虎', '铃兰', 'four']		1表示跨度
print(fuu[0:5:-1])
#[]
print(fuu[::-1])
#['four', '铃兰', '老虎', 'two', 1]   -1表示跨度,输出倒序

列表添加元素

原型:heros.append() #添加单个元素
(heros为我自己定义的列表)

添加单个元素
原型:heros.append()
heros=["钢铁侠","绿巨人"]
heros.append("黑寡妇")
print(heros)
#['钢铁侠', '绿巨人', '黑寡妇']

添加多个元素
原型:heros.extend()

添加多个元素
原型:heros.extend()
heros.extend(["鹰眼","灭霸","雷神"])
print(heros)
#['钢铁侠', '绿巨人', '黑寡妇', '鹰眼', '灭霸', '雷神']

切片

切片:
s=[1,2,3,4,5]
s[len(s):]=[6]
s
>>>[1, 2, 3, 4, 5, 6]
s[len(s):]=[7,8,9]
s
>>>[1, 2, 3, 4, 5, 6, 7, 8, 9]

插入元素

原型:s.insert(x,y)
x:插入位置
y:插入元素

原型:s.insert(x,y)
x:插入位置
y:插入元素
s=[1,3,4,5]
s.insert(1,2)
s
>>>[1, 2, 3, 4, 5]
>s.insert(len(s),6) #len(s)代表最后一个元素
s
>>>[1, 2, 3, 4, 5, 6]

删除元素

原型:heros.remove(k) #k为要删除的元素

原型:heros.remove(k) #k为要删除的元素
heros=['钢铁侠', '绿巨人', '黑寡妇', '鹰眼', '灭霸', '雷神']
heros.remove('灭霸')
heros
>>>['钢铁侠', '绿巨人', '黑寡妇', '鹰眼', '雷神']

替换元素

heros[0]="黑豹"
heros
>>>['黑豹', '绿巨人', '黑寡妇', '鹰眼', '雷神']
heros[3:]=["武松","林冲","李逵"]
heros
>>>['黑豹', '绿巨人', '黑寡妇', '武松', '林冲', '李逵']

排序、查找、拷贝

正序:num.sort() #将所有元素从小到大排列
num.sort(reverse=True) #将所有元素从大到小排列
倒序:num.reverse() #将所有元素倒过来

正序:num.sort()  #将所有元素从小到大排列
num.sort(reverse=True)  #将所有元素从大到小排列
倒序:num.reverse() #将所有元素倒过来
num=[4,4,2,7,9,3,1,4,8,2,7,3,9]
num.sort()
num
>>>[1, 2, 2, 3, 3, 4, 4, 4, 7, 7, 8, 9, 9]
num.reverse()
num
>>>[9, 9, 8, 7, 7, 4, 4, 4, 3, 3, 2, 2, 1]

查找数量:num.count(x) #查找列表中 x 的数量

查找数量:num.count(x) #查找列表中 x 的数量
num
[9, 9, 8, 5, 7, 4, 4, 4, 3, 3, 2, 2, 1]
num.count(9)
>>>2
查找位置:num.index(x)  #查找列表中第一个x出现的位置,初始位置为0
num.index(x,y,z)   #在y~z区间内,查找第一个x出现的位置(y>=0)
num.index(7)
4
num.index(9)
0
#引用和拷贝的区别
#被引用的数据发生改变,引用者也会发生改变,但拷贝不会发生改变
#(只对一维列表以下有效)

引用:

#例:
num=[9, 9, 8, 5, 7, 4, 4, 4, 3, 3, 2, 2, 1]
numm=num
numm
>>>[9, 9, 8, 5, 7, 4, 4, 4, 3, 3, 2, 2, 1]
num[0]=1
numm
>>>[1, 9, 8, 5, 7, 4, 4, 4, 3, 3, 2, 2, 1]
numm[1]=0
num
>>>[1, 0, 8, 5, 7, 4, 4, 4, 3, 3, 2, 2, 1]
numm
>>>[1, 0, 8, 5, 7, 4, 4, 4, 3, 3, 2, 2, 1]

浅拷贝:num.copy()

浅拷贝:num.copy()
num=[9, 9, 8, 5, 7, 4, 4, 4, 3, 3, 2, 2, 1]
num1=num.copy()
num1
>>>[9, 9, 8, 5, 7, 4, 4, 4, 3, 3, 2, 2, 1]
切片浅拷贝:num2=num[:]
num2=num[:]
num2
>>>[9, 9, 8, 5, 7, 4, 4, 4, 3, 3, 2, 2, 1]
num[0]=1
num
>>>[1, 9, 8, 5, 7, 4, 4, 4, 3, 3, 2, 2, 1]
num1
>>>[9, 9, 8, 5, 7, 4, 4, 4, 3, 3, 2, 2, 1]
num2
>>>[9, 9, 8, 5, 7, 4, 4, 4, 3, 3, 2, 2, 1]
#当列表为二维以上时,浅拷贝也无法在发挥作用
num=[[1,2],[3,4],[5,6]]
num
>>>[[1, 2], [3, 4], [5, 6]]
import copy
num1=copy.copy(num)
num1
>>>[[1, 2], [3, 4], [5, 6]]
num[0][0]=7
num1
>>>[[7, 2], [3, 4], [5, 6]]

深拷贝:

#此时用深拷贝更为合适
num2=copy.deepcopy(num)
num[0][0]=9
num
>>>[[9, 2], [3, 4], [5, 6]]
num2
>>>[[7, 2], [3, 4], [5, 6]]
#浅拷贝像是复制的快捷方式,而深拷贝直接复制源文件

列表之间的相加

s=[1,2,3]
t=[4,5,6]
s+t
>>>[1, 2, 3, 4, 5, 6]
t+s
>>>[4, 5, 6, 1, 2, 3]

二维列表

创建二维列表:
Q=[0]*3					#3表示三行
Q
>>>[0, 0, 0]
for i in range(3):		
#这里的3也表示三行,并且由于上边定义三行,所以此处的3只能写<=3的数
    Q[i]=[0]*3			#此处的3为自定义,写多少自己定,没有限制
Q
>>>[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
for i in range(3):
    Q[i]=[0]*4
Q
>>>[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

mag[x][y]				#x代表第几行,y代表第几列
mag=[[1,2,3],[4,5,6],[7,8,9]]
mag
>>>[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for i in mag:
    for each in i:
        print(each)
     
>>>1
>>>2
>>>3
>>>4
>>>5
>>>6
>>>7
>>>8
>>>9
for i in mag:
    for each in i:
        print(each,end=' ')		#end=' '表示不换行
    print()						#print()表示换行
 
>>>1 2 3 
>>>4 5 6 
>>>7 8 9 
mag[0][1]
>>>2
mag[1][1]
>>>5
mag[2][1]
>>>8

列表推导式

x=[i for i in range(10)]
x
>>>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
x=[i+1 for i in range(10)]
x
>>>[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
oho=[1,2,3,4,5]
oho=[i*2 for i in oho]
oho
>>>[2, 4, 6, 8, 10]

关于字符串

#关于字符串
y=[c*2 for c in "FishC"]
y
>>>['FF', 'ii', 'ss', 'hh', 'CC']

Unicode编码

#Unicode编码
code =[ord(c) for c in "FishC"]
code
>>>[70, 105, 115, 104, 67]

从字符串中取值

#从字符串中取值
mog=[[1,2,3],[4,5,6],[7,8,9]]		
col=[row[1] for row in mog]			#从字符串每一行中取第二列的元素
col
>>>[2, 5, 8]

多个表达式推导

#多个表达式
even=[i for i in range(10) if i%2 ==0]
#先执行for 在执行if 最后执行i
even
>>>[0, 2, 4, 6, 8]
even=[i+1 for i in range(10) if i%2 ==0]
even
>>>[1, 3, 5, 7, 9]
#筛选首字母为F的单词
words=["Ewhun","Fbyuv","Dbubu","Fsoicb","Sbdch"]
fwords=[w for w in words if w[0]=='F']
fwords
>>>['Fbyuv', 'Fsoicb']
#二维列表一维化
mog=[[1,2,3],[4,5,6],[7,8,9]]
mog1=[i for x in mog for i in x]
mog1
>>>[1, 2, 3, 4, 5, 6, 7, 8, 9]
#笛卡尔乘积
[x+y for x in "vghhl" for y in "eiukj"]
>>>['ve', 'vi', 'vu', 'vk', 'vj', 'ge', 'gi', 'gu', 'gk', 'gj', 'he', 'hi', 'hu', 'hk', 'hj', 'he', 'hi', 'hu', 'hk', 'hj', 'le', 'li', 'lu', 'lk', 'lj']

元组

元组和列表很相似,但元组里的元素一旦定义就无法修改

maed=(1,)						#定义只有一个元素的元组需要加逗号
maeed=1,2,3,4,5,"上山打老虎" 	#元组定义方式
maeed
>>>(1, 2, 3, 4, 5, '上山打老虎')
maeed=(1,2,3,4,5,"上山打老虎")	#元组定义方式
maeed
>>>(1, 2, 3, 4, 5, '上山打老虎')
maeed[1]
>>>2
maeed[-1]
>>>'上山打老虎'
maeed[:3]						#元组也可使用切片
>>>(1, 2, 3)
maeed[3:]						#使用切片
>>>(4, 5, '上山打老虎')
maeed[-1]=5							#报错(不可修改)
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    maeed[-1]=5
TypeError: 'tuple' object does not support item assignment
nums=(3,4,2,5,1,4,5,6,5,7,3,9,0)
nums.count(3)			#查找3的数量
>>>2
heros=("蜘蛛侠","绿巨人","黑寡妇")
heros.index("黑寡妇")	
#查找元组中第一个"黑寡妇"出现的位置,初始位置为0
>>>2

元组相加得到新元组

s=(1,2,3)
t=(4,5,6)
q=s+t
q
>>>(1, 2, 3, 4, 5, 6)

嵌套的元组

w=s,t
w
>>>((1, 2, 3), (4, 5, 6))

迭代的元组

for i in q:
    print(i)
>>>1
>>>2
>>>3
>>>4
>>>5
>>>6

for i in w:
    print(i) 
>>>(1, 2, 3)
>>>(4, 5, 6)

for i in w:
    for j in i:
        print(j)    
>>>1
>>>2
>>>3
>>>4
>>>5
>>>6

列表推导式调用元组

q=(1,2,3,4,5,6)
c=[each*2 for each in q]
c
>>>[2, 4, 6, 8, 10, 12]

打包和解包

元组和列表以及字符串均可使用

t=(123,"铃兰","郁金")        #打包
t
>>>(123, '铃兰', '郁金')
x,y,z=t						#解包
x
>>>123
y
>>>'铃兰'
z
>>>'郁金'
a,b,c,d,e="ffghj"		
#五个字符必须用五个变量来表示,除非多重赋值
a
>>>'f'
b
>>>'f'
c
>>>'g'
d
>>>'h'
e
>>>'j'
w,e,r,t,q="给回家看看"
w
>>>'给'
e
>>>'回'
r
>>>'家'
t
>>>'看'
q
>>>'看'

多重赋值

*以前一一对应,以后的全部赋值给星星之后的变量

a,b,*c="ffghj"
a
'f'
b
'f'
c
['g', 'h', 'j']

可以改变的元组

如果元组里边的元素指向可以改变的列表,那么元组就是可以改变的

a=[1,2,3]
b=[4,5,6]
q=(a,b)			#将列表嵌套至元组
q
>>>([1, 2, 3], [4, 5, 6])
q[0][0]=5
q
>>>([5, 2, 3], [4, 5, 6])

字符串

回文

x="12321"
"是回文数" if x==x[::-1] else "不是回文数"
>>>'是回文数'
x="12345"
"是回文数" if x==x[::-1] else "不是回文数"
>>>'不是回文数'

关于字符大小写

.capitalize()

字符串首字母大写,其他字母小写

x="i love yoU"
x.capitalize()		#首字母大写,其他字母小写
>>>'I love you'
.casefold()

字符串所有字母小写(所有字母)

x.casefold()
>>>'i love you'
.title()

字符串中所有单词首字母大写

x.title()
>>>'I Love You'
.swapcase()

将字符串中的大小写反转

x.swapcase()
>>>'I LOVE YOu'
.upper()

字符串中所有字母大写

x.upper()
>>>'I LOVE YOU'
.lower()

字符串中所有字母小写(仅英文)

x.lower()
>>>'i love you'

对齐函数

x 为我们给字符串赋予的空间,
y 为我们给空的地方填充的东西(可以不添加y)

中间对齐:.center(x,y)
左对齐:.ljust(x,y)
右对齐:.rjust(x,y)
右对齐,左侧补零:zfill(x)
x="有内鬼,停止交易"
x.center(15)		#中间对齐
>>>'    有内鬼,停止交易   '
x.center(15,"杵")
>>>'杵杵杵杵有内鬼,停止交易杵杵杵'
x.ljust(15)			#左对齐
>>>'有内鬼,停止交易       '
x.ljust(15,"杵")
>>>'有内鬼,停止交易杵杵杵杵杵杵杵'
x.rjust(15,"杵")	#右对齐
>>>'杵杵杵杵杵杵杵有内鬼,停止交易'
>x.zfill(15)		#右对齐,其余补零
'0000000有内鬼,停止交易'

查找

查找数量:.count(x,y,z)

x:要查找的数据
y:查找起始位置(可选)
z:查找终止位置(可选)

x="上海自来水来自海上"
x.count("海")
>>>2
查找位置

.find(x)
.index(x)
#从左往右找x
.rfind(x)
.rindex(x)
#从右往左找x

x.find("海")
>>>1
x.rfind("海")
>>>7
x.index("水")
>>>4
x.rindex("海")
>>>7

替换

替换字符串内容: .replace(x,y)

把 y 替换成 x

"在吗?我在你家楼下,快点下来!!".replace("在吗?","想你,")
>>>'想你,我在你家楼下,快点下来!!'
str.maketrans(x,y,z)

x:表示要被替换的字符串
y:表示替换后的字符串,和x一一对应
z:忽略掉的字符串,不显示
配合使用:translate(str.maketrans(x,y))

table=str.maketrans("abcdef","123456")
"asdfghjk".translate(table)
>>>'1s46ghjk'
"asdfghjk".translate(str.maketrans("abcdef","123456"))
>>>'1s46ghjk'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值