当前位置: 首页 > news >正文

Python学习1(print、格式控制、input、类型转换)

目录

语言的执行方式

第三方库的安装—pip

输出print()

str.format(格式输出)

格式控制

输入input

串的拼接

类型转换

对象与变量


语言的执行方式

Python 是一种解释型语言(实际是先编译成字节码再由虚拟机解释执行),它通过解释器边解释边执行,具有跨平台和开发效率高的优点,但运行速度相对较慢;而 C 语言是典型的编译型语言,需要一次性编译链接成可执行文件后才能执行,其机器码由 CPU 直接运行,因此执行速度极快,但依赖特定平台且编译过程较长

第三方库的安装—pip

输出print()

文件刷新类型

刷新类型触发条件说明代码示例
自动刷新文件关闭with块结束、调用close()、程序退出时自动刷新with open('file.txt') as f:
缓冲区满写入数据达到缓冲区大小上限(默认8KB左右)f.write("A"*8192)
遇到换行符仅限行缓冲模式(buffering=1),每遇到\n就刷新f = open('f.txt', 'w', buffering=1)
手动刷新调用flush()强制将缓冲区内容写入磁盘f.flush()
print()函数设置flush=True参数,打印后立即刷新print("内容", flush=True)
特殊场景os.fsync()强制将数据从操作系统缓存写入物理磁盘(更底层)os.fsync(f.fileno())

str.format(格式输出)

  1. str.format() 方法通过字符串中的花括号 {} 来识别替换字段 replacement field ,从而完成字符串的格式化
  2. 替换字段 由字段名 field name 和转换字段 conversion field 以及格式说明符 format specifier 组成,即一般形式为 {字段名=转换字段:格式说明符}
  3. 字段名分为简单字段名 simple field name 和复合字段名 compound field name
  4. 而转换字段和格式说明符都是可选的

1. 简单字段名

类型语法示例说明
位置参数{0},{1}"{0} is {1}".format("Tom", 18)数字索引,从0开始
关键字参数{name}"{name} is {age}".format(name="Tom", age=18)直接写参数名
省略数字{}"{} is {}".format("Tom", 18)自动按顺序匹配(Python 2.7+)

2. 复合字段名

类型语法示例说明
属性访问{0.name}"{p.name} is {p.age}".format(p=person)访问对象的属性
列表索引{0[0]}"{names[0]} is {ages[0]}".format(names=['Tom'], ages=[18])通过索引取列表元素
字典键{0[key]}"{d[name]} is {d[age]}".format(d={'name':'Tom', 'age':18})通过键取字典值

3、转换字段(Conversion Field)

转换符作用示例输出说明
!s调用str()"{0!s}".format([1,2])'[1, 2]'字符串形式(默认)
!r调用repr()"{0!r}".format([1,2])"'[1, 2]'"开发者友好形式
!a调用ascii()"{0!a}".format("你好")"'\\u4f60\\u597d'"ASCII转义形式

{}叫作替换域,也叫做占位符。关键字参数赋值时顺序可以任意

格式控制

冒号后面不能有空格

一般推荐等号和冒号都没空格,其他的运算符都要有,以便符合语法且美观

格式控制语法示例输出结果说明
保留小数f"{3.14159:.2f}"'3.14'保留2位小数
f"{3.14159:.0f}"'3'保留0位小数(取整)
宽度对齐f"{'左':<10}"'左 '左对齐,宽度10
f"{'右':>10}"' 右'右对齐,宽度10
f"{'中':^10}"' 中 '居中对齐,宽度10
填充字符f"{'*':->10}"'--------*'右对齐,-填充
f"{'*':0>5}"'0000*'数字补零常用
千位分隔f"{1000000:,}"'1,000,000'整数千位分隔
f"{12345.67:,.2f}"'12,345.67'带小数的千位分隔
百分比f"{0.125:.1%}"'12.5%'小数转百分比
指数形式f"{12345:e}"'1.234500e+04'科学计数法
f"{12345:.2e}"'1.23e+04'保留2位小数指数
进制转换f"{255:b}"'11111111'二进制
f"{255:o}"'377'八进制
f"{255:x}"'ff'十六进制(小写)
f"{255:X}"'FF'十六进制(大写)
符号含义示例输出
+正数显示+,负数显示-"{:+d} {:+d}".format(5, -5)'+5 -5'
-负数显示-,正数无符号(默认)"{:-d} {:-d}".format(5, -5)'5 -5'
空格正数留空格,负数显示-"{: d} {: d}".format(5, -5)' 5 -5'
格式含义代码示例输出说明
:.ngn位有效数字(通用格式)f"{123.456:.2g}"1.2e+02自动选择小数或科学计数法
:.n默认就是g格式f"{123.456:.2}"1.2e+02省略g等同于g格式

