Python学习之格式化简述
2.2 格式化输出
2.2.1 占位符
%s就是代表字符串占位符;%d是数字占位符,%i 也可以表示数字,如果把变量后⾯的换成%d,就代表必须只能输⼊数字这时对应的数据必须是int类型. 否则程序会报错,因此有时我们需要进行类型转换。
int(str) # 字符串串转换成int
str(int) # int转换成字符串串
注意:如果想要输出%而不是把它当作占位符输出,需要使用%%格式表示%转译成字符串。
2.2.2 类型一:%占位
注意:
1.占位符的数量与填充的数量必须要一直,不一致时程序报错。
2.填充时,内容与占位符顺序必须一直
name = input('请输入姓名')
age = input('请输入年龄')
hobby = input('爱好是啥')
gsh = '我是%s,年龄%s,爱好%s' %('name','age','hobby')
print(gsh)
name = input("name :")
age = input("age:")
job = input("job:")
inf = '''
--------------inf of %s-------------
name : %s #显示名字
age : %d #显示年龄
job : %s #显示职业
------------------------------------
''' %(name,name,int(age),job) #这里的% 就是把前边的变量和括号里的变量连接起来
print(inf)
注意:在对age进行类型转换时,需使用int(age),要在使用时进行转换或者用下边的方式进行重新转换赋值
age = input("age:")
age = int(age)
2.2.3 类型二 f{}占位
f"alex{ },{'aa'}",3.6版本及以上才能使用,aa如果没有引号表示变量名,对其应有赋值运算。
msg = f'''
name:{input('name:')}
age:{input('age:')}
sex:{input('sex:')}
job:{input('job:')}
'''
print(msg)
注意''," ",''' ''',""" """之间的嵌套区别使用,例:
f"name:{},{"name"}" #两个""的连续使用,致使name无效,程序报错
2.3.1 算数运算
a = 10 b = 21
运算符 | 描述 | 示例 |
---|---|---|
+ | 加法运算 | a + b = 31 |
- | 减法运算 | a - b = -11 |
* | 乘法运算 | a * b = 210 |
/ | 除法运算 | b / a =2.1 |
% | 模运算,返回余数 | b / a = 1 |
** | 幂运算 | a**b ,10的21次方 |
// | 整除取余 | b // a = 2 |
2.3.2 比较运算
a = 10 b = 20
运算符 | 描述 | 示例 |
---|---|---|
== | 相等为真 | a == b 为Flase |
!= | 不相等为真 | a != b为True |
> | 左边大于右边为真 | a > b 为Flase |
< | 右边大于左边为真 | a < b 为True |
>= | 左边大于等于右边为真 | a>=b 值为Flase |
<= | 右边大于等于左边为真 | a <= b值为True |
2.3.3 赋值运算
a = 10 b = 20
运算符 | 描述 | 示例 |
---|---|---|
= | 简单的赋值运算 | c = a + b = 30 |
+= | j加法赋值运算 | c += a等价于c = c + a |
-= | 减法赋值运算 | c -= a 等价于 c = c - a |
*= | 乘法赋值运算 | c *= a 等价于 c = c * a |
/= | 除法赋值运算 | c /= a 等价于 c = c / a |
%= | 取模赋值运算 | c %= a 等价于 c = c % a |
**= | 幂赋值运算 | c **= a 等价于 c = c ** a |
//= | 整除赋值运算 | c //= a 等价于 c = c // a |
2.3.4 逻辑运算符
假设变量a的值为True,变量b的值为False
运算符 | 描述 | 示例 |
---|---|---|
and | 如果两个操作数都为真,则条件成立 | (a and b)的结果为False |
or | 如果两个操作数中的任何一个非零,则条件成为真 | (a or b)的结果为True |
not | 用于反转操作数的逻辑状态 | not(a and b) 的结果为True |
针对逻辑运算的进⼀步研究:**
1.在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。运算符要作为整体进行比较
( ) > not > and > or
2.x or y , x为真,值就是x,x为假(x是0),值是y
x and y, x为真,值是y,x为假,值是x
2.3.5 编码问题
python2解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ASSIC),⽽python3对内容进行编码的默认为utf-8。
最早的计算机编码是ASCII。 有英文+数字+特殊字符 8bit => 1byte 没有中文, 后面的编码必须兼容ASCII。
GBK 把中国的文字进行编码。对ASCII扩充。 16bit => 2byte 主要包含了中文, 日文, 韩文, 英文(兼容ASCII)
UNICODE 32bit 兼容各个国家的编码-万国码- 浪费空间 32bit => 4byte
UTF-8 可变长度的UNICODE,本质是UNICODE。
英文在UTF-8——占用1个字节 8bit
欧洲文字——占用2个字节 16bit
中文——占用3个字节 24bit
UTF-16,最少用2个字节
8bit = 1byte
1024byte = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB
1024PB = 1EB
1024EB = 1ZB
1024ZB = 1YB
1024YB = 1NB
1024NB = 1DB
2.3.6 成员运算符in、not in
1. while
while 条件:
循环体
else:
循环在正常情况跳出之后会执⾏该命令
#例子
index = 1
while index < 11:
if index == 8:
# break
pass
else:
print(index)
index = index+1
else:print("你好")
注意:
如果循环是通过break退出的. 那么while后⾯面的else将不会被执行, 只有在while条件判断是假的时候才会执行这个else。
pass: 不表⽰任何内容,为了代码的完整性,占位而已,目的是不妨碍下边命令继续运行
2. in 、not in
可以判断某一小部分字符串是否出现在其他字符串中
content = input("请输入你的评论")
if "hello" in content or 'hello world' in content:
print('您输入的字符不在该范围内')
else:
print("在在在")
2.3.7 身份运算
is --》是
is not --》不是
Python学习之格式化简述的更多相关文章
- python学习:格式化输出
格式化输出 代码如下: name = input("Name:") age = input("Age:") job = input("Job:&quo ...
- Python学习 :格式化输出
方式一:使用占位符 % 常用占位符:% s (s = string 字符串) % d (d = digit 整数(十进制)) % f ( f = float 浮点数) na ...
- python学习6—数据类型之集合与字符串格式化
python学习6—数据类型之集合与字符串格式化 1. 使用id()可以查看一个变量的内存地址: name = 'alex' id(name) 2. 进制转换 十进制转换为二进制等: a = 10 # ...
- Python学习day05 - Python基础(3) 格式化输出和基本运算符
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- Python学习之路——基础篇(1)字符串格式化
字符串格式化 Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存. 百分号方式 ...
- Python学习笔记2-Python神奇的语法和格式化输出
先来看一个例子: class Fish: hungry=True def eat(self,food): if food is not None: self.hungry=False class Us ...
- Python学习日记(十)—— 杂货铺(全局变量补充、Python参数传递、字符串格式化、迭代器、生成器)
全局变量补充 python自己添加了些全局变量 print(vars()) """结果: {'__name__': '__main__', '__doc__': None ...
- Python学习记录day5
title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...
- python学习笔记系列----(八)python常用的标准库
终于学到了python手册的最后一部分:常用标准库.这部分内容主要就是介绍了一些基础的常用的基础库,可以大概了解下,在以后真正使用的时候也能想起来再拿出来用. 8.1 操作系统接口模块:OS OS模块 ...
随机推荐
- ESP8266乐鑫版本的(支持云端升级 (Boot 模式)烧写方法,(V1.5.4官方介绍如下)(BOOT模式)
硬件平台: nodeMCU devkit核心板,带ch340g,应该是仿造的,官方是cp2102驱动,安信可科技有连接https://wiki.ai-thinker.com/esp8266/board ...
- Python字符串拼接的五种方式
第一种 通过加号(+)的形式 print('第一种方式通过加号形式连接 :' + 'love'+'Python' + '\n') 第二种 通过逗号(,)的形式 print('第二种方式通过逗号形式连接 ...
- Codeforces 884E E. Binary Matrix
题 OvO http://codeforces.com/contest/884/problem/E 884e 解 考虑并查集,每个点向上方和左方的点合并,答案即为1的总数减去需要合并的次数 由于只有1 ...
- mybatis insert into 返回id
<insert id="saveComplaint" useGeneratedKeys="true" parameterType="com.fo ...
- keras中常用的初始化器
keras中常用的初始化器有恒值初始化器.正态分布初始化器.均匀分布初始化器 恒值初始化器: keras.initializers.Zeros() keras.initializers.Ones() ...
- python获取某路径下某扩展名的所有文件名和文件个数
# -*- coding: utf-8 -*- # @Time : 19-1-10 下午10:02 # @Author : Felix Wang import os def get_file_coun ...
- BZOJ 4814 Luogu P3699 [CQOI2017]小Q的草稿 (计算几何、扫描线、set)
题目链接 (BZOJ) http://lydsy.com/JudgeOnline/problem.php?id=4814 (Luogu) https://www.luogu.org/problem/P ...
- 消息模板-RabbitTemplate
RabbitTemplate是我们在与SpringAMQP整合的时候进行发送消息的关键类该类提供了丰富的发送消息的方法,包括可靠性消息投递.回调监听消息接口ConfirmCallback.返回值确认接 ...
- IDEA项目里Maven 的Plugins出现红线的解决方法
1.删除项目里的libraries(快捷键ctrl+shift+alt+s):Project Settings->Libraries,全选删除 2.删除之前项目产生的target 3.然后再in ...
- leetcode题目19.删除链表的倒数第N个节点(中等)
题目描述: 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后 ...