范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Python的数据类型转换和运算符

  一、数据类型转换
  1.1 意义
  之所以会存在数据类型转换,这是因为有时获取的数据为字符串格式,如:通过input函数接收键盘的输入。此时将该数据需与指定类型的数据进行运算,就会报错。因此需进行数据类型转换。当然,数据类型转换的前提是结果可预知,也就是保证该字符串确实能转换为对应的数据类型。而数据类型的转换则需用Python内置的函数。
  1.2 转换函数
  下面给出Python内置的常见的数据转换函数:
  函数
  类比Java
  说明
  int(x[, base])
  Integer.parseInt
  将x转换为一个整数
  float(x )
  Float.parseFloat
  将x转换为⼀个浮点数
  complex(real [,imag ])
  无
  创建⼀个复数,real为实部,imag为虚部
  str(x )
  String.valueOf
  将对象 x 转换为字符串
  repr(x )
  无
  将对象 x 转换为字符串
  eval(str )
  ScriptEngin对象的eval方法
  ⽤来计算在字符串中的有效Python表达式,并返回⼀个对象
  tuple(s )
  Collections.unmodifiableList
  将序列 s 转换为⼀个元组
  list(s )
  new ArrayList
  将序列 s 转换为⼀个列表
  set(s)
  new HashSet
  将序列s转换为一个集合
  chr(x )
  直接强转为char
  将⼀个整数转换为⼀个Unicode字符
  ord(x )
  直接强转为int
  将⼀个字符转换为它的ASCII整数值
  hex(x )
  Integer.toHexString
  将⼀个整数转换为⼀个⼗六进制字符串
  oct(x )
  Integer.toOctalString
  将⼀个整数转换为⼀个⼋进制字符串
  bin(x )
  Integer.toBinaryString
  将⼀个整数转换为⼀个⼆进制字符串
  1.3 示例
  下面给出对应的示例:s = "12" # 字符串转换整数 i = int(s) print(f"i的值为:{i}, 类型为:", type(i))  # 字符串转为float s = "3.14" f = float(s) print(f"f的值为:{f}, 类型为:", type(f))  # 获取复数类型 c = complex(3, 2) print(f"c的值为:{c}, 类型为:", type(c))  # 对象转字符串 snum = str("12") print(f"snum的值为:{snum}, 类型为:", type(snum))  # 对象转字符串,与str的区别在于,若被转换的对象本就为字符串,则会额外增加单引号 rnum = repr("12") print(f"rnum的值为:{rnum}, 类型为:", type(rnum))  arr = ["Tom", "Jerry", "Spike"] # 序列转元组 t = tuple(arr) print(f"t的值为:{t}, 类型为:", type(t))  # 序列转列表 l = list(arr) print(f"l的值为:{l}, 类型为:", type(l))  # 序列转集合 ss = set(arr) print(f"ss的值为:{ss}, 类型为:", type(ss))  # 整数转对应的字符,这里的字符的类型依然为字符串 c = chr(65) print(f"c的值为:{c}, 类型为:", type(c))  # 字符类型转整数 o = ord("A") print(f"o的值为:{o}, 类型为:", type(o))  # 整数转换为十六进制 h = hex(10) print(f"h的值为:{h}, 类型为:", type(h))  # 整数转换为八进制 oc = oct(10) print(f"oc的值为:{oc}, 类型为:", type(oc))  # 整数转换为二进制 b = bin(10) print(f"b的值为:{b}, 类型为:", type(b))
  执行结果如下:
  二、运算符
  所谓运算符就是一种特殊的符号,可实现数据的赋值、比较和运算等。与Java类似,Python的运算符也大致分为:算术运算符、赋值运算符、比较运算符、逻辑运算符以及位运算符等。
  2.1 算术运算符
  算术运算符主要用于实现常见的一些算术运算,如:加、减、乘、除、求余等。下面为Python中提供的算术运算符:
  运算符
  描述
  +
  加
  -
  减
  *
  乘
  /
  除
  //
  整除
  %
  求余
  **
  指数
  需要说明的是,这里的除与Java有些差别。对于Java而言,使用" / "做除法运算时,若参与运算的数据都为整数类型,则进行整除运算;若参与运算的数据至少含一个浮点数类型,则会保留小数位。但在Python中,使用" / "做除法运算时,无论数据类型为整数还是浮点数,都会保留小数。若需进行整除操作,则必须使用专门的整除运算符:" // "。
  下面给出对应的例子:# 加法 print("3 + 2 =", 3 + 2) # 减法 print("3 - 2 = ", 3 - 2) # 乘法 print("3 * 2 = ", 3 * 2) # 除法 print("3 / 2 = ", 3 / 2) # 整除 print("3 // 2 = ", 3 // 2) # 求余 print("3 % 2 = ", 3 % 2) # 指数 print("3 ** 2 = ", 3 ** 2)
  执行结果如下:
  2.2 赋值运算符
  2.2.1 单赋值运算符
  对于赋值运算符而言,Python与Java一样,均使用" = "。下面给出对应的例子:# 为单个变量赋值 num = 1 print("num:", num)  # 多个变量符相同的值 a = b = 10 print("a = ", a, ", b = ", b)
  执行结果如下:
  当然,python除可使用如上方式进行赋值外,还使用多变量赋值的语法,下面给出对应的例子:# 多变量赋值 num1, float1, str1 = 10, 0.5, "hello world" print("num1:", num1) print("float1:", float1) print("str1:", str1)
  执行结果如下:
  2.2.2 复合赋值运算符
  复合赋值运算符本质上也是赋值运算符,只不过与常见的算术运算符组合使用后有了新的含义,如:a += b相当于a = a + b。下面给出复合运算符对应的例子:# += a = 3 a += 2; print("a的值为:", a)  # -= b = 3 b -= 2 print("b的值为:", b)  # *= c = 3 c *= 2 print("c的值为:", c)  # /= d = 3 d /= 2 print("d的值为:", d)  # //= e = 3 e //= 3 print("e的值为:", e)  # %= f = 3 f %= 2 print("f的值为:", f)  # **= g = 3 g **= 2 print("f的值为:", g)
  执行结果如下:
  2.3 比较运算符
  比较运算符通常用来对两个数据进行比较,下面给出常见的比较运算符:
  运算符
  描述
  ==
  判断两个操作数是否相等,若相等返回True,否则返回False
  !=
  判断两个操作数是否不相等,若不相等返回True,否则返回False
  >
  判断左侧操作数是否大于右侧操作数,若大于返回True,否则返回False
  <
  判断左侧操作数是否小于右侧操作数,若小于返回True,否则返回False
  >=
  判断左侧操作数是否大于等于右侧操作数,若大于等于返回True,否则返回False
  <=
  判断左侧操作数是否小于等于右侧操作数,若小于等于返回True,否则返回False
  下面给出对应的示例:a = 7 b = 5 print("a == b : ", a == b) print("a != b : ", a != b) print("a > b : ", a > b) print("a < b : ", a < b) print("a >= b : ", a >= b) print("a <= b : ", a <= b)
  执行结果如下:
  2.4 逻辑运算符
  逻辑运算符主要用于连接两个布尔值或布尔表达式,对于Python而言,其逻辑运算符有三个,分别是:与(and)、或(or)和非(not)。下面给出三者代表的含义:
  运算符
  逻辑表达式
  描述
  and
  x and y
  表示与,若x为False,则返回False,否则返回y
  or
  x or y
  表示或,若x为True,则返回True,否则返回y
  not
  not x
  表示非,若x为True,则返回False,否则返回True
  下面给出对应的例子:a = 1 b = 2 c = 3 print((a < b) and (b < c)) print((a > b) and (b < c)) print((a > b) or (b < c)) print(not(a > b))
  执行结果如下:
  需要说明的是,Python中的逻辑运算符具备短路功能。比如下面的例子:print(10 < 5 and 3 / 0 > 0) print(10 > 5 and 3 / 0 > 0)
  执行结果如下:
  也就是说,当通过首个布尔值或布尔表达式可推断出整个表达式的值时,不会执行后续的判断。由于10 < 5为False,此时可推断整个表达式的值为False,因此不会尝试执行后续的3 / 0 > 0操作,因此未抛出异常;但对于第二个表达式而言,首个布尔表达式10 > 5为True,因此还需进行后续的3 / 0 > 0判断,因此抛出了除零异常。
  需要说明的是,由于在Python中,数字类型也可自动转换为布尔类型,因此逻辑运算符还可在两个数字间进行运算。当逻辑运算符在数字间进行运算时,若为and,则只要存在一个为0的值,则直接返回0,否则返回最后一个非0的数字;若为or,当所有值均为0时,才返回0,否则返回首个非0的数;若为not,则表达式为非0数字时,返回False,否则返回True。下面给出一个例子:a = 0 b = 1 c = 3 d = 4 print("a and b and c的结果为:", a and b and c) print("b and c and d的结果为:", b and c and d)  print("a or b or c的结果为:", a or b or c) print("a or c or d的结果为:", a or c or d) print("a or a or a的结果为:", a or a or a)  print(not a) print(not b) print(not c)
  执行结果如下:
  2.5 位运算符
  位运算符主要用于对整数进行移位操作,常见的位运算符有:左移(<<)、右移(>>)、按位与(&)、按位或(|)、按位反(~)以及按位异或(^)等。这与Java中的位运算类似。
  下面给出对应的例子:# 左移操作 a = 6 print("a << 1的值为:", a << 1)  # 右移操作 print("a >> 1的操作为:", a >> 1)  b = 4 # 按位与 print("a & b的值为:", a & b)  # 按位或 print("a | b的值为:", a | b)  # 按位反 print("~a的值为:", ~a)  # 按位异或 print("a ^ b的值为:", a ^ b)
  执行结果如下:

