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

PYTHON学习笔记3

数据类型转换

在python中,数据类型的转换一般情况下只需要将数据类型作为函数名即可,python数据类型转换可以分为两种:隐式类型转换——自动完成,显式类型转换——使用类型函数来转换

隐式类型转换

此过程python会自动将一种数据类型转换为另一种数据类型,不需要我们干预。例如在进行两种不同类型计算时,较低数据类型会转换为较高数据类型。(比如整数和浮点数进行求和,最终的求和结果是浮点数。)

显式类型转换

在显式类型转换中,使用预定义的函数进行数据类型转换。

int(x,base) #x转换为一个整数,base是指定被转换字符串的进制数 float(x) #将x转换到一个浮点数 complex(real,image) #创建一个复数 str(x) #将对象转换为字符串 repr(x) #将对象转换为表达式字符串 eval(str) #计算字符串中的有效python表达式并返回一个对象 tuple(s) #将序列转换为一个元组 list(s) #将序列转换为一个列表 set(s) #转换为可变集合 dict(d) #创建一个字典,d是一个(key,value)元组序列 frozenset(s) #转换为不可变集合 chr(x) #将一个整数转换为一个字符 ord(x) #将一个字符转换为他的整数值 hex(x) #将一个整数转换为一个十六进制字符串 oct(x) #将一个整数转换为一个八进制的字符串

下面给出了一个使用int()进行类型转换的例子:

x ='1010' a = int(x,2) print(x) print(a) print(type(a)) #输出结果 1010 10 <class 'int'>

运算符

先简单举个例子:

1 + 2 = 3 #1,2是操作数,+是运算符

python支持算术运算符、比较(关系)运算符、赋值运算符、逻辑运算符、位运算符、成员运算符、身份运算符、运算符优先级。

算术运算符

  • + #两个对象相加
  • - #一个数减去另一个数
  • * #两个数相乘或者是字符串重复若干次
  • / #除法
  • % #取模,返回除法的余数
  • ** #幂
  • // #取整,往小的方向取整数

比较运算符

  • == # 比较对象是否相等
  • != #比较两个对象是否不相等
  • > # 大于
  • <
  • >= #大于等于
  • <= #小于等于

赋值运算符

  • = #简单赋值运算符
  • += #加法赋值运算符
  • -= #减法赋值运算符
  • *= #乘法赋值运算符
  • /= #除法赋值运算符
  • %= #取模赋值运算符
  • **= #幂赋值运算符
  • //= #取整除赋值运算符
  • := #海象运算符,python3.8中新增运算符,主要目的是在表达式中同时进行赋值和返回赋值的值。使用此运算符在有的情况下可以简化代码。
# 传统写法 n = 6 if n >3: print(n) # 使用海象运算符 if (n := 6) >3: print(n)

位运算符

  • & #按位与,如果两个位置都是1则结果为1,否则为0
  • | #按位或,对应位有一个为1结果就是1
  • ^ #按位异或,对应位不同时结果为1
  • ~ #按位取反运算符,数据每个二进制位取反,0变为1,1变为0
  • << #左移运算符,运算数的各二进位全部左移若干位,符号右边的数指定移动的位数,高位丢弃低位补0
  • >> #右移运算符, 将符号左边的运算数的各二进位全部右移若干位,符号右边的数指定移动的位数

逻辑运算符

  • and #布尔与
  • or #布尔或
  • not #布尔非
print(True and True) # 输出:True print(True and False) # 输出:False print(False and False) # 输出:False print(True or False) # 输出:True print(False or True) # 输出:True print(False or False) # 输出:False print(not True) # 输出:False print(not False) # 输出:True

成员运算符

  • in #如果在指定序列中找到了值则返回True,否则返回False
  • not in #如果在指定序列中没有找到值返回True,否则返回False

身份运算符

  • is #判断两个标识符是不是引用自一个对象
  • is not #判断两个标识符是不是引用自不同对象

(is用于判断两个变量引用对象是否为同一个,==判断引用变量的值是否相等)

a = 10 b = 10 c = 20 if (a is b): print("a、b有相同的标识") else: print('a、b有不同的标识') if (a is c): print("a、c有相同的标识") else: print('a、c有不同的标识') #输出结果 a、b有相同的标识 a、c有不同的标识

运算符有不同的运算优先级,一般来说会先计算最高优先级的运算,但是在python中也可以强制改变优先级(如认为添加括号改变顺序)

http://www.jsqmd.com/news/473734/

相关文章:

  • 代码随想录算法训练营第十天 | 用栈实现队列、 用队列实现栈、有效的括号、删除字符串中的所有相邻重复项
  • OFDM MQAM在衰落信道下误比特率性能仿真探索
  • python语法学习
  • Simulink双三相永磁同步电机控制仿真! 1.矢量控制,包括两种电机建模,VSD模型和双d...
  • STM32单片机开发的空气净化器:原理、设计与源码详解,适合开发人员
  • 探索多机器人协同编队避障算法:从人工势场到动态窗口
  • 从空白文档到合格初稿:Paperzz 毕业论文智能写作,让毕业生告别 “选题 - 文献 - 提纲” 三重焦虑
  • KPCA - ISSA - SVM分类预测:MATLAB实战与模型对比
  • Pyrene-PEG-NH2 氨基功能化芘荧光PEG活细胞成像与示踪探针
  • 产品推荐|40分区光控照明系统
  • 自动化测试中JSONPath 是解析复杂 JSON 响应的核心工具
  • binning模式下和normal模式下相同曝光参数相同场景加权亮度差异消除方案
  • LabVIEW图像处理框架核心结构示意图
  • 搞嵌入式开发的小伙伴应该都遇到过PID调参这个头疼的问题吧?今天咱们直接上干货,聊聊怎么在STM32上玩转PID自整定和温度控制。先扔个核心代码片段镇楼
  • HCSR04超声波测距仿真示例
  • 解决OpenWeatherMap API秘钥激活后仍无法使用
  • 基于STM32的电机控制器:Keil与Proteus的嵌入式之旅
  • 鸿蒙中 应用的权限(一)
  • 心理聊天App 5款产品实测对比,哪个更适合情绪内耗的你?
  • 内存涨价、供应不稳?嵌入式工程师必看:适合轻量级项目ARM选型与存储避坑指南
  • GESP C++一级认证完全指南:考点解析与备考策略
  • SpringBoot3实战集成mzt-biz-log,一行代码搞定业务日志记录
  • 电网电压扰动下相光伏并网逆变器控制的Simulink仿真探索
  • 技术人思维看渠道品牌管理:如何让“多渠道不走样”成为可执行的工程化规则?
  • 基于Matlab的螺丝轮廓识别:数字图像处理流程
  • STM32串口双机模拟汽车电量里程项目:Protues仿真与源码解析
  • 无人零售/五金厂必看!边缘设备Java+YOLOv11推理稳定性全攻略:崩溃率从15%降到0.1%,断点续检1秒恢复
  • ThinkPHP反序列化漏洞深度解析:CacheStore组件为何成为攻击入口?
  • 探索Matlab在两相流动相场法与自适应网格中的应用
  • MATLAB代码:基于多能互补的热电联供型微网优化运行 关键词:多能互补 综合需求响应 热电联...