Python入门知识点 4--格式化输出与运算符

1、格式化输出

name='小赵'
age=18
#print('大家好,我是'+name+'我今年'+age+'岁了') #字符串和整型不能拼接
print('大家好,我是'+name+'我今年'+str(age)+'岁了')#把整型转换成字符串输出,但比较麻烦
print('大家好,我是',name,'我今年',age,'岁了') #虽然数据与数据之间隔开输出,但也比较麻烦

上述几个例子中不同类型变量一块输出的方式比较麻烦,在以后写代码的过程中,经常会涉及到字符串和其他变量在一起输出使用的环节,但如果变量不是纯字符串,而是int/float/其他类型的数据,拼接在一起就很容易就会出错,所以这时候就可以使用格式化输出

所谓格式化-->就是一种更方便更好用地输出方式
    1.可以让你更方便的输出带有变量的数据
    2.可以让你更方便的输出一些固定格式的数据
    
尊敬的XX您好,您X月的账单已经发送,您使用话费共XX元
    1.有标准格式
    2.里面的X都可以用具体的变量来代替

1.1 第一种格式化输出方式:f-str

语法:在字符串前面加f,在字符串里把要输出的变量,用{}大括号包裹起来
    f'XXX{变量}XXX'

name='小赵'
age=18
print(f'大家好,我是{name},我今年{age}岁了')
print(f'大家好,我是{name},我今年{age}岁了,钱包余额还有{8.8}元') #大括号里面也可以放具体的数据

 大括号里的变量也是可以进行操作的,可以进行数值运算,切片,索引

age=8
print(f'大家好,我是{name[1]},我今年{age+10}岁了,钱包余额还有{8.8}元')

1.2第二种格式化输出方式--占位符%

占位符概念-->先占个位置,后续再用具体的数据来顶上

形参:没有具体的数据,只是先占个位置--角色
实参:有具体的数据,在运行时取代形参--演员

语法:
    'XX%sXX'%数据
    'XX%sXX%d'%(数据1,数据2)
   

%s 给str占位置,后续会来一个字符串
%d 给int占位置,后续会来一个整型
%f 给float占位置,后续会来一个浮点型(默认6位小数)
        %.1f-->带一位小数
        %.2f-->带两位小数
        %.xf-->带x位小数

name='小赵'
age=18
print('我今年%d岁'%age)
print('我是%s,今年%d岁'%(name,age))
print('我是%s,今年%d岁,现在还剩%f元'%(name,age,88.88))
print('我是%s,今年%d岁,现在还剩%.2f元'%(name,age,88.88))
print('我是%s,今年%d岁,现在还剩%.2f元'%(name[1],age+10,88.88))
#print('我是%s,今年%d岁,现在还剩%.2f元'%(name,'十八',88.88)) #%d是给整型占位,要传字符串就会报错
print('我是%s,今年%d岁,现在还剩%.2f元'%([1,2,3],age,88.88))
print('我是%s,今年%d岁,现在还剩%.2f元'%((1,2,3),age,88.88)) #要传列表或者元组可以用%s占位

小细节:
    %除了可以放变量,也可以直接放数据
    放的都是已知数据,类型是固定死的
    一个位置一个坑,少了位置和多了位置都不可以
    %s的包容性比较强,数据是整型、浮点型、列表、元组都接收,但是不要所有的类型都用%s占位
    %d和%f是必须来对应的数据

1.3 第三种格式化输出方式--format

用法跟占位符f-str类似,它先用大括号作为占位符,在字符串后面通过.format来传递数据

语法:
    'XX{}XX'.format(数据)
    'XX{}XX{}'.format(数据1,数据2)
    'XX{下标}XX{下标}'.format(数据1,数据2)

name='小赵'
age=18
print('我是{},我今年{}岁'.format(name,age))
print('我是{},我今年{}岁,今天是疯狂{},v我{}买炸鸡'.format(name,age,'星期四',50))
#大括号里面要么全放下标,要么全不放,下标也不支持负向下标
print('我是{3},我今年{0}岁,今天是疯狂{1},v我{2}买炸鸡'.format(age,'星期四',50,name))
print('我是{},我今年{}岁,今天是疯狂{},v我{}买炸鸡'.format(name[1],age,'星期四',50+100))

