Python18-数据类型


数据类型

什么是数据类型

数据类型就是数据所属的种类

生活中数据类型

Python数据类型

  • 基本数据类型
    整数类型(int)、浮点数类型(float)、布尔类型(bool)
    只能存储一个数据,而且数据只能整体使用,不能使用其中一部分
    比如a=234,234是一个整体,是一个数,不能拆出2、3、4来使用
  • 序列数据类型--称为容器
    字符串类型(str)、列表(list)、元组(tuple)、集合(set)、字典(dict)
    可以存储多个元素/数据,既可以整体使用,也可以使用其中一部分
    比如a='欧阳奋强',可以整体使用a表示一个人的名字,也可以使用一部分比如欧阳,表示姓氏
    序列:数据成员(数据中的每一个)有序号/下标
    注意:变量没有类型,关联的对象才有类型

None

None 空
# 占位:只希望有一个变量,但指向的对象还不能确定
skill = None
# 绑定数据
skill = '乾坤大挪移'
# 解除与对象的绑定关系
name = None

整数类型(int)

整数类型包括:正整数、负整数、零
number01 = -1
number01 = 1
number01 = 0
字面值:
    十进制:5
    二进制:0b或者0B开头,后跟1或者0
    八进制:0o或者0O开头,后跟0~7
    十六进制:0x或者0X开头,后跟0~9,A~F,a~f
# 十进制:0 1 2 3 .. 9 10 逢十进一
# 二进制:0 1 10 11 100 101 111 逢二进一
number02 = 0b10 # 0b或者0B表示二进制
print(number02)
# 八进制:0 1 2 3 ... 7 10 逢八进一
number03 = 0o10 # 0o或者0O表示八进制数
print(number03)
# 十六进制:0 1 2 3 ...9 A(10) B C D E F(15) 10
number04 = 0x10 # 0x或者0X表示十六进制
print(number04)

浮点数类型(float)

小数类型又称为浮点数类型 
浮点数类型表示的是带小数点的数据,也称为实数
是由整数和小数组成,中间使用小数点
例如:
  n7 = 3.14  
  n8 = 3.23E-3
小数值表示方法:
  (1)一般形式  7.5678
  (2)科学计数法  2.13e3  4.45E-2
                2.13e3  相当于  2.13 * 10的三次方
                4.45E-2  相当于  4.45 * 10的负二次方
  (3)特殊情况 
  小数部分为0,可以不写 
    例如: 19.0  相当于 19.
  整数部分为0,可以不写
    例如: 0.234 相当于 .234

布尔类型(bool)

布尔类型表示逻辑值
用来表示真和假,是或否,成立或不成立,满足或不满足的类型
布尔类型的值:
    True表示真(条件满足或成立)
    False表示假(条件不满足或不成立)
例如: flg = True  f1 = False
布尔类型的本质是整数类型
	0表示假的情况,1(非0)表示真的情况
命题:带有判断性质的陈述句
转换为布尔类型:bool(数据)
    结果为False:bool(0) bool(0.0) bool(None)

字符串(str)

字符串是一个有序的字符集合,主要用于存储和表示文本
字符串在Python中由单引号、双引号、三个单引号或者三个双引号括起来的一串字符
定义:由一系列字符组成的不可变序列容器,存储的是字符的编码值
	字符串既能整体使用,也能使用部分数据
相关概念:
    字节byte:计算机最小存储单位,等于8位bit
    字符:单个的数字,字母,文字与符号
    字符集(码表):存储字符与二进制序列的对应关系
编码:将字符转换位对应的二进制序列的过程
解码:将二进制序列转换位对应的字符的过程
编码方式:
    ASCII编码:包含英文、数字等字符,每个字符1个字节
    GBK编码:兼容ASCII编码,包含21003个中文;英文1个字节,汉字2个字节
    unicode字符集:国际统一编码,旧字符集每个字符2个字节,新字符集4个字节
    UTF-8编码:Unicode的存储与传输方式,英文1个字节,中文3个字节
相关函数:
    ord(字符串) :返回该字符串的Unicode码
    chr(整数):返回该整数对应的字符串
字符串特点:
	只能被重新赋值,不能修改某个字符的值,字符串是不可变的
	字符串中每个字符都有唯一一个编号(下标/序号),从0开始,python会给字符串中的字符自动编号
	字符串中的每个字符称为元素/成员
s='hello' # 01234 
比如,不允许/无法直接修改h为H 
不允许s[0]='H' 
允许s='Hello'
例如:
name = 'rose'
address = "北京市朝阳区"
sex = '''男'''
email = """zhang@tedu.cn"""
-----------------------------------
str1 = 'Python是'最牛'的语言之一'-- 错误
str2 = 'Python是"最牛"的语言之一'
print(str2)
str3 = "Python是"最牛"的语言之一"-- 错误
str4 = "Python是'最牛'的语言之一"
print(str4)
口诀:单对双、双对单

字符串编码

# 字 -->数
number = ord('天') # 返回该字符串的Unicode码
print(number)

# 数 -->字
str01 = chr(97) # 返回该整数对应的字符串
print(str01)

字符串字面值

name01 = "悟空"
name02 = '悟空'
# 三引号:可见即所得
name03 = '''
    悟
    
空'''
name04 = """悟空"""
message01 = "我是'齐天大圣'孙悟空."
message02 = '我是"齐天大圣"孙悟空.'
message03 = """我是'齐天大圣'"孙悟空"."""
print(message01)
print(message02)
print(message03)

使用字符串表示用户ID、昵称、所在地区城市等

'E_bfutdvu'
"因为有你"
"山西-太原"
#打印出这些信息来
print('E_bfutdvu')
print("因为有你")
print("山西-太原")

获取字符串的个数:len()

len('E_bfutdvu')
print(len('E_bfutdvu'))
print(len("因为有你"))
print(len("因为 有你"))
print(len("因为 有你 "))

通过input()键盘输入给对方留言,获取留言总字数。

'''练习:给Ta的留言
考查知识点:
  input()
  len()
'''
# 使用input()指令实现键盘输入操作。将输入的内容放到一个临时的盒子中
# my_message里面装的内容,是字符串类型的。
my_message = input()
print("输入的留言是:", my_message)
# len("今天去玩不")
# 通过len()获取盒子中装了多少个字符
print(len(my_message))

复数complex

注意:只有python语言中有,在做人工智能运算时使用
由实部和虚部组成的数字
虚部是以j或J结尾
字面值:1(虚部)j 1(实部)+1(虚部)j 1-1j

数据类型的升级

整数和小数进行计算时,结果是小数类型,自动升级

print(1.0+3),结果是:4.0
print(1.1+3),结果是:4.1
"""
	此程序演示:数据的升级与转换
"""
# 如果是整数+小数,结果:小数类型
print(1.0+3)# 4.0,会先把3转换成3.0,然后使用1.0+3.0得到结果是4.0

相关