Python基础②:基本数据类型

1、数字类型

1)数字类型的组成
  ① 整数
    默认十进制
    二进制0b开头,八进制0o开头,十六进制0x开头
    十进制与其他进制的转换,输出结果为字符串类型
       a=bin(16) # 转二进制
       b=oct(16) # 转十进制
       c=hex(16) # 转十六进制
    其他进制与十进制的转换,输出结果为整型
       d=int(a,2) # 二进制转十进制
       e=int(b,8) # 八进制转十进制
       f=int(c,16) # 十六进制转十进制
  ② 浮点数
    不确定小数问题
       (0.1+0.2)==0.3的结果是false
    引起该问题的原因是因为部分小数不能用二进制完全表示
  ③ 复数
    a+bj的形式
    当b=1时,这个1要显式写出
2)数字运算操作符
  加减乘除 + - * /: (1+3-4*2)/5
  取反 -:x= -x
  乘方 **:2**3 # 代表2的3次方
  整数商 //:13//5 # 向下取整数
  模运算 %:13%5 # 取余数
  整数与浮点数运算结果都是浮点
  除法运算结果都是浮点数
3)数字运算操作函数
  ① 求绝对值 abs():a = abs(-5)
  ② 求幂次方 pow(x,n):a = pow(2,5) # 求2的5次方
  ③ 四舍五入 round(x,n):a = round(a,2) # a四舍五入保留2位小数
  ④ 商和模运算 divmod(x,y):divmod(13,5) # 相当于 (x//y,x%y),更快一点
  ⑤ 最大/最小值 max() min()
  ⑥ 求和 sum(列表或元组)

2、字符串类型

1)字符串的表达:字符串中要用到引号,可以在前面加上转义符 \
2)字符串的性质
  ① 字符串的索引:可以通过下标获取字符串中的字符
    正向索引:print(s[0])
    反向索引:print(s[-1]) # 倒数第一个字符
  ② 字符串的切片:变量名[开始位置:结束位置:切片间隔]
    s = 'Python'
    print(s[0:3:1]) # 结果是Pyt,切片是左闭右开
    print(s[:5:2]) # 结果是Pto,起始位置是0的话就可以省略
    print(s[1:]) # 结果是ython,起始位置是最后的话也可以省略
3)字符串操作符
  ① 拼接 +:将两个字符串进行拼接
    a='I love '
    b='you'
    print(a+b) # 结果是I love you
  ② 成倍复制 *:复制字符串
    b='you'
    print(b*3) # 结果是youyouyou
  ③ 成员运算 in:判断是否是子集
    b='Peter, Paul and Mary'
    'Peter' in b # 结果是True
  ④ 遍历 in:遍历字符串字符
    for i in 'Python':
        print(i)
4)字符串处理函数
  ① 字符串长度:len(字符串)
  ② 字符编码:python使用的是Unicode编码
5)字符串处理方法
  ① 分割:字符串.split(分割字符)
    a='I love you'
    print(a.split(' '))
    # 结果返回的是列表:['I', 'love','you']
    # 原字符串没有改变
  ② 聚合:聚合字符.join(可迭代数据类型)
    a='12345'
    b='['1','2','3','4','5']
    a_join= ".".join(a)
    b_join= "*".join(b)
    print(a_join)
    print(b_join)
    # 结果:'1.2.3.4.5'
    # 结果:'1*2*3*4*5'
  ③ 删除两端特定字符:字符串.strip(删除字符)
  ④ 字符串替换:字符串.replace(“被替换”,“替换成”)
  ⑤ 字符串替换:字符串.replace(“被替换”,“替换成”)
  ⑥ 字符串统计:字符串.count(“要统计的字符串”)
  ⑦ 字母大小写和首字母大写:字符串.upper()、字符串.lower()、字符串.title()

3、布尔类型

1)逻辑运算的结果

a = 10
print(a > 8)  # True
print(a == 12)  # False
print(a < 5)  # False
print(any([False,1,0,None]))  # True,any判断是否有True的
print(all([False,1,0,None]))  # False,all判断是否都是True的

2)指示条件

n = 2800
while True:
	m = evla("请输入一个数字")
	if m == n:
		print("你猜对了")
		break	# 跳出循环
	elif m > n:
		print("太大了")
	else:
		print("太小了")

4、类型判别及类型转换

1)类型判别
  ① type(变量)
    a=12345
    b='12345'
    print(type(a))
    print(type(b))
    # <class 'str'>
    # <class 'int'>
  ② isinstance(变量,预判类型):判断变量是否为预判类型
    print(isinstance(a,int))
  ③ isinstance(变量,预判类型):判断变量是否为预判类型
  ④ 字符串.isdigit():判断字符串是否只含数字
  ⑤ 字符串.isalpha():判断字符串是否只含字母
  ⑥ 字符串.isalnum():判断字符串是否只含数字和字母
2)类型转换
  ① 数字类型转字符串:str(数字类型)
    age = 20
    str_age = str(age)
  ② 仅有数字组成的字符串转成数字:int()、float()、eval()
    age = "20.1"
    int_age = int(age) # 只保留整数部分
    float_age = float(age)
    eval_age = eval(age)

发布了12 篇原创文章 · 获赞 14 · 访问量 4850

猜你喜欢

转载自blog.csdn.net/weixin_38608322/article/details/104015072