结合循环遍历,可以做到比较有仪式感的问候   
如果一个数据会反复使用,写上对应的下标就可以了,不需要反复的传数据

names=['芦苇','章章','大地瓜','zr']
for i in names:
    print('''
        {0}年快乐,{1}在这里,祝{2}新年快乐
        身体健康,往事如意,心想事成
                    ----{1}致辞

'''.format('龙','小赵',i))

2、基本运算符

2.1算数运算符

跟数学优先级一样 (先乘除后加减)

+1+1输出结果为2
-1-1输出结果为0
*2*2输出结果为4
/除 (得到的结果为浮点型)10/2输出结果为5
%取余10%3输出结果为1
//整除10//3输出结果为3
**幂(乘方)2**4输出结果为16,即2*2*2*2
10%3 #输出结果为1
10-3-3-3=1,最后剩下的数就是余数

10//3 #输出结果为3
10除3=3.3333333333333335,去掉后面的小数就是他的整除数

2**4 #输出结果为16 2的4次方
2*2*2*2

>>> a=1
>>> b=2
>>> a+b
3
>>> a*b
2
>>> a/b
0.5
>>> a-b
-1
>>> 10%3
1
>>> 10%4
2
>>> 10/3
3.3333333333333335
>>> 10//3
3
>>> 10//4
2
>>> 3**4
81
>>> 2**4
16

 这些代码都是在交互模式省略了print进行快速测试输出的,所以没有print输出

2.2 赋值运算符

将=号右侧的结果赋值给等号左侧的变量,需要赋值给谁就把谁放在最左边

=赋值运算符c = a + b(赋值运算符的程序是从右往左执行)
+=加赋值a+=b 等价于 a=a+b
-=减赋值a-=b等价于 a=a-b
*=乘赋值a* =b等价于 a=a *b
/=除赋值a/=b等价于 a=a/b
%=取余a%=b等价于 a=a%b
//=整除a//=b等价于 a=a//b
**=a* *=b等价于 a=a * * b

 

>>> a=1
>>> b=2
>>> c=a+b
>>> c
3
>>> a+=b
>>> a
3
>>> a-=b
>>> a
1
>>> print(a+=b) #加赋值的操作,赋值的时候是不能用print直接打印
SyntaxError: invalid syntax
>>> a*=b #赋值完后
>>> print(a) #再打印看具体结果
2

2.3 比较运算符

得到的结果为bool类型

在python中,一个等号是用来赋值,两个等号才是判断是否相等

>大于
<小于
==等于
>=大于等于
<=小于等于
!=(英文符号)不等于
>>> 66<88
True
>>> 66>88
False
>>> 66==88
False
>>> 88==88
True
>>> a=7
>>> b='7'
>>> a==b
False
>>> 'a'=='A'
False
>>> '小赵'=='小赵'
True
>>> "小赵"!='小赵'
False
>>> 7==7.0
True

2.4 逻辑运算符

得到的结果为bool类型

代码含义
and与 and左右两边的值必须都为真的时候才为真,否则为假 -- >‘和’
or或 or左右两边的值其中有一个真即为真,全假才为假 -- >‘或’
not非 就是将值为真的变成假的 假的变成真的 -- >‘非’ 取反,死杠精什么东西都和你反着来
>>> python=98
>>> math=70
>>> python>=95 and math>=90
False
>>> python>=95 or math>=90
True
>>> python>=95 and math>=60
True
>>> python>=100 or math>=90
False
>>> not True
False
>>> not False
True

 2.5 成员运算符

得到的结果为bool类型

代码含义
in判断成员是否在序列中
not in判断成员是否不在序列中
#序列类型中:字符串,元组,列表
>>> talk='小赵很聪明'
>>> '笨' in talk
False
>>> '聪明' in talk
True
>>> '笨' not in talk
True
>>> '聪明' not in talk
False
>>> 1 in [1,2,3]
True
>>> '1' in [1,2,3]
False
>>> 1 in 1
TypeError: argument of type 'int' is not iterable
>>> '哈哈' not in (1,'哈哈',2)
False

 2.6 运算优先级

符号描述
()小括号
**幂(乘方)
*、/、//、%算术运算符
+、-算术运算符
<、>、<=、>=、==、!=比较运算符
in、not in成员运算符
not > and > or逻辑运算符
  • 8
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@网工小赵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值