一、字符串与数值的转换

Python中字符串转换为数值:

str_num = '99'

num = int(str_num)

整型数转换为字符串:

num = 99

str_num = str(num)

二、负数向二进制和十六进制转换

负数neg=-45054,为int数据类型

方法一:

求负数十六进制的公式为:

负数十六进制 = hex ( 负数  &  0xFF....FF )  (注意:几个F取决于数据类型的范围,如int数据类型取0xFFFFFFFF)

neg十六进制 = hex(-45054 & 0xFFFFFFFF) = hex(4294922242) = 0xFFFF5002

neg二进制 = bin(neg十六进制)= bin(0xFFFF5002) = 11111111111111110101000000000010

方法二:

利用struct模块求负数的十六进制

import struct

s_hex_neg = pack('i', neg) = '\x02P\xff\xff'       //这里是十六进制的可见字符ascii表示

利用binascii.hexlify将可见字符也进行十六进制表示

    hex_neg = binascii.hexlify(s_hex_neg) = 0250ffff

    将hex_neg进行逆置就是其十六进制

    hex_neg[::-1] = ffff0520

三、十六进制还原成负数和二进制

  neghex=0xFFFF0520,是int数据类型

    1.十六进制转为二进制

      negbin = bin(neghex)='0b11111111111111110000010100100000'

      如果neghex_s='0xFFFF0520', 是字符串表示,那么negbin=bin(int(neghex_s, 16))='0b11111111111111110000010100100000'

    2.十六进制还原为负数

      先提取为十六进制的字符串,并逆置

      neghex_s = hex(neghex)[2:-1] = 'ffff0520'

      neghex_s=neghex_s[::-1] = '0250ffff'

      使用binascii.unhexlify进行去十六进制化

      neghex_pack=binascii.unhexlify(neghex_s)='\x02P\xff\xff'

      再利用struct.unpack进行解析

      neg=struct.unpack('i', neghex_pack)=(-45054,)

      那么neg[0]就是neghex还原的负数

四、二进制向十六进制和负数转化

  neg_bin_s='11111111111111110000010100100000',字符串类型

    1.二进制向十六进制转化

      首先将neg_bin_s按四个字符一组进行分割,然后求其十六进制表示,只要求出十六进制表示,就可以参考“二”进行处理了

        neg_bin_list=[]

        for i in range(0, len(neg_bin_s), 4):

        neg_bin_list.append(neg_bin_s[i:i+4])

        neg_bin_list=['1111', '1111', '1111', '1111', '0000', '0101', '0010', '0000']

      求取0~15的二进制到十六进制字符的key-value映射

        hex_map={}

        for i in range(0,16):      hex_map[bin(i)[2:].zfill(4)]=hex(i)[2:]

      以neg_bin_list元素为key,求取其表示的十六进制字符

        neg_hex_s=''

        for i in neg_bin_list:

        neg_hex_s += hex_map[i]

      求得:neg_hex_s = 'ffff0520'

      从而,求得该二进制字符串对应的十六进制为0xFFFF0520

  2.二进制还原成负数

    在上面步骤1中求得二进制对应的十六进制为‘ffff0520',那么参考“十六进制还原成负数”的做法,可以求出负数

    将十六进制"ffff0520"逆置

      neghex_s=neg_hex_s[::-1] = '0250ffff'

    使用binascii.unhexlify进行去十六进制化

      neghex_pack=binascii.unhexlify(neghex_s)='\x02P\xff\xff'

    再利用struct.unpack进行解析

      neg=struct.unpack('i', neghex_pack)=(-45054,)

    那么neg[0]就是二进制字符串neg_bin_s还原的负数

五、实现十进制转二进制、八进制、十六进制

   # -*- coding: UTF-8 -*-

  # Filename : test.py
 
  # 获取用户输入十进制数
  dec = int(input("输入数字:"))

  print("十进制数为:", dec)
  print("转换为二进制为:", bin(dec))
  print("转换为八进制为:", oct(dec))
  print("转换为十六进制为:", hex(dec))

六、将txt文档中是数值型数据读入到array数组中

  1.介绍我的txt文件内容是这样的,准确来说是在excle表格中复制粘贴到txt文档中的(这里的一列介绍excle中的一列,一行就是excle中的一行),如图所示:

  2.执行如下代码,特别说明一下,k值的含义是txt中的列数,本实验是6列,所以k的赋值为6:

#-*-coding:UTF-8 -*-
import numpy as np
def loadDatadet(infile,k):
    f=open(infile,'r')
    sourceInLine=f.readlines()
    dataset=[]
    for line in sourceInLine:
        temp1=line.strip('\n')
        temp2=temp1.split('\t')
        dataset.append(temp2)
    for i in range(0,len(dataset)):
        for j in range(k):
            dataset[i].append(float(dataset[i][j]))
        del(dataset[i][0:k])
    return dataset
