python数据类型及有关的实用函数

本系列例子使用python3.x, 编辑时间:2019-09-03,23:03:36

python以“对象引用”来存储数据,以对象来表达数据,每个对象都具有身份,对象和值。

实用函数:

  • id(): 查看变量的id地址
  • type() : 查看对象类型
  • input(): 获取字符串类型的 用户输入的变量
  • eval(): 用来执行一个字符串表达式,并返回表达式的值。可与input()结合使用,获取连续变量值
  • 交换变量: x, y = y, x
num1, num2, num3 = eval(input("输入三个数,中间以逗号隔开:"))

try:
    print(num1, num2, num3)
except Exception as e:
    print("error: ", e)

运行结果:
输入三个数,中间以逗号隔开:17, 18, 19
17 18 19

常见的Python内置类型:

  1. 数值类型(Numeric Types): 包含int(整数),float(浮点数),complex(复数)
  2. 序列类型(Sequence Types): 有str(字符串), list(列表),tuple(元组)
  3. 迭代类型(Iterator Types): 提供容器,使用for循环进行迭代操作
  4. 集合类型(Set Types): 有set(可变集合)和frozenset(固定集合或不可变集合)
  5. 映射类型(Mapping Types): 只有dict(字典)

数据类型

1.整数类型:

  • 整数Interger:

    进制转换函数:

    • bin(int): 十进制转二进制,转换的数据会以 0b 为前缀字符
    • oct(int): 十进制转八进制,转换的数据会以 0o 为前缀字符
    • hex(int):十进制转二进制,转换的数据会以 0x 为前缀字符
    • int(s, base):将字符串s根据base参数转换成十进制数值
    • format(value[,format_spec]):此函数用于十进制转换为其它进制(去除前缀字符)
dec_num = 255  # 十进制数
print(bin(dec_num))  # 二进制  输出"0b11111111"
print(oct(dec_num))  # 八进制  输出"0o377"
print(hex(dec_num))  # 十六进制  输出"0xff"

bin_num = ‘0b‘ + ‘10101‘
print(int(bin_num, 2))  # 二进制转十进制 输出 21

num = 78  # 十进制数
print(format(num, ‘b‘))  # 输出二进制字符串 "1001110"
print(format(num, ‘o‘))  # 输出八进制字符串 "116"
print(format(num, ‘x‘))  # 输出十六进制字符串 "4e"
  • 布尔Boolean:

    Bool(Boolean)为int的子类,可以使用bool()函数。它只有True和False两个值。

    • True:  可以采用数值1来表示
    • False:  数值0,特殊对象None,空字符串,空列表,空元组都将返回False       

2.浮点数类型:

  • 小数(float):

    常用函数:

    • float():强制转换为浮点数
    • fromhex():对象方法,将十六进制浮点数转为十进制
    • hex():类方法,返回字符串形式的十六进制的浮点数
    • is_integer():类方法,判断是否为整数,若小数位数为零,返回True
float_num = 71.235  # 定义浮点数
float_num_hex = float_num.hex()  # 返回字符串形式的十六进制浮点数
print(float_num_hex)  # 输出 "0x1.1cf0a3d70a3d7p+6"
print(float.fromhex(float_num_hex))  # 转回十进制数 输出 71.235

    特殊浮点数:

    float(‘nan‘), float(‘Infinity‘), float(‘-inf‘)是三个特殊的浮点数,分别代表 非数字(Not a number),无穷大(Infinity), 负无穷大(Negative Infinity)

    可以使用标准库 math 模块中的 isnan()判断是否为NaN数据,isinf()判断是否为inf或-inf数据

  • 复数(complex):

    complex(re, im): re为real,实数;im为imagine,虚数,虚数部分需加上字符‘j’或‘J’

complex_num = 5 + 6j
print(type(complex_num))  # 输出 <class ‘complex‘>
print(complex_num.real)  # 输出实数部分 5.0
print(complex_num.imag)  # 输出虚数部分 6.0
  • 更精确的Decimal类型:

    • 使用Decimal类型需要导入decimal模块
    • 将Decimal()函数设为字符串可以指定有效位数,多个Decimal数据相加,和的有效位数为和数中最大的有效位数;相乘的积的有效位数为乘数的有效位数之和
    • getcontext(): 获取Decimal算数运算环境的各项记录的定义,如精确度,舍入规则等。getcontext().prec为精确度,getcontext().rounding为舍入规则
from decimal import *

print(Decimal(10/3)) # 输出 3.333333333333333481363069950020872056484222412109375
num_1 = Decimal(‘0.125‘); num_2 = Decimal(‘8.8888‘) # 使用字符串参数指定有效位数
print(num_1 + num_2)  # 输出 9.0138
print(num_1 * num_2)  # 输出 1.1111000

print(getcontext().prec)  # 返回精确度 输出 28
getcontext().prec = 3  # 设置精确度
print(num_1 + num_2)  # 输出 9.01

print(getcontext().rounding)  # 返回舍入规则 输出 ROUND_HALF_EVEN
getcontext().rounding = ROUND_FLOOR  # 设置舍入规则为向负无穷大舍入
print(num_1 * num_2)  # 输出 1.11

3.分数类型:

  • 使用分数功能,需要导入fractions模块。Fractions()方法如下

     Fraction(numerator, denominator):

    • numerator: 分子,默认值为0
    • denominator: 分母,默认值为1
    • 无论分子还是分母,只能使用正整数或负整数,否则将报错
  • Fraction()方法将自动约分,但参数不能将浮点数和整数混合使用,否则将产生TypeError错误
  • 配合Fraction()方法可以把分数进行加或乘的运算