g格式

g格式= general format(通用格式),自动在小数形式科学计数法之间选择更合适的显示方式

核心规则表格

条件采用的格式示例 (:.3g)说明
0.0001 ≤ 数值 < 1000小数形式123.456123正常显示
数值 ≥ 1000科学计数法1234.561.23e+03大数用科学法
数值 < 0.0001科学计数法0.000012341.23e-05极小值用科学法

特殊数值处理

数值:.3g:.6g说明
000零值
424242整数
3.14159265353.143.14159π
2997924583e+082.99792e+08光速
6.626e-346.63e-346.626e-34普朗克常数
float('inf')infinf无穷大
float('nan')nannan非数字
  1. g格式进行四舍五入(按照有效数字位数)

  2. 自动去掉末尾的0(显示更简洁)

  3. 整数不显示小数点

  4. n=有效数字位数,不是小数点后位数

  5. 省略g直接写:.n等同于:.ng

输入input

阻塞等待用户输入,返回值是一个字符串

串的拼接

串与数相乘

类型转换(int、float、eval)

eval

参数类型必需说明示例
expressionstr要解析和求值的Python表达式"2 + 3"
globals(缺省)dict全局命名空间(全局变量){'x': 10}
locals(缺省)dict/mapping局部命名空间(局部变量){'y': 20}
场景代码说明注意事项
使用当前作用域x = 10; eval("x + 5")自动获取当前变量15
指定全局eval("x + y", {'x': 5}, {'y': 3})分别指定全局/局部8
限制内置函数eval("len('hi')", {'__builtins__': {}})禁止使用内置函数会报错
安全空环境eval("1+1", {"__builtins__": None})只保留数学运算减少风险
优先级作用域英文说明示例
1局部作用域Local函数内部当前作用域函数内的变量
2嵌套作用域Enclosing外层嵌套函数闭包中的变量
3全局作用域Global模块级别模块顶层定义的变量
4内置作用域Built-inPython内置函数/异常print,len,Exception

对象与变量

概念说明生活比喻代码示例
变量是对象的引用(标签/名字)像贴在对象上的便利贴a = [1, 2, 3]
对象在内存中真实存在的数据实体像一个真正的盒子[1, 2, 3]存在内存中
赋值将变量标签贴到对象上把便利贴撕下来贴到另一个盒子上a = 100
http://www.jsqmd.com/news/450275/

相关文章:

  • 告别死记硬背!5款自主探索型科学实验平台,孩子玩着学出理科思维 - 品牌测评鉴赏家
  • C盘空间不足一键清理免费工具:2026年笔记本应急自救指南
  • 探索电机世界:定子永磁型双凸极永磁同步电机与磁通切换电机
  • 北京西服定制排行榜,西服定制店铺推荐
  • 谷歌 Pixel 10a:升级有限但价格亲民
  • 高考物理实验复习封神平台推荐!告别“读数火葬场”,20分稳拿不崩 - 品牌测评鉴赏家
  • NEAR AI开源IronClaw,强化AI Agent安全
  • 51单片机智能浇花器项目全解析
  • SQL逆袭:从传统走向前沿
  • 宝妈必藏|6个在家就能用的科学实验平台,免费好用不费妈 - 品牌测评鉴赏家
  • SpringBoot+Vue在线视频会议系统(含AI助手+敏感词过滤+即时通讯 多人在线会议(视频+语音+投屏) 2:集成DeepSeek大模型作为AI会议助手 3:智能敏感词过滤系统(可自定义规则)
  • 原生Java框架:JBoltAI助力Java开发公司AI转型
  • 无线低功耗大容量数据采集记录系统设计方案
  • “养龙虾”OpenClaw+华为泰山2280(现货)+麒麟操作系统V10,保姆级部署操作指南
  • AI 代码迁移:理想与现实的差距
  • 苹果3月活动,新品能否带来惊喜?
  • pcb硬金工艺详解 硬金与沉金区别
  • 小县城AI热潮,真实含量几何?
  • 秃鹰搜索算法优化极限学习机实现多输入单输出拟合预测
  • OpenClaw是什么?OpenClaw能做什么?2026年OpenClaw部署保姆级教程
  • 移动机器人轨迹跟踪:Backstepping算法的MATLAB实践
  • JBoltAI 4.1 企业实际使用体验及功能解析
  • 企业采购招标管理系统(Java)
  • DRM设备文件
  • LVS(Linux virual server)
  • 2026最新OpenClaw(龙虾ai)安装配置API思路与推荐方案
  • 强化学习综述
  • 瓶颈定位四步法:日志分析+工具链
  • MWC上非主力手机的新趋势
  • Simulink与Carsim联合仿真:巡航控制的奇幻之旅