数据类型和变量&输入输出

一、数据类型和变量【重点掌握】

1.常用数据类型

顾名思义,计算机就是用来做数学计算的机器,因此,计算机程序理所当然的可以处理各种数值。但是,计算机能处理的远远不止数值,还可以处理文本,图形,音频,视频,网页等各种各样的数据,而处理不同的数据,需要使用不同的数据类型来进行表示

数字型:整型【int】,浮点型【float】,复数【complex】

布尔型:bool,只有两个值,True和False

字符串型:str

列表:list

元组:tuple

字典:dict

集合:set

字节:bytes

空值:None

#  1.数字型:整型【int】,浮点型【float】,复数【complex】
num1 = 34
print(type(num1))   # <class 'int'>
num2 = 56.8
print(num2,type(num2))  # 56.8 <class 'float'>
num3 = 10 + 3j
print(num3,type(num3))   # <class 'complex'>


#  2.布尔型:bool,只有两个值,True和False
b1 = True
b2 = False
print(b1,b2)
print(type(b1),type(b2))  # <class 'bool'>
# 使用场景:如果某种情景只有两种状态

# 注意:True相当于1,False相当于0
print(b1 + 2)
print(b2 + 2)

#  3.字符串型:str
# 注意1:字符串是由若干个字符组成的一个序列,字符可以是数字,字母,符号,中文等
# 注意2:字符串可以用单引号,双引号或三引号表示
str1 = '34ahjg计算机%¥#@'
print(str1,type(str1))

str2 = "34ahjg计算机%¥#@"
print(str2,type(str2))

# 注意3:使用三引号,其中的内容可以换行
str31 = """111
222
333"""
print(str31)

str32 = '''111
222
333'''
print(str32)

# \n字符表示换行
str4 = '111\n222\n333'
print(str4)

# 注意4
a = 10     # 数字
b = "10"   # 字符串


#  4.列表:list
list1 = [4,6,67,8,8]
print(list1,type(list1))
list2 = [4,6,True,"abc",65.8]
print(list2)

#  5.元组:tuple
tuple1 = (4,6,67,8,8)
print(tuple1,type(tuple1))
tuple2 = (4,6,True,"abc",65.8)
print(tuple2)

# 列表和元组的相同点:列表和元组中可以存储不同类型的数据,同时二者都是有序的
# 不同点:表示不同:[]和(),列表是可变的,元组是不可变的

# 注意1:当元组中只有一个元素的时候,需要在元素的后面添加逗号,否则认为是元素的数据类型
list2 = [34]
print(list2,type(list2))
# tuple2 = (34)     # 34 <class 'int'>
tuple2 = (34,)      # (34,) <class 'tuple'>
print(tuple2,type(tuple2))

# 6.字典:dict
# 注意:其中存储的是键值对
dict1 = {"name":"张三","age":18}   # <class 'dict'>
print(dict1,type(dict1))

# 7.集合:set
set1 = {45,78,8,9,90}
print(set1,type(set1))  # <class 'set'>

# 注意1:当{}为空,默认表示字典
r = {}
print(type(r))  # <class 'dict'>

# 8.字节:bytes
# 注意1:主要用于和字符串之间进行相互的转化,表示编解码
bytes1 = b"hello"
print(bytes1,type(bytes1))   # b'hello' <class 'bytes'>
bytes2 = b'hello'
print(bytes2,type(bytes2))

# 9.空值:NoneType
# 注意1:当定义一个变量,但是不知道该表示为什么类型的时候,可以暂时表示成None,在代码实现的过程中修改为指定的数据
n = None
print(n,type(n))   # None <class 'NoneType'>


# 【面试题】请列出Python中常用的数据类型,至少5种
2.变量使用

程序在运行的过程中,表示的值可以随时发生改变的标识符

在程序设计中,变量是一种存储数据的载体【容器】

语法:变量名 = 值

说明:变量名其实就是一个标识符

2.1定义变量
"""
注意:
    a.定义变量的语法:变量名  = 值
    b.一个变量的类型取决于该变量指向的数据,如:num = "fahga"
    c.一个变量一旦被定义完成,该变量就会在内存中开辟一份空间
    d.变量是一种存储数据的载体,一个变量中存储的是指定数据的地址
"""

# 1.定义
# num = 10会在内存中开辟一份空间,该空间中存储的是数据10,该空间被命名为num

# num是变量名或引用,10被称为初始值【第一次给变量赋的值被称为初始值】
num = 10
print(id(10))
print(id(num))

# 2.重新赋值
# 在程序运行的过程中,变量的值是可以随时发生改变的
name = "jack"
print(name)
name = "tom"
print(name)
name = 45
print(name)

# 3.常量
# 常量命名法:所有的英文字母全部大写,不同单词之间使用下划线连接
# 常量的本质还是一个变量,仅仅只是一个标记,表示该值不需要被修改
PI = 3.1415
print(PI)
PI = "gjkgj"
print(PI)

# 练习:从控制台输入圆的半径,计算该圆的周长和面积,圆周率可以定义为常量3.14
"""
PI = 3.14
radius = float(input("请输入圆的半径:"))
# * :乘法
length = 2 * PI * radius
area = PI * radius * radius
print(length)
print(area)
"""


# 4.同时定义多个变量
# a.同时定义多个变量,有相同的初始值
n1 = n2 = n3 = 10
print(n1,n2,n3)

