一、字符串与数值的转换

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. Ubuntu如何百度云盘下载

    我使用Firefox浏览器下载. (1)先为浏览器下载一个插件:网盘助手 (2)通过终端安装aria2: sudo apt-get install python-apt sudo apt-get in ...

  2. Visual C++ 6.0中if..else..的简单用法和基本格式

    # include <stdio.h> int main (void) { float score; printf("请输入您的考试成绩:"); scanf(" ...

  3. CSS学习笔记_day7

    目录 1.径向渐变 2. 线性渐变 3. 背景图片裁剪 4. 背景图片大小 5. 边框图片 6. 边框圆角 7. 边框阴影 8.位移 9. 倾斜 10. 旋转 11. 缩放 12. 文本换行 13. ...

  4. Python相关

    当Python源码编译以后,需要对一些依赖库重新安装,而且有些是要用pip去安装. python 文件.目录属性的操作os.path等os模块函数 https://blog.csdn.net/bytx ...

  5. git配置代理

    1.查看当前代理 git config --global http.proxy 2.配置git走代理,可走http代理也可以走socks5代理,可根据自己的代理协议而定 #http代理 git con ...

  6. js立即执行函数用法

    js立即执行函数可以让你的函数在创建后立即执行,js立即执行函数模式是一种语法,可以让你的函数在定义后立即被执行,这种模式本质上就是函数表达式(命名的或者匿名的),在创建后立即执行. 一.JS立即执行 ...

  7. C语言-第4次作业得分

    作业链接:https://edu.cnblogs.com/campus/hljkj/CS201801/homework/2523 作业链接:https://edu.cnblogs.com/campus ...

  8. 19.python的序列化

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

  9. Google - Largest Sum Submatrix

    Given an NxN matrix of positive and negative integers, write code to find the submatrix with the lar ...

  10. axios delete