【2022-06-20】Python数据类型及用户交互与运算符

Python数据类型及用户交互与运算符

数据类型之列表list

1.定义

列表,是可以通过方括号括起来,用逗号隔开的一组数据值或者元素。一个列表可以包含不同类型的元素,但通常使用时各个元素类型相同。
它的数据格式为:[list1,list2,list3,list4]

2.作用

列表的作用是一次性存储多个数据,程序员可以对这些存储的数据进行对应的操作,如:增、删、改、查。

3.基本使用

list1 = [1, 2, 3, 4, 5]                               # 列表内元素的数据类型为整型     [1, 2, 3, 4, 5]
list2 = ['西游记', '红楼梦', '三国演义', '水浒传']      # 列表内元素数据类型为字符串     ['西游记', '红楼梦', '三国演义', '水浒传']

print(list1)
print(list2)


4.类型描述

用中括号括起来,列表内可以存放多个数据值,数据值与数据值之间用逗号隔开,数据值可以是任意数据类型

5.索引取值

索引取值,通过字面意思我们可以理解为,通过索引的方式对列表内的数据值进行获取,列表中的每个元素都有编号值,即其索引。

索引的方式,在IT行业,数字的起始位置通常是从0开始的,按照从左往右的方式开始,第一个位置是0,第二个位置是1,以此类推,一直到N。

举个例子

name_list = ['大悲掌', '黯然销魂者', '金钟罩', '铁布衫', '降龙十八掌']   # 通过索引取值,我想拿到武林秘籍降龙十八掌

print(name_list[4])   # 从左往右,第一个位置为0,第二个位置为1,以此类推,对应的值为4,取到的值就是降龙十八掌


数据类型之字典dict

1.定义

字典是一种可变容器类型,可以存储任意类型的数据,在大多数情况下,字典存储的是描述一个物体的相关信息

2.作用

字典的作用是一次性存储多个数据,程序员可以对这些存储的数据进行对应的操作,但是它对数据做了相应的解释

3.基本使用

字典以键值对存储数据,key-value形式,键值之间使用冒号隔开,每个键值中间用逗号隔开

info_dict = {'name': '李白', 'job': '诗人', 'dynasty': '唐朝'}   # 这里name是K 李白是V
   
4.类型描述

大括号括起来 内部可以存放多个数据 数据的组织形式是K:V键值对
K是对V的描述性性质的信息 一般是字符串
V是真实的数据值 可以是任意数据类型

5.按K取值

info_dict = {'name': '李白', 'job': '诗人', 'dynasty': '唐朝'}
print(info_dict['name'])                        # 李白
print(info_dict['dynasty'])                     # 唐朝

与列表不同的是,字典无法通过索引的方式取值,因为列表是有序的对象集合,字典是无序的对象集合,两者之间区别在于:字典是通过键(key)来存取的,列表是索引取值
键(key)必须使用不可变类型,在同一个字典中,键(key)必须是唯一的


数据类型之布尔值bool

1.定义

布尔值是逻辑值,只有两种:真(True)假(Flase),True、Flase通常情况下不会被直接引用,需要使用逻辑运算得到结果

2.作用

布尔值可以用于判断条件结果

3.基本使用

is_successfully = True           # True
is_defeated = False              # False

print(is_successfully)
print(is_defeated)

4.类型描述

布尔值看似很简单 很少见 其实在程序中是最多的 也是使用频率最高的
存储布尔值的名字一般使用is开头

5.布尔值类型转换

Python中所有的数据类型都可以转换成布尔值,只有0、None、空列表、空字典的布尔值为False,其余对象的值都为True

数据类型之元组tuple

1.定义

元组与列表类似,只不过是列表的中括号[]变为了小括号(),小括号内用逗号隔开多个任意数据类型的元素,元组是一个不可变的列表

2.作用

元组可以按照索引存在多个数据值,但是只能用于读取,不能用于修改;而列表是可存可取,也可以修改;如果需要只读操作,可以用元组

3.基本使用

top_list = (1, 2, 3, 4)

4.类型描述

用小括号括起来,列表内可以存放多个数据值,数据值与数据值之间用逗号隔开,数据值可以是任意数据类型

5.与列表的区别

list1 = ['洪家铁线拳', '十二路谭腿', '五郎八卦棍', '如来神掌', ]

top_list = ('东邪', '西毒', '南帝', '北丐')

print(list1[2])              # 五郎八卦棍
print(top_list[1])           # 西毒

list1[2] = '咏春拳'           # 将列表索引2重新绑定数据值咏春拳
print(list1)                 # ['洪家铁线拳', '十二路谭腿', '咏春拳', '如来神掌']


top_list[1] = '郭靖'          # 将列表索引1重新绑定数据值郭靖  直接报错!!!

数据类型之集合set

1.定义

