精华内容
下载资源
问答
  • 在上一节的合集中,我们了解了Python数据类型中的字符串及布尔类型的相关知识,本节我们将进一步了解一下Python中关于数据类型的数据转换相关的知识。 Python是动态类型的语言(也称为弱类型),不需要像Java或者C#等...

    在上一节的合集中,我们了解了Python数据类型中的字符串及布尔类型的相关知识,本节我们将进一步了解一下Python中关于数据类型的数据转换相关的知识。

    Python是动态类型的语言(也称为弱类型),不需要像Java或者C#等语言一样在使用变量前声明变量的类型。虽然Python不需要先声明变量的类型,但有时仍然需要用到类型的转换。在Python中,提供了如下的数据类型转换:

    5e5523501ff8fa390db9643ad6a9fa51.png

    以下代码,实现多个数值的相加之后,以字符串的形式输出,同时对相加的结果进行取整处理后输出。

    money_all=56.75+72.91+88.50+26.37+68.51   #累加总计money_all_str=str(money_all)                           #转成为字符串print("商品总金额:"+money_all_str)money_real=int(money_all)                              #进行抹零处理money_real_str=str(money_real)                      #转换为字符串print("实收金额:"+money_real_str)

    注:在进行数据类型转换时,如果把一个非数字类型字符串转换成整形,将会产生如下图所示的错误:

    1bd41d1bec92fb63c737c0ab82f64b88.png

    花絮:

    本期的Python的数据类型转换就分享到这里,下期我们将继续分享Python中的运算符,感兴趣的朋友可以关注我。

    展开全文
  • 作者:Zarten知乎专栏:Python基础深入详解知乎ID: Zarten简介: 互联网一线工作者,尊重原创并欢迎评论留言指出不足之处,...几种数据类型互相转换相对简单的这里不作说明,例如:int() str() 列表字符串 list ...
    作者:Zarten知乎专栏:Python基础深入详解知乎ID: Zarten简介: 互联网一线工作者,尊重原创并欢迎评论留言指出不足之处,也希望多些关注和点赞是给作者最好的鼓励 !

    概述

    在做python开发中,可能经常会用到一些小的技巧,但有时会忘记,不得不去查阅资料。这里做个汇总,方便大家统一查阅。

    几种数据类型互相转换

    相对简单的这里不作说明,例如:int() str()

    • 列表转字符串 list -> str
    name_list 

    c2ed660e4cb57713cfe6a2940a926b3e.png
    • 字符串转列表 str -> list
    name_str 

    97ebece74490d23adfab5c2940bcd402.png
    • 字符串转字典 str -> dict

    前提:字符串格式需要正确

    name_str 

    54f02bcaeea20f2bce5daeb6f5ff411e.png
    • 字典转字符串 dict -> str
    name_dict 

    b1b4c9ee50bbb14f7fd16105e9f12bb2.png
    • 字典转元组(列表list) dict -> tuple

    1.将键key转成元组

    name_dict 

    8f04570bbe54e152f589e89413ba496c.png

    2.将值value转成元组

    name_dict 

    bef2cdf7ba2e0854678cb68384d20b00.png
    • 元组(列表)转字典 tuple -> dict 和 list -> dict

    无法转换

    时间

    • 本地时间格式化
    import 

    a85f6df97f9cde8a67053cd3f1e8c041.png

    唯一标识

    • 获取uuid
    import 

    迭代

    • 反向迭代
    for 

    045d3c2a444e6445dd2ed2909318c39d.png
    • 获取位置序号
    l 

    a53fd29ece9d971751640217f779aa3f.png

    字典操作

    • 将2个字典融合

    adict.update(b_dict)

    将b_dict和a_dict融合后,赋值给a_dict

    a = {'name' : 'Zarten'}
    b = {'age' : 18}
    a.update(b)
    print(a)
    print(b)

    6acad3a578e2c51286819a65f3648972.png

    字符串操作

    • 首字母转为大写
    a = 'my name is Zarten'
    print(a.title())

    197022c5231b42f0b7f3d134b540a4f5.png

    项目中增加搜索路径

    有时候我们在pycharm中可以正常运行,但在linux或其他机器就有路径无法导入的问题,这时应该手动添加搜索路径,放在文件最前面

    import 

    获取对象的所占空间(内存空间)

    通常我们可以用len()获取对象的个数,但需要获取对象所占多少内存空间时,可以这样

    sys.getsizeof() 返回字节数

    import sys
    names = ['zarten_1', 'zarten_2']
    names_size = sys.getsizeof(names) #字节数
    print('size:', names_size)

    af0ea33deacf182bb4e807585305b6cf.png

    定时任务

    每天0点定时启动

    from 
    展开全文
  • 人生苦短,我用python。本文会持续更新。1. 将列表中的所有元素组合成字符串a = ['python', 'is', 'awesome'] print(' '.join(a)) >> python is awesome2. 查找列表中频率最高的值b = [1,2,3,1,2,3,3,2,2,3,3,...

    3111b9358f0be2f5f78fa714e3a922bf.png

    人生苦短,我用python。本文会持续更新。

    1. 将列表中的所有元素组合成字符串

    a = ['python', 'is', 'awesome']
    print(' '.join(a))
    >> python is awesome

    2. 查找列表中频率最高的值

    b = [1,2,3,1,2,3,3,2,2,3,3,4,5]
    print(max(set(b),key=b.count))
    >> 3

    3. 合并字典

    a = {'a': 1}
    b = {'b': 2}
    a.update(b)
    print(a)
    >> {'a': 1, 'b': 2}

    4. 返回列表中最小和最大值的索引

    lst = [40, 10, 20, 30]
    def minIndex(lst):
        return min(range(len(lst)),key=lst.__getitem__)
    def maxIndex(lst):
        return max(range(len(lst)),key=lst.__getitem__)
    print(minIndex(lst))
    >> 1
    print(maxIndex(lst))
    >> 0

    5. 类型互转

    1. 字符串转字典 str -> dict
    name_str = "{'name':'mario', 'sex' : 'man'}"
    name_dict = eval(name_str)
    print(type(name_dict), name_dict)
    >> <class 'dict'> {'name': 'mario', 'sex': 'man'}
    2. 字典转字符串 dict -> str
    name_dict = {'name': 'mario', 'sex': 'man'}
    name_str = str(name_dict)
    print(type(name_str), name_str)
    >> <class 'str'> {'name': 'mario', 'sex': 'man'}

    6. 读取文件

    1.readlines()方法:返回一个列表,数据量大时很占用内存
    with open("test.txt") as ft:
        flines = ft.readlines()
    2. 循环一行一行读取文件,速度快,内存使用小,推荐使用此方法
    with open("test.txt") as ft:
        for line in ft:
            do_with(line)

    7. os.path 常用操作

    import os
    test_path = '/home/mario/Projects/test_platerect.txt'
    1. ##返回文件名
    print(os.path.basename(test_path))  
    >> test_platerect.txt
    2.  ##返回文件路径
    print(os.path.dirname(test_path))  
    >> /home/mario/Projects
    3. ##把路径分割成 dirname 和 basename,返回一个元组
    print(os.path.split(test_path))  
    >> ('/home/mario/Projects', 'test_platerect.txt')
    4. ##分割路径,返回路径名和文件扩展名的元组
    print(os.path.splitext(test_path))  
    >> ('/home/mario/Projects/test_platerect', '.txt')

    8. numpy插入一行或一列

    numpy.insert(arr, obj, values, axis=None)
    
    函数作用:将向量插入某一行或列
    参数说明:
    arr:array (输入矩阵)
    obj:int  (插入在第几行/列之前)
    values:array  (要插入的矩阵)
    axis:int  (插入某一行(0)还是列(1))
    返回值:
    返回一个插入向量后的数组。若axis=None,则返回一个扁平(flatten)数组

    9. reshape给图像增加一个维度

    import cv2
    img = cv2.imread('lena.jpg')   #假设lena.jpg是灰度图
    height, width = img.shape  #默认单通道的话channel会被去掉,只显示宽和高两个维度
    img_res = img.reshape(width, height, 1)
    hei, wid, chann = img_res.shape   ##输出为(hei, wid, 1)三个维度

    注:将彩色三通道图像读入后转灰度图,保存后imread的图像通道问题和参数有关系。

    img_gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
    ## 将img_gray保存后读取后的维度要指定cv2.imread的参数
    img_gray = cv2.imread(img, -1)  灰度图的通道为1
    img_gray = cv2.imread(img)  灰度图的通道仍然为3
    展开全文
  • docx库用于python对word中.docx文件的操作,在网上搜了很多资料,发现对docx库介绍的比较少,对于表格样式后期需要进一步研究优化。本篇文章主要介绍python在word中怎样画表格,效果图如下:图一到图二的转换。图一...

    docx库用于python对word中.docx文件的操作,在网上搜了很多资料,发现对docx库介绍的比较少,对于表格样式后期需要进一步研究优化。本篇文章主要介绍python在word中怎样画表格,效果图如下:图一到图二的转换。

    图一:

    72339d01652fd97260d08244268b5856.png

    图二:

    a47fe244a4d0e57ae144fb5ff5c759ea.png

    #!/usr/bin/env python# -*- encoding: utf-8 -*-'''@文件    :ExcelToWord.py@说明    :python实现excel到word.@时间    :2020/10/14 17:00:45@作者    :侃侃@版本    :3.8'''import pandas as pdimport numpy as npfrom docx import Documentfrom docx.enum.text import WD_ALIGN_PARAGRAPH #设置水平居中对齐需要用到的库from docx.enum.table import WD_ALIGN_VERTICAL #设置垂直居中对齐需要用到的库from docx.shared import Inches,Cm,Pt#读取excel数据,并将第一行数据作为列名filepath="C:\\Users\\lenovo\\Desktop\\教学计划excel转word\\0.xlsx"db=pd.read_excel(filepath,dtype=str,header=0)doc=Document()#创建一个Document对象#设置标题black_font = u'黑体'run = doc.add_heading('', level=1).add_run('学号:姓名:专业:层次:')run.font.name = black_font#画表格rows=db.shape[0]#获取行数,后面生成序号使用table=doc.add_table(rows=rows+1,cols=6,style='Table Grid')#添加表格#设置表格标题titles=["学年","学期","序号","考试科目","类型","成绩"]#标题内容title_cells = table.rows[0].cellsfor i in range(len(titles)):    title_cells[i].text = titles[i]#设置列宽,必须将列所有单元格均设置才生效for row in range(0,rows+1):    table.cell(row,2).width=Cm(1.4)    table.cell(row,3).width=Cm(4.35)    table.cell(row,4).width=Cm(1.92)term=db["建议学期"]#获取建议学期num=np.arange(1,rows+1,1)#生成序号数组seq=[str(x) for x in num]#将序号数组int类型元素,全部转换为字符串型,int型元素遍历时报错。subjects=db["课程名称"]#获取考试科目mode=db["考核方式"]#获取考核方式for row in range(1,rows+1):    #填入建议学期    table.cell(row,1).text=term[row-1]    #填入序号    table.cell(row,2).text=seq[row-1]    #填入考试科目    table.cell(row,3).text=subjects[row-1]    #填入考核方式    table.cell(row,4).text=mode[row-1]#合并相同学期#动态声明学期变量list# 第一步 准备locals函数,存放10个学期listterms_list = locals()""" 第二步 循环10次,从0-9赋值给locals函数对应的变量terms_list       terms_list是一个字典,所以将我们需要的列表名称作为key值传入"""for i in range(10):    terms_list['term_' + str(i)] = []#将相同学期的行号,填入到对应学期for row in range(1,rows+1):    if table.cell(row,1).text==str(1):        terms_list['term_0'].append(row)    elif table.cell(row,1).text==str(2):        terms_list['term_1'].append(row)    elif table.cell(row,1).text==str(3):        terms_list['term_2'].append(row)    elif table.cell(row,1).text==str(4):        terms_list['term_3'].append(row)    elif table.cell(row,1).text==str(5):        terms_list['term_4'].append(row)    elif table.cell(row,1).text==str(6):        terms_list['term_5'].append(row)    elif table.cell(row,1).text==str(7):        terms_list['term_6'].append(row)    elif table.cell(row,1).text==str(8):        terms_list['term_7'].append(row)    elif table.cell(row,1).text==str(9):        terms_list['term_8'].append(row)    elif table.cell(row,1).text==str(10):        terms_list['term_9'].append(row)#合并相同学期单元格,并赋值for i in range(10):    table.cell(terms_list['term_'+str(i)][0], 1).merge(table.cell(terms_list['term_'+str(i)][-1],1))    table.cell(terms_list['term_'+str(i)][0], 1).text="第"+str(i+1)+"学期"#合并学年,两学期为一学年,并赋值for i in range(0,10,2):    table.cell(terms_list['term_'+str(i)][0], 0).merge(table.cell(terms_list['term_'+str(i+1)][-1],0))    table.cell(terms_list['term_'+str(i)][0], 0).text="第"+str(int((i+2)/2))+"学年"#各单元格水平和垂直方向都要居中对齐for row in range(0,len(table.rows)):    for col in range(len(table.columns)):        table.cell(row,col).paragraphs[0].alignment = WD_ALIGN_PARAGRAPH.CENTER        table.cell(row,col).vertical_alignment = WD_ALIGN_VERTICAL.CENTER#保存文件doc.save("C:\\Users\\lenovo\\Desktop\\教学计划excel转word\\1.docx")
    展开全文
  • 前言typeshed 是 Python 的 library stub 的集合,用于为Python标准库和Python内建,以及第三方软件包。此数据可用于静态分析,类型检查和类型推断。语法示例MAXYEAR 看个人资料,有大量Python资料...
  • 作者 | 小 F来源 | 法纳斯特抖音字符视频在去年火过一段时间。反正我是始终忘不了那段极乐.../ 01 / 视频图片在Pycharm上直接安装cv2库是成功不了的,具体什么原因我也不清楚。经过我的实践,发现只需在Pycharm的...
  • python2默认的编码方式是ASCAII码解决方式在文件首部加:#-*- encoding:utf-8 -*-python3默认的编码方式是utf_8变量1.python变量必须由数字,字母,下划线组成,且不能又数字开头。2.不能是python中的关键字:[‘and...
  • python写因式分解程序(一) 近段时间被微信上漫天飞舞的广告怂恿,学起了python编程,这些天找了一个小题目开整:因式分解总体实现过程设计:第一阶段:先满足实现既定的功能第二阶段:优化程序,提高计算速度第三...
  • 有段时间没复习python了,最近在做一个小爬虫,想看看网上的卷筒纸哪个性价比最高。还没做好。国庆期间来复习下数据结构的转换。string相关操作#string拼接和切片 还有字符串转换元组等操作,平常我用得不多,不做...
  • 人工智能入门与实战第一季:python基础语法本章是我们python基础的最后一个章节,看到这里的小伙伴们那都是真爱了,给自己点个赞!继续加油!解决问题的思路前面章节都是按照对应的知识点一一讲解,作为最后一章,...
  • python小白入门系列教程》 专栏 • 第03篇 文 | xc_718 深度好文:1828字 | 4分钟阅读 ​ 1. 注释 1)单行注释:# #注释内容 print('123') #123 print('abc') #abc print("abc") #abc 2)多行注释:'...
  • 关于python的命名规范,我后续会专门写一篇文章,本文只讨论初学者都会犯的一个变量命名错误,避免这个错误,就可以避免很多稀奇古怪的问题1、变量命名要避开python内置函数名称初学python,你还不习惯给变量起名字...
  • 最开始因为内网中的 vscode 版本太低,只开了最基本的 Python 插件。 后来因为 vscode 版本升级,我便启用了 pyright 插件,打开后 vscode 满眼红色波浪线,仔细查看报错原因,很多报错都是我没有处理返回值 None ...
  • str为非空,则转换为True s7 = ''s8 = '非空'b7 = bool(s7)b8 = bool(s8)print(b7,type(b7)) #str为空,则转换为Falseprint(b8,type(b8)) #str为非空,则转换为True 数字字符串 int--->str : str(int) i1 = 1s1 = ...
  • 前言使用 httprunner 框架参数化时,一般参数数据放csv文件,csv 文件默认都是字符串类型,有些接口需传 int 类型的数字。当读取csv文件的数据后,需进行数据转换,参考前面一篇...
  • 一、python环境变量设置system()、popen()、fork()、execv()等函数会使用环境变量。获取环境变量:最好使用函数,当变量不存在读字典会抛异常,但函数会返回None。os.getenv('PATH')os.environ['PATH']设置环境变量...
  • 于是对python中的intstr做了简单赋值输出,出现了意料之外的事情。>>> a = 4>>> b = int('4')>>> id (a)1440608144>>> id (b)1440608144>>>使用in...
  • python intstr转换

    千次阅读 2016-02-18 17:24:00
    string -> int 1. 10进制string 转换为 int int("12") 2. 16进制string 转换为 int int("12", ...1. int转换为10进制的string str(12) 2. int转换为16进制的string hex(12) 转载于:https://www.cnblogs.com/w...
  • pythonintstr方法最近学习python中的数据类型时,难免联想到java中的基本型数据类型与引用型数据类型。于是对python中的intstr做了简单赋值输出,出现了意料之外的事情。>>> a = 4>>> b...
  • 1. int 类型转换a = "123"b = int(a)b = b+10print(type(a),a)print(type(b),b)2. int(num,base=2), base不写的时候默认为10a = "0011"b = int(a,base=2)print(b)答案为 3.3. -.bit_length() 当前数字为2进制时,...
  • 于是对python中的intstr做了简单赋值输出,出现了意料之外的事情。>>> a = 4>>> b = int('4')>>> id (a)1440608144>>> id (b)1440608144>>>使用in...
  • 今天在数据分析时遇到了一个小问题,这时才发现自己的基础知识真的不牢固,所以这里记录一下...所以我简单的使用了一个循环wf.write('{},{}\n'.format(str(item[0][0]),str(item[0][1]))),通过str来转换保存为st...
  • 我花了两个小时试图找到解决办法,但什么也没找到。所以,要么这是不可能的,要么它是如此的基本以至于...这是我的代码(Python)currentNukeScriptName = nuke.root().name()splitUpScriptName1 = currentNukeScriptN...
  • 最近学习python中的数据类型时,难免联想到java中的基本型数据类型与引用型数据类型。接下来通过本文给大家介绍pythonintstr,需要的朋友可以参考下
  • str的用法就是将其他类型成32313133353236313431303231363533e4b893e5b19e31333335333163string。#-*-coding:cp936-*-principal=int(input("本金?"))#本金rate_test=input("输入测试利率rate_test?")#测试利率#...
  • 1.bytes转化为int函数格式:int.from_bytes(bytes, byteorder, *, signed=False)s1 = b'\xf1\xff'print(int.from_bytes(s1, byteorder='big', signed=False))print(int.from_bytes(s1, byteorder='little', signed=...
  • python int str

    2019-01-21 23:15:00
    1. int 类型转换 a = "123" b = int(a) b = b+10 print(type(a),a) print(type(b),b) 2. int(num,base=2), base不写的时候默认为10 a = "0011" b = int(a,base=2) print(b)  答案为 3. 3. -...
  • python str转换int

    2021-02-17 18:52:46
    string–>int 1、10进制string转化为int int(‘12’) 1 2、16进制string转化为int int(‘12’, 16) 1 int–>string 1、int转化为10进制string str(18) 1 2、int转化为16进制string hex(18)
  • 因为python跟java在数据类型转换方面语法不同,所以总是搞混,特此记录下来,方便查阅:在python中:字符串str转换成int: int_value = int(str_value)int转换成字符串str: str_value = str(int_value)int ->...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,987
精华内容 1,194
关键字:

pythonint转str

python 订阅