infile='F:\pycharm\h5py_torch\hdf5_format\\test.txt'
k=6
infile=np.array(loadDatadet(infile,k))
print('dataset=',infile)

  3.执行结果如图所示:

  

python 常用技巧的更多相关文章

  1. python常用技巧

    1,关于tab键与4个空格: 由于不同平台间,tab键值设置有所区别,据相关介绍,官方在缩进方面推荐使用4个空格.方便起见,可设置tab自动转换为4个空格. 1.1在pycharm中:    通过fi ...

  2. python常用技巧 — 杂

    目录: 1. 找到字符串中的所有数字(python find digits in string) 2. python 生成连续的浮点数(如 0.1, 0.2, 0.3, 0.4, ... , 0.9) ...

  3. python 常用技巧 — 字典 (dictionary)

    目录: 1. python 相加字典所有的键值 (python sum all values in dictionary) 2. python 两个列表分别组成字典的键和值 (python two l ...

  4. python 常用技巧 — 列表(list)

    目录: 1. 嵌套列表对应位置元素相加 (add the corresponding elements of nested list) 2. 多个列表对应位置相加(add the correspond ...

  5. python 常用技巧 — 数组 (array)

    目录: 1. 数组每一行除以这一行的总数(numpy divide row by row sum) 2. 数组每一行或者每一列求平均 (python average array columns or ...

  6. #1 Python灵活技巧

    前言 Python基础系列博文已顺利结束,从这一篇开始将进入探索更加高级的Python用法,Python进阶系列文章将包含面向对象.网络编程.GUI编程.线程和进程.连接数据库等.不过在进阶之前,先来 ...

  7. Python SQLAlchemy基本操作和常用技巧包含大量实例,非常好python

    http://www.makaidong.com/%E8%84%9A%E6%9C%AC%E4%B9%8B%E5%AE%B6/28053.shtml "Python SQLAlchemy基本操 ...

  8. python算法常用技巧与内置库

    python算法常用技巧与内置库 近些年随着python的越来越火,python也渐渐成为了很多程序员的喜爱.许多程序员已经开始使用python作为第一语言来刷题. 最近我在用python刷题的时候想 ...

  9. [转]python 常用类库!

    Python学习 On this page... (hide) 1. 基本安装 2. Python文档 2.1 推荐资源站点 2.2 其他参考资料 2.3 代码示例 3. 常用工具 3.1 Pytho ...

随机推荐

  1. SpringJPA主键生成采用自定义ID,自定义ID采用年月日时间格式

    自定义主键生成策略 在entity类上添加注解 @Id @GeneratedValue(strategy = GenerationType.AUTO, generator = "custom ...

  2. 微信小程序登录(包括获取不到unionid的情况)

    我们一般都是先获取到微信的 unionid,然后再通过 unionid 去登录自己的网站,就可以关联到用户在自己网站上的 user_id,但是在小程序登录中,有时候可以获取到 unionid,有时候获 ...

  3. js中Array数组的属性和方法

    这是我自己整理出来的一些关于Array数组的属性和方法,即查即用. 1.Array.length属性:数组的项数组,始终返回0或者更大的值. 2.instanceof操作符:value instanc ...

  4. MVC中调用模态框之后导致JS失效

    今天在工作中碰到一个页面调用模态框之后,页面原来的JS失效的问题,由于前台经验较少,折腾了一天... 问题描述是这样,在页面,有两个下拉列表框A和B,做了下拉列表框联动,有一个button按钮会调用模 ...

  5. linux自动备份lampp的日志

    要求是:每天23:59自动备份lampp的日志/opt/lampp/logs/access_log 放到这个目录下/tmp/bak 命名格式:access_log.日期 1.新建shell脚本#vi ...

  6. 19.python的序列化

    自定制序列化 import json from datetime import datetime class JsonCustomEncoder(json.JSONEncoder): #自定制序列化类 ...

  7. laravel seed填充数据步骤

  8. KMeams算法应用:图片压缩与贝叶斯公式理解

    from sklearn.datasets import load_sample_image import matplotlib.pyplot as plt from sklearn.cluster ...

  9. maya_help()验证编程过程中模块导入的情况

    import rigLib reload(rigLib.base.control)spine = rigLib.base.control.Control( prefix = 'spine1') hel ...

  10. softmax 损失函数求导过程

    前言:softmax中的求导包含矩阵与向量的求导关系,记录的目的是为了回顾. 下图为利用softmax对样本进行k分类的问题,其损失函数的表达式为结构风险,第二项是模型结构的正则化项. 首先,每个qu ...