from fractions import Fraction

num_1 = Fraction(12, 36)  # 定义分数变量, 分子12,分母36
num_2 = Fraction(3, 7)
print(num_1 + num_2)  # 加法 输出 16/21
print(num_1 * num_2)  # 乘法 输出 1/7
num_3 = Fraction(2.1, 3) # 报错: error:  both arguments should be Rational instances(两个参数都应该是有理数)[由于计算机存储浮点数的方式,不能准确地储存浮点数]

本系列博客主要从《从零开始学Python程序设计》提取

原文地址:https://www.cnblogs.com/exploer/p/11450714.html

时间: 2024-10-15 19:50:45

python数据类型及有关的实用函数的相关文章

以写代学:python 数据类型之数字,可用函数

(1)list函数,可以把迭代对象转换为列表 (2)str函数,把obj对象转换为字符串 (3)tuple函数,把一个可迭代对象转换成一个元组对象 (4)len函数,返回seq的长度 (5)max函数,取最大值 (6)min函数,取最小值 (7)enumerate函数,接受一个可迭代对象作为参数,返回一个enumerate对象 (8) sorted(iter)函数,排序,默认升序,本身并不改变 (9)reversed函数,翻转,interator都可以迭代,要想获得里边的值需要遍历输出

Python笔记1#Python数据类型、语法和函数

▲python语法 以#开头的语句是注释,解释器(CPython)会忽略掉注释 当语句以:结尾时,下行缩进的语句视为代码块.默认缩进4个空格 缩进的利:强迫写出格式化的.缩进较少的代码 缩进的弊:重构代码时复制粘贴功能失效 Python中,通常用全部大写的变量名表示常量 ▲转义字符\ \n表示换行,\t表示制表符,\\表示\,\'表示普通字符',\"表示普通字符" ▲格式化字符串的输出 在字符串内部,%s表示用字符串替换,%d表示用整数替换,%f表示用浮点数替换,%x表示用十六进制整数

Python数据类型的内置函数之str(字符串)

Python数据类型内置函数 - str(字符串函数) - list(列表函数) - tuple(元组函数) - dict(字典函数) - set(收集函数) (str)字符串的一些操作 - 字符串相连方法 1 # 字符串的相连 2 str_1 = "I am" 3 str_2 = "string practice" 4 5 print(str_1 + str_2) 6 # 执行的结果 7 I amstring practice 8 # 可以在中间用空格隔开 9 p

python数据类型整理

Python中常见的数据结构可以统称为容器(container).序列(如列表和元组).映射(如字典)以及集合(set)是三类主要的容器. 一.序列(列表.元组和字符串) 序列中的每个元素都有自己的编号.Python中有6种内建的序列.其中列表和元组是最常见的类型.其他包括字符串.Unicode字符串.buffer对象和xrange对象.下面重点介绍下列表.元组和字符串. 1.列表 列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能. (1).创

Python数据类型及其方法详解

Python数据类型及其方法详解 我们在学习编程语言的时候,都会遇到数据类型,这种看着很基础也不显眼的东西,却是很重要,本文介绍了python的数据类型,并就每种数据类型的方法作出了详细的描述,可供知识回顾. 一.整型和长整型 整型:数据是不包含小数部分的数值型数据,比如我们所说的1.2.3.4.122,其type为"int" 长整型:也是一种数字型数据,但是一般数字很大,其type为"long" 在python2中区分整型和长整型,在32位的机器上,取值范围是-2

python 全栈 python基础 (十三)匿名函数 与 内置函数

一.匿名函数  1.定义: 匿名函数顾名思义就是指:是指一类无需定义标识符(函数名)的函数或子程序. 2.语法格式:lambda 参数:表达式 lambda语句中,开头先写关键字lambda,冒号前是参数,可以有多个,用逗号隔开:冒号右边的为表达式,需要注意的是只能有一个表达式.由于lambda返回的是函数对象(构建的是一个函数对象),所以需要定义一个变量去接收.  3.注意点:lambda 函数可以接收任意多个参数 (包括可选参数) 并且返回单个表达式的值.lambda 函数不能包含命令,包含

python学习之路-3 初始python数据类型以及文件操作

本篇所涉及的内容 set集合 函数 三元运算 ?文件操作 set集合 set是一个无序的且不重复的元素集合 1.创建set集合的方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 # 第一种方法 s = set() print(type(s))           # 输出 <class 'set'>                   # 第二种方法 s = {1, 2} print

Python学习进程(6)函数

    函数最重要的目的是方便我们重复使用相同的一段程序.     (1)函数的定义: 函数定义的简单规则: 1.函数代码块以 def 关键词开头,后接函数标识符名称和圆括号(): 2.任何传入参数和自变量必须放在圆括号中间.圆括号之间可以用于定义参数. 3.函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明. 4.函数内容以冒号起始,并且缩进. 5.return [表达式] 结束函数,选择性地返回一个值给调用方.不带表达式的return相当于返回 None. 函数定义和调用的实例:

第三章 Python数据类型

3.1 Python简单数据类型 3.1.1 字符串(str) python中的字符串通常由单引号.双引号.三个单引号或三个双引号包围的一串字符组成. 1. 转义字符串 \n 换行符 \t 制表符 \r 回车 \\ '\'字符 \' 单引号字符串中的单引号 \" 双引号字符串中的双引号 2. 字符串运算 Python中是可以使用“+”.“*”运算符运算的. + 连接字符串 * 将单字符串多次连接 3. 字符串处理函数 常见的字符串函数 字符串操作 描述 string.capitalize() 将