Python基础_Day05

常用的数据类型的使用方法

1.1 数值类型

包含三种数据类型: int float complex

将数据转换为整型 int(数据)

将数据转换为浮点 float(数据)

系统提供的内置方法

1.比较两个数据的大小
	python2.x中使用的方式cmp(x, y)
	python3.x中这种种方法被舍弃了   (x>y) - (x<y)
		将True视作1  将False视作0
		前者 > 后者  结果为1
			<           -1
			=			0
2.获得序列中的最值
	max(序列, key=func)
	min(序列, key=func)
	key接受的是一个函数 作用:
		将进行比较的每一个数据依次传入函数中 返回每一个数据进行比较的状态数据
3.abs(数据) 求绝对值
4.round(number,[digit])
	如果不给digit赋值  那么最后数据没有小数
	如果想保留对应位数的小数 给digit赋予对应的位数
5.pow(x, y)---> 求x**y
x = 18
y = 17
res = (x > y) - (x < y)
print(res)

def compare(x, y):
    if x > y:
        return 1
    elif x < y:
        return -1
    else:
        return 0

res = max("abcdefg")
print(res)

res = max([12, 34, 65, 17, 28])
print(res)

res = max(12, 45, 67, 87, 29)
print(res)
'''
函数可以当做值被进行传递 将函数当做值来进行传递时 不要函数明后面添加小括号
添加上小括号之后 相当于调用函数 把函数的运行结果赋予给执行的变量
所以只需赋予函数名即可 这样的话 对应的变量也具有函数的功能
'''
f = print
f(100)

# 忽略正负的情况下获得最大值
res = max(-10, -55, 77, 99, -101, key=abs)
print(res)
# key接受的是一个函数,将每一个数据传入到函数中 返回进行比较大小的那种数

# 四舍五入
res = round(3.5415926)
print(res)	# 这种情况下 默认是不保留小数的

res = round(3.5415926, 3)
print(res)

# 求幂数 x的y次方
res = 10 ** 2
print(res)
# math.pow()
res = pow(10, 2)
print(res)

# 导入模块 如果导入时 显示红色下划线 在file-settings-project---project interpreter---开发环境
import math
print(math.pi)

# 向上求整 --->大于等于数据的最接近的整数
res = math.ceil(18.1)
print(res)

# 向下求整 --->小于等于数据的最接近的整数
res = math.floor(18.9)
print(res)

# 开平方
res = math.sqrt(8)
print(res)

系统提供的数学模块 - math

三角函数  sin() cos()
圆周率    math.pi
向上求整  math.ceil(数据)
向下求整  math.floor(数据)
开平方    math.sqrt(数据)

1.2字符串类型

字符换数据:

字符串对象一旦内容确定 就不可以再发生变化

---> 字符串数据是不可变的,一旦发生变化,本质是新生成一个内容,与原来内容无关字符串也有索引, 为每个字符都添加了编号

#字符串的拼接
str0 = "abc"
str1 = "adc"
res = str0 + str1

str0 = "hello nice to meet you"
print(str0[0])
# 获得序列的长度
# 内置方法--->len(序列)
res = len(str0)
print(res)

# 获得指定索引位置的字符
# 索引的取值范围 [0, len(str0) - 1]
# 也可以通过负值来获取 [-len(str0), -1]
res = str0[4]
print(res)
res = str0[-1]
print(res)

# 获得子串--->切片
'''
切片语法:
    序列[start:stop:step]
    step 值默认为1
    start 和 stop不传值 默认是从头到尾
'''
sub_str = str0[::]
print(sub_str)

# 跳跃取值 使用步长
sub_str = str0[::2]
print(sub_str)

# 只传起始位置 默认是从起始位置到最后
sub_str = str0[1::]
print(sub_str)

# 不传起始位置 只传结束位置 [0, stop)
sub_str = str0[:3:]
print(sub_str)

# [start, stop)
sub_str = str0[1:3:]
print(sub_str)

# 反转
reverse = str0[::-1]
print(reverse)

str0 = "hello nice to meet you too"
'''
获得某个子串第一次出现的位置索引,找不到返回-1
如果查找的是连续的字符序列,返回的是第一个字符对应的索引位置
从左向右找 第一次出现的位置
'''
index = str0.find("to")
print(index)

