码农学技术————六个月学习python全栈【Day04】

这篇博客详细介绍了Python中的字典、集合、元组和布尔值等基本数据类型,强调了它们的特点和使用场景。此外,还涵盖了用户交互、格式化输出以及各种运算符的使用,包括算术、逻辑和成员运算符。
摘要由CSDN通过智能技术生成

今日学习目标:

了解python基础语法(基本数据类型:字典,集合,元组,布尔值;人机交互,运算符)

今日学习内容:

内容概要:

  • 基本数据类型

  • 用户交互

  • 格式化输出

  • 运算符


内容详情:

基本数据类型:

(五)、字典 dict

1.字典是另一种存储数据的格式。字典的每个元素都由两部分组成(列表的每个元素只有一个部分),前一部分称为键,后一部分称为值,中间用冒号相连。
2.字典类型是键值对的集合
3.字典使用大括号{}表示,键值间用冒号分隔,键值对间用逗号分隔

强调:字典是不支持索引取值的 因为字典内部是无序的

#格式

字典名 = {<1>:<1>, <2>:<2>, ..., <键n>:<值n>}
 
d = {"中国": "北京", "美国": "华盛顿", "法国": "巴黎"}
练习题
"""理解思路即可  该题仅仅是为了练习而已"""
data = {
    'username': 'jason',
    'age': 18,
    'addr': ['北京', '上海', {'省份': [{'安徽': ['合肥', '芜湖'], '上海': ['张江', '青浦', '浦东']}, '河南', '山东']}]
}
# 利用索引和按k取值 获取jason的家乡 芜湖
# 1.先获取键addr对应的值
big_list = data['addr']  # 存储addr对应的大列表
# 2.利用索引取值获取列表第三个元素
little_dict = big_list[2]  # 存储小字典
# 3.利用键获取值
little_list = little_dict['省份']
# 4.利用索引取值获取最终的字典
l1_dict = little_list[0]
# 5.利用键取值 再利用索引
print(l1_dict['安徽'][1])

# 后期熟练之后一行代码即可
print(data['addr'][2]['省份'][0]['安徽'][1])

运行结果:

在这里插入图片描述


(六)、集合 set(类比一维数组的集合)

集合:多个元素的无序组合,使用大括号{}表示,元素间用逗号分隔。


基本功能:集合的两个基本功能分别是去重和成员测试。

特点:
1.无序:元素间没有顺序,因此,要求元素不能相同,元素必须是不可变类型。

2.非一致性:元素类型可以不同。

3.无索引:不能对某个元素进行定点索引,可以遍历或随机获取元素。

# 大括号括起来 内部存放多个元素 元素逗号隔开 不是k:v键值对
s = {1, 2, 3, 4, 5}

如果大括号定义空的数据 那么默认是字典

(七)、元组 tuple

Python中的元组与列表类似,是序列类型的一种,不同之处在于元组的元素一旦创建不能修改。元组使用小括号()表示,元素间用逗号分隔,小括号可以省略

跟列表几乎一致 只不过使用的是小括号
元组一般存储一些只能看不能改的数据

"""
小括号括起来 内存可以存放多个元素 元素与元素之间逗号隔开 元素可以是任意数据类型
"""
t = (1, 2, 3, 4)

元组内数据不能'修改'
	l1 = [11, 22, 33]
    t1 = (11, 22, 22)
    print(l1[1], t1[1])
    l1[1] = 996
    print(l1)
    t1[2] = 117  # 不能修改
    print(t1)

运行结果:
在这里插入图片描述


(八)、布尔值 bool

只有两个状态
True
False
布尔值是用来描述事物对错 是否可行的 主要用于逻辑判断
True就是可以 可行
False就是不可以

在python中所有的数据在进行逻辑判断的时候都会转成布尔值

  • 布尔值默认为False的数据
  • 0 None 空字符串 空列表 空字典…
  • 其他情况布尔值都是True
针对布尔值的变量名 一般采用is开头
	is_right = True			
    is_delete = False		
    is_alive = True

在这里插入图片描述


用户交互

1.什么是用户交互:

程序等待用户输入一些数据,程序执行完毕反馈信息。

2.如何使用

在python中使用input,input会将用户输入的如何内容存为字符串;

1.获取用户输入
	username = input('请输入您的用户名>>>:')
	# input获取到的用户输入都会转成字符串类型
2.输出内部数据
	print(username)
    	编写方式
        	方式1 先写print括号内写需要打印的东西
            方式2 先写需要打印的东西之后使用句点符跟print之后tab键即可
     括号内还支持一次性打印多个数据 逗号隔开即可

在这里插入图片描述


格式化输出

如何格式化输出字符串呢,例如你好XX,你的额度是xx,其中xx的变量,我们无法预知,这个时候就需要格式化输出,和C语言一样,我们可以使用占位符%?,其中?代表不同的字符,例如%s代表字符串,%d代表十进制整数,%f代表浮点数,例如

