Day 3 python入门拾遗篇:bytes和str转化;三元运算;进制转化

pre.ctl { font-family: "Liberation Mono", monospace }
p { margin-bottom: 0.25cm; line-height: 120% }

1.bytes类型

Python3中一个很重要的特性就是对文本和二进制数据做了较为明显的划分。

文本:Unicode,由str类型表示。

二进制数据:bytes类型表示。电影文件、音频文件都由二进制文件存储。

bytes类型和str类型相互转化:

string------>bytes:encode

bytes------>string:decode

举个例子吧:

#Author:Michelle Yang
#定义字符串类型变量
msg=你好,中国!

#字符串类型转bytes类型
print(msg.encode(‘utf-8‘))
#encode()里面的utf-8表明的是msg原先的字符编码类型

#bytes类型转字符串类型
print(msg.encode(‘utf-8‘).decode(‘utf-8‘))
#decode()里面的utf-8表明的是想要最终转码的字符编码类型

2.三元运算

标准格式: result = 值1 if 条件 else 值2

解释:若条件为真,result=值1,相反,则为值2.下面举例说明:

	a = 3
	result=1 if a>5 else 2
	print(result)                                           -------->2

3.进制之间的转化:

每一位八进制数可以用三位二进制数表示;

每一位16进制数可以用四位二进制数表示;

八进制或十六进制数都可以通过先转化成二进制数然后再转化为十进制数。

时间: 2024-08-10 23:20:22

Day 3 python入门拾遗篇:bytes和str转化;三元运算;进制转化的相关文章

(一)Python入门-2编程基本概念:08整数-不同进制-其他类型转换成整数

一:整数-不同进制 Python中,除10 进制,还有其他三种进制: ·0b或0B,二进制 0 1 ·0o 或0O,八进制 0 1 2 3 4 5 6 7 ·0x或 0X,十六进制 0 1 2 3 4 5 6 7 8 9 a b c d e f 这三种进制可以非常方便的进行“位运算”操作.位运算知识后面介绍. [操作]测试不同进制 1 >>> 12 2 12 3 >>> 0b101 4 5 5 >>> 0o19 6 SyntaxError: inval

python之路(sed,函数,三元运算)

python之路(sed,函数,三元运算) 一.sed集合 1.set无序,不重复序列 2.创建 1 se = {11,22,33,33,44} 2 list() #只要是一个类加上()自动执行 list __init__ 3 list = [11,22] 4 5 s1 = set(list) 6 print(s1) 7 8 #创建集合 9 s1 = {11,22} 10 s2 = set('可循环的') 11 12 #操作集合 13 s = set() 14 print(s) 15 s.add

python数据结构:进制转化探索

*********************************第一部分******************************************************************* *********************************************************************************************************************** # 输入excel的行号,输出对应列的序号(从0开

python中的2、8、16、10进制之间的转换

python除法的坑 众所周知,python除法有两个运算符,一个是/,还有一个是//,那么这两个有什么不同之处呢? 从图片可以得知,使用//返回一个float类型,而使用/返回一个int类型.我们总结一下: // 是整除,自动转型位float / 除法 那么如何使用整除运算符返回一个float类型呢? 我们只要让除数和被除数任意一个为float类型进行运算返回就是一个float类型的值. 10.2.8.16进制 像0,1,2,3,4......10这样的数就是10进制,并且满十位进一位,即逢十

剑指offer-二进制中1的个数-进制转化-补码反码原码-python

题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. ''' 首先判断n是不是负数,当n为负数的时候,直接用后面的while循环会导致死循环,因为负数 向左移位的话最高位补1 ! 因此需要一点点特殊操作,可以将最高位的符号位1变成0,也就 是n & 0xffffffff,这样就把负数转化成正数了,唯一差别就是最高位由1变成0,因为少了 一个1,所以count加1.之后再按照while循环里处理正数的方法来操作就可以啦!''' # -*- coding:utf-8 -*- c

python基础-三元运算和bytes数据

三元运算     进制 二进制,01 八进制,01234567 十进制,0123456789 十六进制,0123456789ABCDEF bytes类型 http://www.cnblogs.com/txw1958/archive/2012/07/19/2598885.html Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分.文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示.Python 3不会以任意隐式的方式混用str和bytes,正是这

python数据l类型 ——bytes 和 bytearray

bytes和 bytearray bytes:可以看作是一组数值(0-256)(二进制) 的 str 序列bytearray :可以看作是一组数值(0-256)(二进制) 的 list 序列 bytes类型 字符串转bytes类型 # 将返回 bytes 类型 b" abc " bs1 = bytes("abc","utf-8") # 可以使用字符的16进制字符表达形式 bs2 = bytes('\x61\x62\x63',"utf-8

用Python内置函数轻松实现各种进制数之间的转换

0.说明 9个月没有写过Python了,这9个月都在华为的ICT知识海洋里遨游,前段时间刚刚通过了HCIE的认证,想着还是喜欢Python和Linux多些,所以又回来了,后面会有越来越多的Python干货分享给大家,比如后面会打算写一个完整的Linux主机监控项目的教程给初入门的朋友,相信这会是非常不错的体验. 那段时间,曾经有些时候,我需要对各种进制进行转换,因为虽然那会不写Python了,但是还是用Python自带的解释器用来做简单的数学计算,很方便. 在网上找,看有没有方法可以实现各种进制

python开发基础:三元运算&生成式&成员运算&解压法&队列堆栈&数据类型转换

一,三元运算&生成式&成员运算&解压法&队列堆栈&数据类型转换,都在一个code里 1 #!/usr/bin/env python 2 #_*_coding:utf-8_*_ 3 4 #三元运算 5 #if条件成立的结果 if 条件 else else条件成立的结果 6 #原来逻辑 7 # a,b=10,20 8 # if a > b: 9 # c = 5 10 # else: 11 # c = 10 12 # print(c) 13 #三元逻辑 14 # a