首页 > 其他 > 详细

3.数据类型

时间:2021-03-22 22:44:46      阅读:49      评论:0      收藏:0      [点我收藏+]
数据类型

数字类型方法

python自带方法

round

四舍六入五成偶 不是四舍五入

什么是五成偶?

五成偶的意思是,当下一个数字是偶数的时候实行四舍五入,当下一个数字是奇数的时候四舍六入

>>> print(round(5.1))
5
>>> print(round(5.5))
6
>>> print(round(4.5))
4

abs

取绝对值

math

在python中自带了一个math的类,我们可以使用这个类来调用很多的计算方法。

import math     #调用math类

ceil

ceil是用来向上取整用的

floor

floor和ceil相反,是向下取整用的

pow

pow是用来计算x的y次方 (x,y)

>>> print(pow(4,4))
256

布尔类

bool() 函数用于将给定参数转换为布尔类型,如果没有参数,返回 False。

>>> print(bool(3 > 2))
True
>>> print(bool(3 == 9/3))
True
>>> print(bool(3 > 9/3))
False
>>> print(bool(""))
False

bool只是用来判断指定的值是否为真,也就是说只要数字不是0就为真

对于字符串、列表、元组、字典而言,只要非空它就是True

None永远表示False

字符串介绍及存储方式

字符串

字符串是python中最常用的数据类型之一

字符串是不可变的序列数据类型

定义字符串

s1 = "hello world"
s2 = ‘hello world‘
s3 = "{‘name‘:‘age‘}"

那么如果我们现在想要换行怎么办呢

我们可以使用"\n"来换行,也可以通过三个 双/单 引号来保留原本字符串的格式:

>>> s4 = """hello
... world"""
>>> print(s4)
hello
world

存储方式

整型在内存中占一个字节,字符串不管中间有多少内容都要单独存储,而且是有序排列存储

技术分享图片

字符串索引及切

在上述的存储方式中提到,字符串都是有序排列存储的。第一个字节的索引为0,第二个索引为1,第三个为2,一次排序。在字符串中空格也占一个字节。

通过下标来取值

>>> juzi = "hello python"
>>> juzi[0]
‘h‘
>>> juzi[1]
‘e‘
>>> juzi[-1]
‘n‘

len方法可以获取字符串的长度

>>> juzi[len(juzi)-1]
‘n‘

那么我们执行以下代码的时候能够更改指定的字符串吗

>>> juzi[2] = "1"

答案是不能的,因为字符串是不可变的序列数据类型

切片

在python中可以用切片的方法来指定多个字节。

>>> juzi[6:12]
‘python‘

注意这个范围是左闭右开结构的也就是说包含7-12字节的东西

同时如果冒号后面不写数字那就是默认取到最后面

如果冒号前后都不写,那就是取全部的值

切片步长

>>> juzi[::2]
‘hlopto‘
>>> juzi[::-1]
‘nohtyp olleh‘

字符串方法

整数和字符串

int()将10进制字符串整数转为整数

str()将整数转换为字符串

字符串格式化

>>> name = "jerry"
>>> age = 19
>>> print("%s年龄是%d"%(name,age))
jerry年龄是19
>>> print("{}年龄是{}".format(name,age))
jerry年龄是19
>>> print("{}年龄是{}".format(age,name))
19年龄是jerry
>>> print("{1}年龄是{0}".format(age,name))
jerry年龄是19

从上面的内容中,我们可以知道。可以使用%来占位,也可以使用{}表示索引。

如果format前面的花括号中没有指定索引,那就默认为0,1,2,3,......

还有一种更方便的写法,但是只适合python3.6以上的版本

>>> print(f‘{name}的年龄是{age}‘)
jerry的年龄是19

find

find用于在字符串中查找内容,并返回内容在字符串中的索引

>>> s1 = ‘hello Python‘
>>> print(s1.find(‘P‘))
6
>>> print(s1.find(‘l‘))
2
>>> print(s1.find(‘1‘))
-1

当查找的内容在字符串中重复出现,那他就会返还最先找到的那个的位置

当查找的内容在字符串中没有找到,那他就会返还-1

rfind

和find的功能差不多,但是是从右边开始查找内容

index

和find的功能一样,但是如果查找的内容在字符串中没有找到,那他就会报错

replace

replace就是替换的意思,但是不改变原有的数据(浅复制)

>>> print(s1.replace("Python","Human"))
hello Human

那如果要指定替换的次数呢

>>> s2 = "你是谁 你是谁 你是谁"
>>> print(s2.replace("你是谁","请问"))
请问 请问 请问
>>> print(s2.replace("你是谁","请问",2))
请问 请问 你是谁

可以发现,我们可以在后面指定替换的次数

split

分割字符串

>>> print(s2.split(" "))
[‘你是谁‘, ‘你是谁‘, ‘你是谁‘]

startswith

startswith是用来判断字符串开头是否为指定的内容

>>> s3 = "Hello my bigmax"
>>> print(s3.startswith("Hello"))
True
>>> print(s3.startswith("H"))
True
>>> print(s3.startswith("h"))
False

endswith

endswith是用来判断字符串最后是否为指定的内容

非常的常用,可以用来判断文件的类型(.exe .jpg)

upper

将字符串全部转为大写

lower

将字符串全部转为小写

strip

用来去字符串头尾的空格不可以去掉字符串中间的空格

isalpha

判断字符串是否是全字母

isdigit

判断字符串是否全部是数字

isalnum

判断是否是全数字或字母

join

将序列中的元素以指定的字符连接生成一个新的字符串

>>> li = [‘1‘,‘2‘,‘3‘,‘4‘]
>>> s = ‘‘.join(li)
>>> print(s)
1234

>>> ss = "hello"
>>> ss1 = ‘ ‘.join(ss)
>>> print(ss1)
h e l l o

join参数只能传入可迭代的对象,数字类型不是可迭代的对象

3.数据类型

原文:https://blog.51cto.com/14784139/2668722

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!