# b.同时定义多个变量,有不同的初始值
# 用下面的方式定义多个变量,变量名的数量和数据的数量必须完全匹配
m1,m2,m3 = 10,20,30
print(m1,m2,m3)

# m1,m2,m3 = 10,20,30,40   # ValueError: too many values to unpack (expected 3)
# m1,m2,m3 = 10,20    # ValueError: not enough values to unpack (expected 3, got 2)

# 练习:语句a, b=10,20执⾏后,a的值是( 10  );语句a, a = 10, 20 执⾏后,a的值是(  20 )。
a, b=10,20
print(a)
a, a = 10, 20
print(a)

# m1,m2,m3 = 10,20,30语法的应用:
# 【面试题】交换两个变量的值
# 方式一:借助于第三方变量
num1 = 34
num2 = 100
temp = num1
num1 = num2
num2 = temp
print(num1,num2)

# 方式二:Python特有的语法
num1 = 34
num2 = 100
num1,num2 = num2,num1
print(num1,num2)

# 方式三:加减法
num1 = 34
num2 = 100
num1 = num1 + num2   # num1 = 134
num2 = num1 - num2   # num2 = 34
num1 = num1 - num2   # num1 = 100
print(num1,num2)

# 方式四:异或^
# 一个数异或另一个数两次,结果为该数本身
# print(6 ^ 3 ^ 3)
num1 = 34
num2 = 100
num1 = num1 ^ num2  # num1 = 34 ^ 100
num2 = num1 ^ num2  # num2 = 34 ^ 100 ^ 100 = 34
num1 = num1 ^ num2  # num1 = 34 ^ 100 ^ 34 = 100
print(num1,num2)
2.2删除变量
# 删除变量:del  变量名


# 定义变量:该变量出现在内存中
name = "jack"
print(name)


# 删除变量:将变量从内存中销毁
del name
print(name)   # NameError: name 'name' is not defined

# 注意:一个变量一旦被删除,则相当于该变量未被定义
2.3变量的类型转换
"""
int(x):将x转换为整型
float(x):将x转换为浮点型
str(x):将x转换为字符串
bool(x):将x转换为布尔值
"""

# 1.int(x):x可以是浮点型,布尔值或字符串,但是,字符串只能由正负号和数字组成,且正负号只能出现在字符串的开头
print(int(132.45))
print(int(False))
print(int(True))

print(int("524"))
# print(int("True"))
# print(int("4.56"))
# print(int("afahg"))
print(int("+524"))
print(int("-524"))
# print(int("52+4"))

# 2.float(x):x可以是整型,布尔值或字符串,但是,字符串只能由正负号,小数点或数字组成,且正负号只能出现在字符串的开头
print(float(132))
print(float(False))
print(float(True))

print(float("524"))
print(float("4.56"))
# print(float("52+4"))
print(float(".456"))
print(float("456."))


# 3.str(x):x可以是任意的数据类型
print(str(10))   # "10"
print(str(34.456))
print(str(True))
print(str([43,4,56]))  # "[43,4,56]"


# 4.bool(x):x可以是任意的数据类型
print(bool(0))
print(bool(0.0))
print(bool(""))
print(bool([]))
print(bool(()))
print(bool({}))
print(bool(None))
# print(bool(False))

print(bool(4))
print(bool(67.8))
print(bool("faf"))
print(bool([56,7,7]))
print(bool((78,9,9)))
print(bool({"a":24}))
# print(bool(True))


# 结论:假:0   0.0   ""   []    ()   {}   None   False等

二、输入和输出【重点掌握】

1.输出print
# 1.输出为空
print()    # 换行

# 2.输出单个数据
print(23)
print("fahjg")

name = "hello"
print(name)


# 3.输出多个数据
# 如果输出多个数据,则输出到控制台上的数据默认使用空格隔开
print(4,6,7,8,8,99,"fsg",True)

# 4.sep,表示分隔符,默认值为空格,可以自定义为任意的字符
print(111,222,333,444)
print(111,222,333,444,sep=" ")
print(111,222,333,444,sep="======")
print(111,222,333,444,sep="*")

# 练习:使⽤一个print输出3个数据,3个数据在⼀行显示,并且用等号(=)隔开
print(111,222,333,444,sep="=")

print("*" * 30)

# 5.end:表示结束符,默认值为\n,可以自定义
print(111)
print(222)
print(333)
print(444)

print(111,end="****")
print(222,end="%%%%")
print(333,end="=====")
print(444,end="$$$$$")

print()

print("aaa",'bbb','ccc',sep="*",end="00000")   # aaa*bbb*ccc00000
2.输入input
"""
input(提示)

工作原理:当代码执行到input的时候,程序会进入阻塞状态,目的是是为了等待用户的输入
        当用书输入指定的内容,按下回车键,阻塞会自动被解除,程序会继续向下执行

注意:
    a.为了提高用户的体验度,建议在input中书写提示,提示用户需要输入的内容
    b.不管从控制台输入什么内容,结果都是字符串类型
"""

# print("start")
# input()
# print("over")

# 练习:引导用户从控制台输入年龄,计算剩余寿命,假设人的最长寿命为150
age = int(input("请输入你的年龄:"))
MAX_AGE = 150
# print(type(age))
print("剩余寿命为:",MAX_AGE - age)

age = input("请输入你的年龄:")
MAX_AGE = 150
# print(type(age))
print("剩余寿命为:",MAX_AGE - int(age))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值