6 格式化输出补充 运算符 流程控制之if语句

格式化输出补充 流程控制

1 格式化输出补充

1.1 format

: 后面是带填充的字符,只能是一个字符,不指定则默认是用空格填充
^, <, > 分别是居中、左对齐、右对齐,后面的数字是整体宽度。

str1 = '{x}'.format(x='开始执行')
str2 = '{x:*<10}'.format(x='开始执行')  # 开始执行******
str3 = '{x:*>10}'.format(x='开始执行')  # ******开始执行
str4 = '{x:=^10}'.format(x='开始执行')  # ===开始执行===

保留小数点位数

str5 = '{pi:.3f}'.format(pi=3.1415926535898)  # 3.142
1.2 f

输出 { 和 }

var = 'hello'
str1 = f'{var}'  # hello
str2 = f'{{{var}}}'  # {hello} 第一个{让解释器将第二个{视为普通字符
str3 = f'{{{{{var}}}'  # {{hello}

{ } 内的字符串可以被当做表达式运行

res = f'{10+3}'  # 13
res = f'{print("a")}'  # 执行print函数
1.3 %

希望输出%

res = '%s' % 'a'  # a
res = '%%%s' % 'a'  # %a 第一个%让解释器将第二个%视为普通字符

2 可变类型与不可变类型

2.1 区别

可变类型:值改变,id不变 (list dict)
id不变说明修改的是原内存空间存储的值,即原值是可以被改变的。

不可变类型:值改变,id改变 (int float str bool)
id改变说明产生了新的内存空间来存储数值,并没有影响或改变原值,因此原值是不可被修改的。

不可变类型的数据是不可分割的整体,不能够被改变,
加减乘除等运算都是产生了新的值,跟原来的值没有关系。

a = 10000  # 指向的内存空间存储 10000
a += 1  # 指向了新的内存空间存储 10001

列表这个整体在内存中的地址没有变化,但内部存储的地址可以变化,表现为元素发生了变化。
字典存储的键值对中的值只是个内存地址,可以指向任意类型的数据
但是键必须是不可变类型 (int float str bool)

2 流程控制

2.1 条件

流程控制中的条件可以理解为布尔类型的数据

2.1.1 显式布尔值
  1. 含有比较运算符的语句,经过判断后会产生一个布尔值。
  2. True,False
2.1.2 隐式布尔值

所有类型的值都可以当成布尔值去使用。
False:(10种)
数字:0,0.0,0j
None
空容器: 空字符串、空列表[]、空字典{},空元祖(),空集合set()
注意,空字符串中不能包含空格
其余为 True

2.2 运算符
2.2.1 逻辑运算符
  1. not
    将其后面的条件结果取反
    not与后面的条件是不可分割的整体。
  2. and 逻辑与
    用于连接两个条件,全真则真,一假即假
  3. or 逻辑或
    用于连接两个条件,全假则假,一真即真
  4. 优先级
    not > and > or
    优先级高的先判断
not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
# 1. not
(not 2 > 1) and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
# not 2 > 1 => False
False and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
# 2. and
(False and 3 < 4) or (4 > 5 and 2 > 1 and 9 > 8) or 7 < 6
# =>
False or False or False
# =>
False
2.2.2 成员运算符

判断是否存在,即前者是否为后者的一个成员
in
not in

2.2.3 身份运算符

判断id是否相等,即两个变量是否指向同一个内存区域
is
is not

2.3 流程控制之if判断

流程:代码执行的过程
流程控制:对代码执行的过程进行管控

if判断
通过条件语句的执行结果(True或者False)来决定执行哪一个代码块。
代码块可以理解为一个执行整体单元,以缩进来区分不同的代码块。
可以嵌套,即内部代码块中包含if判断语句。
if判断结构中最多只有一个条件可以成立,因此同层级的代码块最多只有一个可以运行。
语法

if 条件1:
    代码块1
elif 条件2:
    代码块2
else:
    代码块3  # 当以上条件都不成立时执行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值