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

Python导论、数据类型、运算、I/O

Python导论

Python是一门脚本语言,其扩展名为.py。脚本语言是被逐句解释执行的,此过程依赖于解释器。Python的解释器有CPython、Pypy等。

程序构成

Python程序由模块、语句、表达式、对象组成。

  • 模块:每个.py源代码文件即为模块,系统自带的模块为系统模块,用户编写的模块为用户模块。模块由若干语句构成。

  • 语句:分为简单语句和复合语句。注意Python语句严格强调缩进,否则会导致语法错误。

    • 简单语句:一般地,每条简单语句独占一行。若一行内有多条语句,则其之间使用;分隔。包括表达式、赋值、pass(空语句)、delreturnbreakcontinueimportglobal等。
    • 导入模块(import)语句:import [module]from [module] import [name]。前者导入后使用模块名.成员名调用,后者导入后使用成员名调用。
    • 复合语句:有多行代码组成的语句,包括ifwhilefordeftrywithclass等。由头部语句与构造体语句块组成,其中:表示复合语句中语句块的开始。构造体语句块相对于头部语句块有缩进。
    • 注释:分为注释语句与注释块,解释时跳过此语句/块。#开头的语句为注释语句,被'''包围的块为注释块。
  • 对象:Python中万物皆对象,对象通过标识、类型、值进行标识。

    • 标识:唯一地标识对象,id([name])返回对象标识,CPython中表示对象的内存地址。
    • 类型:对象的数据类型,type([name])返回对象的数据类型。
    • 值:对象的实际值,print([name])返回对象的实际值。

    ==判断两个对象的值是否相同,is判断两个对象的标识是否相同(是否指向同一个对象)。

数据类型

类型描述
数字
不可变对象
整数(int)
浮点数(float)(即小数)
布尔 (bool):False(0)为假,True(非0)为真
复数 (complex):如4+3j(以j结尾表示复数)
字符串 (str,' '/" ")
不可变对象
由任意数量的字符组成
元组 (tuple,( ))
不可变对象
不可变的序列,可随机访问
序列中元素可为任意数据类型
列表 (list,[ ])
可变对象
可变的序列,可随机访问
序列中元素可为任意数据类型
相当于其他语言的数组
集合 (set,{ })
可变对象
不重复的无序序列,不能随机访问
序列中元素必须为不可变对象,且可被哈希
字典 (dict,{ : })
可变对象
不重复的键值对(Key->Value)序列,必须只访问存在的键
若存在多个重复键,则只保留最后一个
键必须为不可变对象,且可被哈希

赋值

Python是动态语言,变量无需显式声明,通过赋值可自动确定数据类型。

  • 赋值语句:标识符=对象=为赋值运算符,用于将标识符指向某个对象(引用该对象)。
  • Python支持链式赋值语句:标识符1=标识符2=对象,对象从右到左依次传递。
  • 使用del删除标识符:del 标识符
  • 序列解包赋值:Python可将序列解包为对应相同个数的变量,如a,b=b,a。若想解包部分值,可使用特殊变量_(相当于其他语言中的ignore:_,b=1,2)。

运算

算术运算

  • 四则运算:+,-,*,/(小数),//(整除)

  • 取模:%(注意Python是取模不是取余)

  • 乘方:**/math.pow/pow

  • 自然底数:math.exp

  • 对数:math.log(不指定底数则为 ln ⁡ \ln ln)/math.log10( lg ⁡ \lg lg)/math.log2

  • 三角及反三角函数:math.sin/math.cos/math.tan/math.asin/math.acos/math.atan

逻辑运算

  • 非:not
  • 与:and
  • 或:or

I/O

输入(input函数)

  • 构造:input(["提示"])([]内表示可选参数)

  • 作用:从stdin获取输入,返回所输入的字符串(str),可将字符串转为需要的数据类型,如a=int(input())

  • 若要输入带有提示,则向input传递提示字符串参数。

  • 输入的字符串可使用字符串的分割方法(str.split()),进而传递给多个标识符。
    a,b=map(int,input().split([sep=None]))(map表示批量作用,split默认以空格分割)

输出(print函数)

  • 构造:print(obj[,sep=' ',end='\n',file=stdout])
  • obj:所要输出的对象
  • sep:若输出多个对象,指定对象间的分隔符(默认为空格)
  • end:输出行尾结束符(默认为\n)
  • file:指定输出到的文件(默认为stdout)

格式化输出

格式化输出有f-string、str.format()、%格式化三种方法,在此仅介绍f-string方法。

print(f"{对象名:格式说明}")
示例说明
{value:10}宽度10,默认右对齐,空格填充
{value:<10}宽度10,左对齐
{value:^10}宽度10,居中对齐
{value:0>10}宽度10,右对齐,0填充
{value:.2f}浮点数,小数点后保留2位
{value:,.2f}加千分位符,保留2位
{value:.0%}百分比格式,四舍五入到整数百分比
http://www.xdnf.cn/news/14594.html

相关文章:

  • 华大北斗TAU951M-P200单频定位模块 多系统冗余保障永不掉线 物流/车载导航首选
  • MySQL学习(1)——基础库操作
  • 开关电源:BUCK和BOOST
  • 逆向某物 App 登录接口:还原 newSign 算法全流程
  • 《情感反诈模拟器》2025学习版
  • 装配体镜像阵列与爆炸视图-装配体设计技能(2)
  • 算法-动态规划-钢条切割问题
  • 数智管理学(二十四)
  • C# Quartz.net 定时任务
  • Java Spring框架的核心原理详解
  • JDK 动态代理: 它的工作原理是什么?它有什么限制?
  • Linux系统基本操作指令
  • 深度实战|星环OS三大创新场景解密:如何用确定性技术重构智能汽车安全与体验?
  • K8s入门指南:架构解析浓缩版与服务间调用实战演示
  • 【51单片机定时中断 工作方式0, 1ms 初值是如何计算的?】2022-5-13
  • vue3 el-table 行颜色根据 字段改变
  • 【论文阅读 | CVPR 2024 |Fusion-Mamba :用于跨模态目标检测】
  • Python打卡训练营Day56
  • 【单调栈】-----【Largest Rectangle in a Histogram】
  • AWS VPC 子网划分实战指南:从基础到进阶
  • 人人都是音乐家?腾讯开源音乐生成大模型SongGeneration
  • 人工智能学习51-ResNet训练
  • 【51单片机2位数码管100毫秒的9.9秒表】2022-5-16
  • 【转】如何画好架构图:架构思维的三大底层逻辑
  • 大数据时代的“广告魔法”:精准投放到底怎么玩?
  • 软件工程概述:核心概念、模型与方法全解析
  • 58-Oracle Autotrace功能和演进
  • Python新春烟花
  • 江科大STM32入门:DMA传输数据
  • CNN工作原理和架构