基本数据类型及用户交互
基本数据类型
基本数据类型有整型、浮点型、字符串/字符型、列表型、字典型、布尔值、元组、集合
基本数据类型——整型
- 整型就是整数
主要应用场景:年龄,学生人数,年份等 - 基本使用
age = 20
stu_num = 40
year = 2022
表达的关键词是:int
核心语法:直接写整数
基本数据类型——浮点型
- 浮点型其实是小数
主要应用场景:身高 体重等
基本使用:
weight = 80.2
height = 1.80
salary = 2.8
表达关键词:float
核心语法:直接写小数
基本数据类型——字符串/字符型
- 字符型就是文本信息
主要应用场景:描述性性质的信息 姓名 住址 爱好
基本使用:
name = 'jason'
addr = "上海"
hobby = '''读书\写字'''
info = """你们好呀 准备好起飞了吗"""
表达关键字:str
核心语法:引号引起来的部分
基本数据类型——列表
-
本质
能够存储多个数据,能够更加便捷的获取整体或个体。 -
基本使用
l1 = [1, 2, 3, 4, 5] -
语言描述
在列表型中,中括号可以存储多喝数据值,数据值与数据值之间用逗号隔开(数据值可以为任意数据类型) -
索引取值
索引取值在IT领域数字的起始位置通常是从0开始,现实生活中是从1开始。
name_list = ['赵四', '王五', '刘六']
print(name_list)
print(name_list[1]) # 王五
print(name_list[0]) # 赵四
print(name_list[4]) #索引超出范围报错
当索引时遇到了复杂构造的数据,可以先确定数据值,然后一步步对其进行拆分
'''获取l1中的数据1'''
l1=[123, 321, [1,2,3,4], 546]
print(l1[2])#先获取所需数据的小列表
l2=l1[2] #将索引取值获取到的数据绑定给l2
print(l2) #通l2得到列表
print(l2[3]) #进一步获取所需数据的列表
l3=l2[3] #将列表绑定给L3
print(l3[1]) #获取所需数据
'''可精简为'''
print(l1[2][3][1])
基本数据类型——字典
-
本质
字典型能够存储多个数据,能够快速便捷的获取整体或局部,数据更利于解释 -
基本使用
info_dict = -
表述
字典型是用大括号括起来的,内部可以存储多个数据,数据类型为K:V键值对:
K是对v的描述性概括信息,通常为字符串;
v是数据值,可为任意数据类型; -
按K取值
info_dict = {'name':'张三','age':20}
'''字典取值:字典无法使用索引取值(因为字典是无序的) 可以使用按K取值'''
print(info_dict['name']) # 张三
print(info_dict['age']) # 20
print(info_dict['gender']) # K不存在直接报错
基本数据类型——布尔值
-
本质
布尔值是用来表示任何事物是否可行;共有两个值(对/错) -
基本使用
is_right = True
is_delete = False -
介绍
布尔值在程序中很常见,其名字一般以is开头 -
布尔值的转换
程序中所有类型都能转换成布尔值
布尔值为False的数据只有None Null 0
其余都是True
基本数据类型——元组
-
本质
元组能够存储多个数据,能够方便的获取整体或者局部,与列表的区别在于元组内数值不可更改,而列表可以。故元组又被称为“不可变小列表” -
作用
元组一般作用于存储只能看不能改的数据 -
基本使用
t1=(1, 2, 3) -
语言表述
用小括号括起来,内存可以存放多个数据值,数据值之间用逗号隔开(数据值可以为任意类型) -
与列表比较
l1 = [1,2,3]
t1 = (1,2,3)
print(l1[0])
print(t1[0])
l1[0]='sd'
print(l1) #['sd', 2 ,3]
t1[0]='s '
print(t1) # 将元组索引0重新绑定数据值tony 直接报错!!
基本数据类型——集合
-
本质
只用于去重和数值关系运算
关系运算:判断两个集合之间的数据关系 -
基本使用
s1 = -
定义集合
d1 = {}
s1 = {}
print(type(d1)) # dict
print(type(s1)) # dict
ss = set() # 必须使用关键字才能定义空集合
print(type(ss))
用户交互
- 输入
向计算机传递信息
intput() #获取用户信息
name = inpute('输入名称')
'''
先获取用户输入的数据,
再赋值给左边的名字name
通过名字name反复的使用输入的数据
'''
print(name)
'''input获取到的用户输入都会转成字符串类型'''
- 输出
计算机向外界输出信息
print() #打印数据值
print(1) #( )中可以直接放数据值
name = 'lis'
print(name) #()中也可放名字
print(1, 2, 3)#()也可一次打印多个值
''' 换行符:\n ,\r\n'''
格式化输出
info = "xxx 同学,在xxx院系xxx班顺利毕业,特颁发学士学位"
在python中如果想要占位,需要使用占位符
%s: 支持所有数据类型替换 (以后我们使用最多的就是%s)
info1 = "%s同学,在%s院系%s班顺利毕业,特颁发学士学位"
print(info1 % ('赵四', '计算机科学与技术', '软件工程'))
print(%s同学,在%s院系%s班顺利毕业,特颁发学士学位"%('先锋','商学院', '会计'))
'''%d是只给数字占位'''
产生固定位数的数据(总共8位 不够则使用0填充)
print('%08d' % 123) # 00000123
基本运算符
-
算数运算符
| 加 | + |
| :------------: | :------------: |
| 减 | - |
| 乘 | * |
| 除 | / |
| 整除 | // |
| 取模 | % |
| 幂指数 | **(次方) | -
变种情况
|x = 10 | |
| :------------: | :------------: |
|x=x+10 |x+=10 |
|x = x10 |x=10 |
|x=x/10 |x/=10 | -
比较运算符
== 等于
!= 不等于
多种赋值符号
# x = 10
# y = x
# z = y
# 链式赋值
x = y = z = 10
m = 999
n = 100
# 让m绑定n绑定的数据值 让n帮忙m绑定的数据值
# m = n
# n = m
# print(m)
# print(n)
'''方式1:利用中间变量'''
# tmp = m
# m = n
# n = tmp
# print(m, n)
'''方式2:交叉赋值'''
m, n = n, m
print(m, n)
name_list = ['jason', 'tony', 'kevin']
# 用三个不同的名字存储三个不同的人名
# name1 = name_list[0]
# name2 = name_list[1]
# name3 = name_list[2]
'''解压赋值:赋值符号的左边至少有两个及以上的名字 才能称之为解压赋值'''
# name1, name2, name3 = name_list
# 1.上述操作需要保证左边的名字和右边的数据值 个数一致
# a, b = name_list
# a, b, c, d, e = name_list
"""特殊情况 带解压的数据非常的多"""
l1 = [11, 22, 33, 44, 55, 66, 77, 88, 99]
# a, b, *c, d = l1 # *在解压赋值的时候会自动将多余的数据值组织成列表赋值给*号后面的变量名
# print(a) # 11
# print(b) # 22
# print(c) # [33, 44, 55, 66, 77, 88]
# print(d) # 99
*c, a, b = l1
print(a)
print(b)
print(c)
今日作业
- 获取用户信息并打印出下列格式
info = """
------------ info of %s -----------
Name : %s
Age : %s
gender : %s
Job : %s
------------- end -------------------
"""
name = input('please input your name>>>:')
age = input('please input your age>>>:')
gender = input('please input your gender>>>:')
job = input('please input your job>>>:')
print(info % (name, name, age, gender, job))
-
输入输出在python2和python3中的区别
-
python2的输入输出
输入: raw_input()获取用户的输入
input()会把用户的输入的内容当代码执行
输出:可以使用空格或者小括号 -
python3的输入输出
输入:python3 中没有raw_input()函数,只有input(),并且python3中的input与python2中的raw_input()功能一样
输出:python3中输出只能为小括号