前言
本篇博客将介绍 python 数据类型的使用方法,包括在函数中使用确定的数据类型。
Python 数据类型
Python3 中有六个标准的数据类型:
- Number(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Set(集合)
- Dictionary(字典)
Python3 的六个标准数据类型中:
注意: Number(数字)类型中, Python3 支持 int、float、bool、complex(复数)。在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long 。
像大多数语言一样,数值类型的赋值和计算都是很直观的。 内置的 type() 函数可以用来查询变量所指的对象类型。
一、Python 数据类型转换
有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。
函数 | 描述 |
---|
int(x [,base]) | 将x转换为一个整数 | long(x [,base] ) | 将x转换为一个长整数 | float(x) | 将x转换到一个浮点数 | complex(real [,imag]) | 创建一个复数 | str(x) | 将对象 x 转换为字符串 | repr(x) | 将对象 x 转换为表达式字符串 | eval(str) | 用来计算在字符串中的有效Python表达式,并返回一个对象 | tuple(s) | 将序列 s 转换为一个元组 | list(s) | 将序列 s 转换为一个列表 | set(s) | 转换为可变集合 | dict(d) | 创建一个字典。d 必须是一个序列 (key,value)元组。 | frozenset(s) | 转换为不可变集合 | chr(x) | 将一个整数转换为一个字符 | unichr(x) | 将一个整数转换为Unicode字符 | ord(x) | 将一个字符转换为它的整数值 | hex(x) | 将一个整数转换为一个十六进制字符串 | oct(x) | 将一个整数转换为一个八进制字符串 |
二、Python 如何实现对字符和ASCII码的转换
在C语言中字符与 ASCII码之间的转换可以直接使用加减,但是 Python 中不允许。
int x;
char c;
c = x-10+'A';
在Python中 一般使用这两个函数 ord()、chr() 两个函数,实现与ASCII码之间的转换。
c = chr(x-10+ord('A'))
三、Python 函数中如何确定变量的数据类型
def test(a:int, b:str) -> str:
print(a, b)
return 1000
if __name__ == '__main__':
test('test', 'abc')
函数test, a:int 指定了输入参数a为int类型, b:str b为str类型, 返回值为srt类型。
可以看到, 在方法中,我们最终返回了一个int,此时pycharm就会有警告;当我们在调用这个方法时,参数a我们输入的是字符串,此时也会有警告;但非常重要的一点是,pycharm只是提出了警告,但实际上运行是不会报错,毕竟python的本质还是动态语言
复杂的类型标注
示例1:
from typing import List
Vector = List[float]
def scale(scalar: float, vector: Vector) -> Vector:
return [scalar * num for num in vector]
new_vector = scale(2.0, [1.0, -4.2, 5.4])
示例2:
from typing import Sequence, TypeVar, Union
T = TypeVar('T')
def first(l: Sequence[T]) -> T:
return l[0]
T = TypeVar('T')
A = TypeVar('A', str, bytes)
A = Union[str, None]
|