name = "Potato"
b = 100
print("你好%s,你的额度是%d" % (name,b) )
#name将替换%s的位置,b将替换%d的位置,字符串后的%用来说明是哪些变量要替换前面的占位符,当只有一个变量的时候,可以省略括号

在这里插入图片描述

占位符还可以控制输出的格式,例如保留几位小数,填充前导0等,以下是例子

print("小数: %.2f" % 3.14159)# %.2f代表保留两位小数
print("小数: %.2f" % 4.5)# %.2f保留两位小数,不够的位用0补充
print("占位: %3d" % 5)# %3d代表这个数的宽度为3,不够的话用空格在前面补,如果数的宽度大于3,则正常输出
print("前导0: %05d" % 2)# %05d代表这个数的宽度为5,不够的话用0在前面补,如果数的宽度大于5,则正常输出

在这里插入图片描述

如果不知道数据类型的话,用%s即转为字符串进行输出会比较稳妥,还有许多种占位符的格式,具体使用时可以搜索,一般常用的就是以上那些。


运算符

Python 中的运算符主要分为算术运算符、比较(关系)运算符、赋值运算符、逻辑运算符、位运算符、成员运算符和身份运算符共 7 大类,运算符之间也是由优先级的,下面我们就来进行具体介绍。

一、算术运算符

运算符描述
+两个数相加,或是字符串连接
-两个数相减
*两个数相乘,或是返回一个重复若干次的字符串
/两个数相除,结果为浮点数(小数)
//两个数相除,结果为向下取整的整数
%取模,返回两个数相除的余数
**幂运算,返回乘方结果

以上算术运算符的示例和运行结果如下所示:
在这里插入图片描述

  • 增量赋值
    x += 100  <==> x = x + 100
    x -= 100  <==> x = x - 100
    x *= 100  <==> x = x * 100
    x /= 100  <==> x = x / 100
  • 链式赋值
	x = 100
    y = x
    z = x
	# 简化
	x = y = z = 100
  • 交叉赋值
	m = 10
    n = 999
    # 让m指向n指向的值 让n指向m指向的值
    # m = n
    # n = m
    # print(m, n)  # 999 999
    tmp = m
    m = n
    n = tmp
    print(m, n)
    # 交叉赋值
    m, n = n, m
    print(m, n)
  • 解压赋值
	name_list = ['jason', 'kevin', 'tony', 'jerry']
	
	普通方式取值:
	
    # name1 = name_list[0]
    # name2 = name_list[1]
    # name3 = name_list[2]
    # name4 = name_list[3]
    
    解压赋值方式取值:(重要)
    
    # name1, name2, name3, name4 = name_list
    # name1, name2 = name_list
    # name1, name2, name3, name4, name5 = name_list
    """
    1.正常情况下 左右两边的变量名和值个数要相等
    2.也可以打破个数限制
    """
    l1 = [11, 22, 33, 44, 55, 66, 77, 88, 99]
    a, b, *_ = l1
    print(a, b, _)  # 11 22 [33, 44, 55, 66, 77, 88, 99]
    a, *_, b = l1
    print(a, b, _)  # 11 99 [22, 33, 44, 55, 66, 77, 88]
    """
    单独的下划线作为变量名 意思是为了符合语法 但是指向的值用不到的情况
    """

二、逻辑运算符

运算符描述
and布尔“与”运算符,返回两个变量“与”运算的结果,连接多个条件必须都满足 结果才是True
or布尔“或”运算符,返回两个变量“或”运算的结果,连接多个条件只要有一个满足 结果就是True
not布尔“非”运算符,返回对变量“非”运算的结果,将条件翻转 True变为False False变为True
a = True
b = False
print('a and b',a and b)
print('a or b',a or b)
print('not(a and b)',not(a and b))

在这里插入图片描述

三者混合使用的时候是有优先级的 但是我们不需要记
应该人为的在编写初期就强制规定好顺序
(3>4 and 4>3) or ((1==3 and ‘x’ == ‘x’) or 3 >3)

三、身份运算符

运算符描述
in当在指定的序列中找到值时返回 True,否则返回 False
not in当在指定的序列中没有找到值时返回 True,否则返回 False
a = 1
b = 8
c = [1, 2, 3, 4, 5]
print('a in c',a in c)
print('b not in c',b not in c)


在这里插入图片描述

四、成员运算符

运算符描述
is判断两个数据的内存地址是否一致 ,若引用的是同一个内存地址则返回 True,否则返回 False
is not判断两个标识符是不是引用自不同内存地址,若引用的不是同一个内存地址则返回 True,否则返回 False
a = 123
b = 456
c = 123456
print('a is b',a is b)
print('a is c',a is c)
d = 123
print('a is d',a is d)
print('a is not c',a is not b)

在这里插入图片描述

==:判断两个数据的值是否一致


今日学习时间:

计划学习的时间

1、 上午8:30~12:30
2、 下午2:30~5:30
3、 晚上6:30~9:30


今日学习产出:

1、 技术笔记 1 遍
2、CSDN 技术博客 1 篇
3、 今日学习总结的 record 1 个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值