# 指定起始位置进行查找
index = str0.find("to", 12)
print(index)

# 指定区间进行查找
index = str0.find("to", 12, 20)
print(index)

# 从右向左找 指定字符串第一次出现在整个字符串的位置
index = str0.rfind("to")
print(index)

# 类似find的方法,区别: 这个是找不到报错
index = str0.index("mo")
print(index)

str0 = "hello nice to meet you too"
# 统计字符串中某个子串出现的次数:数过了不用管了,继续向下数
num = str0.count("o")
print(num)

str0 = "kkeekkkfabckkkkk"
num = str0.count("kk")
print(num)

# 从某个位置开始数
num = str0.count("kk", 5)
print(num)

# 指定区间
num = str0.count("kk", 5, 10)
print(num)

# 切割字符串: 根据指定的切割符位置 对字符串进行分割 返回的是列表来保存被分割出来的子串
# 不指定切割符 默认以空白为切割符进行切割
str0 = "hello nice to meet you too\nmeet you too"
sub_list = str0.split()
print(sub_list)

# 指定字符为切割点
sub_list = str0.split("h")
print(sub_list)

# 设置切割次数
sub_list = str0.split(maxsplit=3)
print(sub_list)

# 去除掉字符串两端指定内容
str0 = "   abc   abc    abc      "
print(str0)
res = str0.strip()  #不传参去除的内容默认去除的是空白
print(res)

str0 = "[12, 34, 56]"
res = str0.strip("[")
print(res)
res = res.strip("]")
print(res)

str0 = "123abcd123"
res = str0.strip("123")
print(res)

# 只去除左边
res = str0.lstrip("123")
print(res)

# 只去除右边
res = str0.rstrip("123")
print(res)

转义符 \
	  \n--->换行
想显示\的原本状态,就\进行转义,转义成本身的含义
-(-10) = 10
'''
res = "m\\nn\\t\\r"
print(res)
'''
# r的修饰 可以保持字符串内容的本意
res = r"m\nn\t\r"
print(res)

res = r"c:\Documents\讲课内容\BJ_Python1811\day05\notes"
print(res)

# 想显示的字符串内容 你好 --->"hello"
res = '你好 ---> "hello"'
print(res)

res = "你好 ---> \"hello\""
print(res)

# 判断的方式
str0 = "testpngAV"
#1. 查看字符串是否以指定内容开头
res = str0.startswith("t")
print(res)

#2.查看字符串是否以指定内容结尾
res = str0.endswith("test.png")
print(res)

#3. 判断字符串的内容是否是纯英文字母
res = str0.isalpha()
print(res)

#4. 判断字符串的内容是否是纯数字
str0 = "10"
res = str0.isdigit()
print(res)

# 转换的操作
str0 = "testpngAV12"
#1. 将小写字母转换为大写字母
res = str0.upper()
print(res)

#2. 将大写英文字母转换为小写
res = str0.lower()
print(res)

#3. 将字符串中大写转化为小写 小写转换为大写 其他保持不变
res = str0.swapcase()
print(res)

#4. 将首字母转化为大写
res = str0.capitalize()
print(res)

#5. 将每个单词的首字母转换为大写 [单词和单词之间使用空格隔开]
str0 = "Hello nice to Meet you"
res = str0.title()
print(res)

# 替换
str0 = "box boxes boxes Boss"
res = str0.replace("b", "B", 2)
print(res)

# 拼接 以指定拼接符拼接序列中的内容
list0 = ["10", "20", "30", "40"]
# 10-20-30-40
res = "-".join(list0)
print(res)

# 对字符串进行编码和解码
# 编码: 按照指定的编码方式 获得字符所占用的字节数据  b''--->表示字节数据
# 解码: 按照指定的解码方式 获得字节数据对应的字符
# 编码为utf-8
res = "你好".encode("utf-8")
print(res)

# 编码为gbk
res = "你好".encode("gbk")
print(res)

# 将字节数据解码成对应的字符
res = b'\xe4\xbd\xa0'.decode("utf-8")
print(res)

# 将字节数据解码成对应的字符
res = b'\xc4\xe3'.decode("gbk")
print(res)

猜你喜欢

转载自blog.csdn.net/weixin_42076261/article/details/88378529