代码改变世界

Python中的基础数据类型(String,Number)及其常用用法简析

2020-05-19 11:50  zouhui  阅读(161)  评论(0编辑  收藏  举报

前言

    哈喽,各位小伙伴们,相信大家和我一样,在开始接触Python这门语言的时候,会遇到很多困难。这边小编简单为大家总结下Python的基本数据类型,方便查看记忆。这没什么难点,只是琐碎了一些...

Python中的数据类型

Number(数字)

String(字符串)

List(列表)

Tuple(元组)

Set(集合)

Dictionary(字典)

分类

不可变数据类型:Number、String、Tuple

可变:List、Dictionary、Set

变量在Python中的操作

python支持多变量赋值,如:

a = b = c = 1
print(a)
print(b)
print(c)

此时三个变量a=1, b=1, c=1

a, b, c = 1, 2, 3
print(a)
print(b)
print(c)

此时a=1,b=2,c=3

这样可以互换两个变量的值,如:

a = 1
b = 2
a, b = b, a
print(a)
print(b)

不难发现a,b这两个变量的值已经交换了...

而其他语言只能利用第三个变量完成两个变量的交换:

a = 1 # 赋值
b = 2 # 赋值


c = a # 将第一个变量的值赋值给第三个变量,此时c保存了1
a = b # 将第二个变量的值赋值给第一个变量,此时a保存了2
b = c # 再将定义的第三个变量的值赋值给第二个变量,此时c保存的1赋值给b,完成交换
print(a)
print(b)

查看数据类型

type(x),如:

a, b, c = 1, True, 1.0
print(type(a), type(b), type(c))
# 结果<class 'int'> <class 'bool'> <class 'float'>
a, b, c = '1', 'True', '1.0'
print(type(a), type(b), type(c))
# 结果<class 'str'> <class 'str'> <class 'str'>

Number

temp = '123'  # 非数字字符串会出错
print(type(temp))  # <class 'str'>
res = int(temp)
print(type(res), res)  # <class 'int'> 123
temp = "b"
res = int(temp, base=16)  # 这里可以指定进制,注意不要超出进制范围,默认10进制
print(type(res), res)
print(1 == True)  # True
print(0 == False)  # True

    关于Number类型知道与String相互转换,其他的数学运算几乎用不到,想了解请自行尝试,内容如下:

abs(x)返回数字的绝对值
ceil(x)向后取整
cmp(x,y)若x < y 返回-1, 若 x == y 返回0, 若 x > y 返回1。Python 3 使用 (x>y)-(x<y) 替换
exp(x)返回e的x次幂(ex)
fabs(x)返回数字的绝对值
floor(x)向前取整
log(x)返回x的自然对数,x>0
log10(x)返回以10为基数的x的对数
max(x1,x2...)返回给定参数的最大值,参数可以为序列
min(x1,x2...)返回给定参数的最小值,参数可以为序列
modf(x)返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示
pow(x,y)返回x**y 运算后的值
round(x[,n])返回x四舍五入的值,n为保留小数位数
sqrt(x)返回数字x的平方根

String

获取字符串的长度
temp = 'hahahahahahaha'
print(len(temp)) # 14

切片取值
# [起始位置索引:结束位置索引,不包含:步长]
temp = "abcdefg"
res1 = temp[::] # 注意:不可少
print(res1) # abcdefg
res2 = temp[0:-1:2]
print(res2) # ace

字符串的格式化
# 按默认一对一格式化
temp1 = "我叫{},今年{}岁了!"
res1 = temp1.format('咸鱼',22)
print(res1) # 我叫咸鱼,今年22岁了!


# 按索引格式化
temp2 = "我叫{1},今年{0}岁了!"
res2 = temp2.format('咸鱼',22)
print(res2) # 我叫22,今年咸鱼岁了!


# 键值对
temp3 = "我叫{name},今年{age}岁了!"
res3 = temp3.format(age=22,name='咸鱼')
print(res3) # 我叫咸鱼,今年22岁了!

find
# 找到第一个位置   .find("e",[开始位置],[结束位置]) 注意不包含结束位置 <=开始位置 >结束位置
# 找到返回索引 找不到返回-1
temp = "hahe"
res = temp.find("h",1,3)
print(res)

lower
# 将字符串中的所有大写字母转换为小写字母
temp = "AAAaaaBBbb"
res=temp.lower()
print(res) # aaaaaabbbb

upper
# 将字符串中的所有小写字母转换为大写字母
temp = "abc"
res=temp.upper()
print(res) # ABC

strip
# 删除字符串的前后空格(换行、制表符、指定参数)
# 默认删除换行符,制表符,空格等特殊符号
temp = "     a aa   \n "
res=temp.strip( )
print(res) # a aa

join
# 字符串拼接
# join方法是将字符串的每一位与调用的字符串进行拼接,除最后一位
temp1 = 'abcd'
temp2 = '-'
res1 = temp2.join(temp1)
print(res1) # a-b-c-d


# 并不是两个字符串直接拼接
temp3 = 'abc'
temp4 = '123'
res3 = temp3+temp4
print(res3) # abc123

replace
# 替换指定字符串replace('需要更新的字符串','更新的字符串',[更新几个字符串,默认全部,超过位数不报错])
temp = 'hahahaha'
res = temp.replace("a", "e", 50)
print(res) # hehehehe
    关于字符串的内置函数无敌的多,其他实际也用不到...我就懒了...欢迎大家在留言区补充......

—END—