集合,它是一个无序的,不可重复的元素序列。集合使用大括号{}将数据括起来,数据与数据之间用逗号隔开。从数据结构上看,集合与列表和元组类似,从元素上看,集合与字典比较类似,即元素不允许重复

2.作用

集合可以用于去重,关系运算

3.基本使用

st = {'python', 'java', 'C++', 'PHP'}

5.如何定义空集合

空集合只能用set()来创建,因为大括号{}是用来创建集合的,如:

st = set()
print(type(st))       # <class 'set'>

用户交互与输出格式化

1.用户交互的定义

用户交互就是人往计算机中输入数据(input)、计算机输出结果(print),从而使得计算机能够像人一样与用户沟通,交互的本质就是输入、输出

2.如何进行用户交互  输入input和输出print

3.输入:input  向计算机传递信息

在python中input会等待用户输入,用户输入任意内容都会变成字符串,然后赋值给等号左边的变量名。input接收一个参数用来向用户显示提示或说明信息

username = input('请输入您的用户名>>>:')
print(username)                # 请输入您的用户名>>>:tony 

4.输出:print  计算机向外界输出信息

print可以只输出一个值,也可以输出多个值,数据值之间用逗号隔开  可以直接放数据值,也可以放变量名

print(1)                             # 1
print('hello', 'word')               # hello word

name = 'tony'
print(name)                          # tony

5.此外,print功能还有一个end参数,该参数的默认值为"\n"(换行),可以将end参数的值改成任何其它类型的字符,如:

print('你好', end='-')
print('狗东西')                       # 你好-狗东西

6.什么是格式化输出

格式化输出,就是按照格式说明所描述的文字规则进行输出


7.格式化输出的使用

info = "尊敬的XXX您好,截止到xxxx时,您的通信账户余额为xxx元。为保证您的正常通信,请您尽快充值,如已交费请忽略"

这里我们就用到了占位符的知识点

# %s占位符:可以接收任意类型的数据值
# %d占位符:只能接收数字

real = "尊敬的%s您好,截止到今日下午%s时,您的通信账户余额为%s元。为保证您的正常通信,请您尽快充值,如已交费请忽略" % ('李白', 18, 3)
print(real)          # 尊敬的李白您好,截止到今日下午18时,您的通信账户余额为3元。为保证您的正常通信,请您尽快充值,如已交费请忽略


基本运算符

1.什么是运算符

举个简单的例子,4+5=9  (4和5被称为操作数,+就称为运算符)

2.运算符有哪些

算术运算符

加		+
减		-
乘   	*
除   	/
整除 		//
取模 		%
幂指数 	**(次方)

x = 10
x = x + 100  # x += 100
x = x - 10   # x -= 10
x = x * 10   # 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)

今日作业

# # 1.获取用户信息并打印出下列格式
# # ------------ info-of-XXX -----------
# # Name: XXX
# # Age: XXX
# # Job: XXX
# # dynasty: xxx 
# # another_name: xxx
# # production: xxx
# # ------------- end -------------------
# 
# 
# """变量名与数据类型分不清!!!"""
# 
# 
# # 1.格式化输出:提前准备好文本
# 
# info = """
#     ------------ info of %s -----------
#         Name           : %s
#         Age            : %s
#         Job            : %s 
#         dynasty        : %s 
#         another_name   : %s
#         production     : %s
#         
#     ------------- end -------------------
#     """
# # 2.获取用户数据
# 
# name = input('请输入您的姓名>>>:')
# age = input('请输入您的年龄>>>:')
# job = input('请输入您的工作>>>:')
# dynasty = input('请输入您的出生地>>>:')
# another_name = input('请输入您的别称>>>:')
# production = input('请输入您的著作>>>:')
# 
# # 3.格式化输出
# 
# print(info % (name, name, age, job, dynasty, another_name, production))
# 
# 
# # 4.输出结果
# 
# # 请输入您的姓名 >> >: 李白
# # 请输入您的年龄 >> >: 999
# # 请输入您的工作 >> >: 诗人
# # 请输入您的出生地 >> >: 唐朝
# # 请输入您的别称 >> >: 诗仙
# # 请输入您的著作 >> >: 李太白集
# # 
# # ------------ info-of-李白 - ----------
# # Name: 李白
# # Age: 999
# # Job: 诗人
# # dynasty: 唐朝
# # another_name: 诗仙
# # production: 李太白集
# # 
# # ------------- end - ------------------


  ###  大鹏一日同风起,扶摇直上九万里
  ###  假令风歇时下来,犹能簸却沧溟水             

                                                    ——摘自《上李邕》  作者:李白






  ###  路漫漫其修远兮,吾将上下而求索 ###
posted @ 2022-06-20 20:46  dy12138  阅读(53)  评论(0)    收藏  举报