首页 > 编程知识 正文

python传入参数,python 传参数

时间:2023-05-04 02:06:29 阅读:283996 作者:1557

一、python已知的数据类型

1、标准数据类型

(1)Python3 中有六个标准的数据类型:

Number(数字),判断标志: int、float、bool、complexString(字符串),判断标志: strList(列表),判断标志: listTuple(元组),判断标志: tupleSet(集合),判断标志: setDictionary(字典),判断标志: dict

(2)在Python3 的这六个标准数据类型中:

不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

2、其他数据类型

range,判断标志: rangefrozenset,判断标志: frozensetbytes ,判断标志: bytesbytearray ,判断标志: bytearraymemoryvie , 判断标志: memoryview二、判断标志的使用

1、直接判断数据类型

(1)运行代码:

isinstance(5, int)isinstance(5.5, float)isinstance(False, bool)isinstance(1+2j, complex)isinstance("str", str)isinstance([1,2,3,4,5], list)isinstance((1,2,3,4,5), tuple)isinstance({1,2,3,4,5}, set)isinstance({"1":1}, dict)isinstance(range(5), range)isinstance(frozenset({1,2,3,4,5}), frozenset)isinstance(b"bit", bytes)isinstance(bytearray(5), bytearray)isinstance(memoryview(bytes(5)), memoryview)

 (2)运行结果:

isinstance(5, int)Trueisinstance(5.5, float)Trueisinstance(False, bool)Trueisinstance(1+2j, complex)Trueisinstance("str", str)Trueisinstance([1,2,3,4,5], list)Trueisinstance((1,2,3,4,5), tuple)Trueisinstance({1,2,3,4,5}, set)Trueisinstance({"1":1}, dict)Trueisinstance(range(5), range)Trueisinstance(frozenset({1,2,3,4,5}), frozenset)Trueisinstance(b"bit", bytes)Trueisinstance(bytearray(5), bytearray)Trueisinstance(memoryview(bytes(5)), memoryview)True

2、传参时的使用

(1)样式一:形参不赋值

def demo(name_int: int, name_float: float, name_bool: bool, name_complex: complex, name_str: str, name_list: list, name_tuple: tuple, name_set: set, name_dict: dict, name_range: range, name_frozenset: frozenset, name_bytes: bytes, name_bytearray: bytearray, name_memoryview: memoryview): passdemo(name_int=1, name_float=2, name_bool=3, name_complex=4, name_str=5, name_list=6, name_tuple=7, name_set=8, name_dict=9, name_range=10, name_frozenset=11, name_bytes=12, name_bytearray=13, name_memoryview=14)

 

 (2)样式二:传参赋值

备注:引号可加可不加,如果随便写其他字符串,数据类型将是Any,如果后面赋值,将以值的类型为准。

def demo(name_int: "int"=5, name_float: "float"=5, name_bool: "bool"=False, name_complex: "complex"=1+2j, name_str: "str"="str", name_list: "list"=[1,2,3,4,5], name_tuple: "tuple"=(1,2,3,4,5), name_set: "set"={1,2,3,4,5}, name_dict: "dict"={"1":1}, name_range: "range"=range(5), name_frozenset: "frozenset"=frozenset({1,2,3,4,5}), name_bytes: "bytes"=b"bit", name_bytearray: "bytearray"=bytearray(5), name_memoryview: "memoryview"=memoryview(bytes(5))): print(name_memoryview) print(name_bytearray) print(name_bytes) print(name_frozenset) print(name_range) print(name_dict) print(name_set) print(name_tuple) print(name_list) print(name_str) print(name_complex) print(name_bool) print(name_float) print(name_int)demo()

(3)样式三:函数返回类型

def nice(num:int) -> int: print(num) return numprint(nice(100))

如上述函数,num:int提示传入整形,而-> int 提示返回整形。

 三、数据类型的区别

1、frozenset 与 set 的区别

都是字典,不过,set无序排序且不重复,是可变的,有add()、remove()等方法,而frozenset是不可变的。

set({1,2,3,4,5}) # {1,2,3,4,5}frozenset({1, 2, 3, 4, 5}) # frozenset({1, 2, 3, 4, 5})

 2、bytes 与 bytearray 的区别

都是字节,不过,bytes是不可变序列,bytearray是可变序列,可以原处修改字节。

 bytearray(5)  #  bytearray(b'x00x00x00x00x00')bytes(5)  # b'x00x00x00x00x00'

 3、list 与 range 的区别

list是列表,可包含各种数据类型,而range对象返回的是一系列连续增加的整数,是特殊的列表。

4、memoryview的介绍

memoryview() 函数返回给定参数的内存查看对象(memory view)。所谓内存查看对象,是指对支持缓冲区协议的数据进行包装,在不需要复制对象基础上允许Python代码访问。

>>>v = memoryview(bytearray("abcefg", 'utf-8'))>>> print(v[1])98>>> print(v[-1])103>>> print(v[1:4])<memory at 0x10f543a08>>>> print(v[1:4].tobytes())b'bce'>>>

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。