俄罗斯先崩溃还是乌克兰先崩溃俄乌战争中各方正义的正当性解读,勋哥哲学思考俄乌战争是各方研究一大堆,但是很少从哲学层面解读。战略层面,经济层面,背景分析,人文历史等等,在俄乌战争都能解读出几十万字的文章。在俄乌分手的理由能有多离谱?你不理解的思维逻辑,是女生的专属在您阅读本文章前,麻烦点个关注,收看最新搞笑风趣内容!感谢各位的支持满脸问号?我这怎么孤寡了?你这脑回路,怪不得你单身!强行拉扯!一整个尬住衰跟女朋友吵架,俩人气都没消,让她这段话吞噬星空雾岛的摩云藤到底有多强?吞噬星空官方连续两周都只是放出40和41集的预告,这波操作真的很无语,不过同时官方已经确定即将回归,很多粉丝觉得6。8号可以连播两集,按照目前的情况来看可能性很高。最好能一次性把雾一个屁打断拍摄大蟒蛇不是道具?西游记背后让人哭笑不得有人说人到中年就像一部西游记,唐僧一样的絮叨,悟空一样的压力,八戒一样的身材,沙僧一样的秃顶,最要命的是离西天越来越近了其实,真正86版西游记的幕后,远比这一番解释更生动。这部戏走秦平在强化法治思维中有力维护网络安全群众的网络安全意识逐步提高,各类政策法规逐渐完善,网络安全技术日益完备中华人民共和国网络安全法2017年6月1日施行五年来,对于我国提高网络空间管理水平,增强网络空间安全综合防御能DNF110级预热地图技巧!能判断隐藏BOSS,刷材料其实不用很累110级圣域降临预热活动,因每天要打20次图,从而备受玩家吐槽,毕竟刷满自选史诗,一周打两天就够了。但为了圣域材料,不少玩家仍旧爆肝预热地图,其实存在着小技巧。110级预热地图存在落马厅官黄柏青,父子联手疯狂受贿,减刑不成却被讹传受贿近2亿最近,目前正在广东省河源监狱服刑的广东省水利厅原厅长黄柏青,因表现良好,监狱方面报请为他减刑5个月,被广东省河源市中级人民法院裁定不予减刑,这一消息引发社会广泛关注。黄柏青其人,在从人教版插画到江南布衣,诡异之风背后秘密被扒谁是幕后黑手?这几天,小学课本的插画课外读物的民歌童装的印花图案引起公众的质疑和愤怒。真是一波未平一波又起。人教版的数学教材,孩子们已经用了十年,却在一周之内上了不下七次热搜。关于教材插画的问题美以蜜月期生变?美国重开巴勒斯坦领事馆,选在以方最敏感地点美国国务院发言人普莱斯6月1号表示,拜登政府仍致力于重新开放美国在耶路撒冷的巴勒斯坦领事馆。特朗普在任期间,曾将驻以色列大使馆迁至耶路撒冷,随后关闭在耶路撒冷设置的巴勒斯坦领事馆。频频上李佳琦直播间这个淘宝店铺喵速达什么来头?近日,有网友发现有一家叫做喵速达的店铺频频上线李佳琦直播间,从618预售开始,每晚都能在李佳琦直播间听到喵速达这个名字。李佳琦甚至在直播时直言,之后喵速达会支持他的直播间,为大家带每天都在坚持的小习惯,收获满满曾经一度迷茫,最终还是被我的不放弃给打败了!虽说收益不高,但是,作为自媒体创作者,每天都在坚持拍视频,每天都在重复地做着同样的事,感觉收获满满!自从加入自媒体行业以来,从刚开始做二
全新宝骏730新增车型上市,售7。8810。88万元,值得购买吗?从以往的销量看,宝骏730自打上市以来就成为MPV类热销榜单的常客,一个自主品牌在一个非刚需的类型领域有此建树,实在了不起。它的出现为原本只停留早商用领域的MPV车型赋予了家庭的气最近想买手机,高端机哪台比较好?前情回顾之前用苹果,但嫌弃信号差换了华为P40,又觉得有点小,所以想换一台高端机。高端机哪台比较好?目前来看,下半年出的高端机并不多,首当其冲的就是vivo家族两旗舰,vivoX7你觉得选角有问题的电视剧有哪些?无心法师里的张显宗和岳绮罗原著中的岳绮罗吃婴儿喝脑浆,做过男人也做过女人,凶残的不得了,随便开外挂投胎不喝孟婆汤的不灭老妖怪。看书的时候恨得牙痒痒的一个大反派。然而剧中真是分分钟圈从转业士兵到县处级以上干部,有哪些方式?分三个层面来解答你的问题。第一,士兵(士官)转业地方身份不是干部,而是工人。目前士兵只有在部队干满十二年以上的三期以上士官才具备打分安置的资格(退役军人保障法实施后这个政策也取消了当年熊猫烧香的作者现在怎样?李俊,男,熊猫烧香病毒制作者。2007年9月24日被湖北省仙桃市人民法院以破坏计算机信息系统罪处以4年有期徒刑。2009年12月24日下午,李俊由于狱中表现良好,提前出狱。2014古人面对灭九族的刑罚时,为何家中亲人不逃走呢?首先就是因为古代消息传播速度过慢。在那个科技交通并不发达的时代中,要想传播消息就得靠信件,而信件要由邮差来发放再起码到各个驿站,然后换马,最后才能把信送到,除此之外还可以选择飞鸽传为什么一些人从公务员辞职?最近,一位公务员朋友辞职了,结束了他8年的公职生涯,我很是不解,公务员的工作是大家公认的好,工资不低,福利也好,社会地位还高,为什么要辞职呢?细数一下我认识的公务员中,居然已经有不想买一辆车,价格十五万左右,外观和内饰要好,还要省油。最好是suv,有什么推荐?十五万左右想选择一款suv还是可以选到不少车型的,包括日系大众的紧凑级,国产的中级suv都可以能满足这个价格要求。下面,我就推荐几款这个价位的车型。日产逍客。逍客是日产的紧凑级su你最喜欢看的10部老电影都是什么?本人是一个超级武侠迷,最喜欢邵氏武打电影!一,王羽系列独臂刀风雨双流星。独臂刀是由张彻执导的武侠片,王羽焦姣等参与演出。影片于1967年7月26日在中国香港上映。该片讲述了方刚以残一个人帮女儿带小孩还要做家务,女儿女婿整天忙,回来也不帮忙,自己很累怎么办?我曾经在涂磊老师主持的一档节目中,看过一个家庭,和题主您说的很相似。那位老母亲是男方的妈妈,是给自己儿子和儿媳妇看小孩,她站在舞台上,含着眼泪说你们每天回来连宝宝都不看一眼,妈妈我抑郁症的根源是什么?抑郁到底是大脑病变引起的,还是大脑认知错误引起的?根源或许是遗传因素,然后和个人生活,乱用药物都有关系,大脑的化学物质不平衡有关系抑郁症几乎可以影响任何年龄的任何人。甚至有些人的抑郁症原因很难理解。研究人员怀疑抑郁症的原因有很多,