微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python变量、数据类型、数据类型转换相关函数用法实例详解python变量的使用不需要进行类型声明类型名 变量名,给一个变量名赋什么值就是什么类型Python变量命名规则:数据类型数据类型转换相关函数:

这篇文章主要介绍了Python变量、数据类型、数据类型转换相关函数用法,结合实例形式详细分析了Python变量类型、基本用法、变量类型转换相关函数与使用技巧,需要的朋友可以参考下

本文实例讲述了Python变量、数据类型、数据类型转换相关函数用法分享给大家供大家参考,具体如下:

python变量的使用不需要进行类型声明(类型名 变量名),给一个变量名赋什么值就是什么类型。

变量的赋值使用 =

说明:虽然python声明变量时没有一个类型来圈注,但它并不是弱类型语言,相反,它是一门强类型语言。

弱类型的语言的东西没有明显的类型,它能随着环境的不同自动变换类型;

而强类型则没这样的规定,不同类型间的操作有严格定义,只有相同类型的变量才能操作

为什么说 Python 是强类型语言

Python变量命名规则:

变量名只能是 字母、数字或下划线的任意组合

变量名的第一个字符不能是数字

不能与关键字重名(关键字用着用着就记熟了)

数据类型

整数int类型:

python3中移除了python2中的long

python3中没有限制int数值的大小

可以用其他数制来表示数值:二进制是以0b开头的,8进制是以0O(第二个是英文o,大小写都可以)开头的,16进制是以0x开头的

>>> i=0b1111 >>> print(i) 15 >>> i=0x0010 >>> print(i) 16 >>> i=0o0010 >>> print(i) 8 >>> i=0O0010 >>> print(i) 8

小数float类型:

可以用小数表示:3.1415,1.5,.......

也可以用科学计数法表示(10用e替代,比如0.000012可以写成  1.2e-5)

>>> a=1.5 >>> print(a) 1.5 >>> a=-9999.5 >>> print(a) -9999.5 >>> a=1.5e5 >>> print(a) 150000.0 >>> a=1.5e-10 >>> print(a) 1.5e-10 >>> a=0.0000000000000001 >>> print(a) 1e-16

注:对于太小的数,会自动转化成科学计数法表示,太大的数不会自动转化

 

布尔bool类型:True、False

使用True和False两个关键字来表示布尔类型

可以使用非零数值表示True,但总觉得这是一个不好的习惯

>>> type(True) >>> type(False) >>> a=bool(2) >>> a True >>> a=int(True) >>> a 1 >>> print(int(False)) 0

字符串str类型:

Python不支持字符类型; 字符会被视为长度为  1的字符串

可以使用两个单引号,或两个双引号来代表字符串

>>> type("aaaa") >>> type('aaaa')

可以使用下标来访问字符串的值【-1代表最后一位】:

>>> str1="123" >>> str1[0] '1' >>> str1[-1] '3'

可以对字符串进行切片(切片方法:字符串名[左下标:右下标(不取到右下标)]),返回值是切片后的字符串,但并不会改变原字符串的值

【    [:]代表完全切片,[:右下标]代表从零开始,[左下边:]代表结尾是最后一位,-1下标代表最后一位   】

【切片也可以有间隔,用法字符串名[左下标:右下标:间隔]   】

>>> hello="Hello World!" >>> new_hello=hello[:] >>> new_hello 'Hello World!' >>> hello[:2] 'he' >>> hello[1:3] 'el' >>> hello[1:-1] 'ello world'

>>> hello[1:-1:1] 'ello world' >>> hello[1:-1:2] 'el ol'

可以使用三引号(单引号或双引号)来代表多行字符串

>>> type("""hahah haha hahah""") >>> type('''第一行 第二行 第三行''')

常用函数:补充

字符串格式化:补充

原始字符串:补充

列表list类型:

list是一种有序的集合,可以随时添加删除其中的元素。

使用中括号包裹元素,表明这是一个列表。[元素,元素,元素,.......]

>>> i=['a',100,True] >>> type(i)

列表的元素不限定数据类型,可以是字符串,可以是数值,可以是布尔类型,也可以是其他列表等等

列表可以是空的:list1=[]

可以使用list函数来创建列表

>>> list("abcd") ['a', 'b', 'c', 'd']

列表也可以使用下标来访问元素,也可以切片,操作与字符串相同。

列表可以替换元素【使用 = 】:

>>> i ['a', 100, True] >>> i[0]='b' >>> i ['b', 100, True]

如果列表中包含列表时,如果要取子列表中的元素,相当于操作“二维数组”,使用 列表名[索引][索引]:

>>> i ['b', 100, True] >>> l=[i,"helloworld"] >>> l [['b', 100, True], 'helloworld'] >>> l[0][0] 'b'

可以使用“+”拼接列表,使用*重复列表

>>> l2=i*2 >>> l2 ['b', 100, True, 'b', 100, True] >>> l3=i+l >>> l3 ['b', 100, True, ['b', 100, True], 'helloworld']

列表常用函数:补充

列表生成式:补充

元组tuple类型:

使用()跟,来表示元组,当tuple中只有一个元素时,逗号可以特别的说明这是一个tuple,实际上,python也允许tuple定义时没有括号

>>> t1=('a',1,True) >>> type(t1) >>> t2=('a') >>> type(t2) >>> ####注意上面的类型### >>> t3=('a',) >>> type(t3)

>>> tuple2=1,2,3,4,5 >>> type(tuple2) >>> tuple2 (1, 2, 3, 4, 5)

有序列表叫元组,tuple的元素一旦初始化就不能修改,但可以存储list,因为tuple并不会复制一份list到自己的内存中,它只会存储list的内存指向,只要list的内存指向不变,就不跟tuple的不变原则冲突。

>>> t1=('a',i) >>> t1 ('a', ['b', 100, True]) >>> id(t1[1]) 1673650817160 >>> id(i) 1673650817160

tuple也可以可以使用下标来访问元素,也可以切片,操作与字符串相同。

元组可以为空

元组常用函数 tuple一旦初始化就不能修改,所以它没有append()、insert(),也没有pop()等能增删元素的方法

>>> tuple1=(1,2,3,4) >>> print(tuple1.index(2))#查找指定元素的下标 1 >>> print(tuple1.count(2))#查找某元素存在的数量 1

字典dict类型:

使用键-值(key-value)存储

由于其哈希特性,因此具有极快的查找速度

可以使用{键1:值1,键2:值2,键3:值3 ...}来定义一个字典

>>> d1={'a':'apple','b':'banana','c':'cabbage'} >>> type(d1)

字典是使用哈希算法来计算对应对应值的位置的,所以key必须是固定不可变的,在Python中,字符串、整数等都是不可变的,所以,可以作为key。其余元素可变的对象如list、set、dict就不能作为key,因为其元素结果不确定,无法确定哈希值。

>>> l1=['a'] >>> d1[l1]='c' Traceback (most recent call last): File "", line 1, in d1[l1]='c' TypeError: unhashable type: 'list'

dict内部存放的顺序和key放入的顺序是没有关系的

可以使用  字典名[键]     快速查找出对应的值,键不存在则无法查找

>>> d1 {'a': 'apple', 'b': 'banana', 'c': 'cabbage', ('a',): 'c'} >>> d1['a'] 'apple' >>> d1['d'] Traceback (most recent call last): File "", line 1, in d1['d'] KeyError: 'd'

可以给某一个键的对应的值重新赋值,但由于一个key只能对应一个value,所以新的赋值会把就得值覆盖掉【如果定义的时候出现多个同名的键,这个键的值以最后的赋值为准】

>>> d1 {'a': 'apple', 'b': 'banana', 'c': 'cabbage', ('a',): 'c'} >>> d1['a']='apple pen' >>> d1 {'a': 'apple pen', 'b': 'banana', 'c': 'cabbage', ('a',): 'c'}

可以使用   字典名[一个未使用的键]=值  来添加一个键值对:

>>> d1 {'a': 'apple pen', 'b': 'banana', 'c': 'cabbage', ('a',): 'c'} >>> d1['ai']='python' >>> d1 {'a': 'apple pen', 'b': 'banana', 'c': 'cabbage', ('a',): 'c', 'ai': 'python'}

注:直接迭代字典,只能迭代出key

>>> dict10={1:"苹果","雪碧":"雪梨"} >>> >>> for i in dict10: print(i) 1 雪碧

使用 字典名[key] 获取不存在的键时会抛出异常KeyError,可以使用成员运算符来避免或使用get()来避免

>>> dict10 {1: '苹果', '雪碧': '雪梨'} >>> 1 in dict10 True >>> 3 in dict10 False >>> print(dict10.get(3)) None >>> print(dict10.get(1)) 苹果

字典常用函数:补充

集合类型:

set和dict类似,也是使用大括号包裹

可以使用大括号来定义一个集合

>>> s1={'a','b','c'} >>> s1 {'b', 'c', 'a'} >>> type(s1)

可以使用set来定义一个集合,set函数的参数为一个可迭代对象(Iterable)

>>> s2=set() >>> type(s2) >>> s3=set(['a','b','c']) >>> type(s3)

set不能使用下标来取出元素

set的原理和dict一样,所以,同样不可以放入可变对象,因为它也是使用哈希来计算计算结果的,可以记作set与dict不同的是它只存储key,不存储value【set()函数传入一个字典作为参数时,只取key作为结果】

>>> s3.add(['cbd']) Traceback (most recent call last): File "", line 1, in s3.add(['cbd']) TypeError: unhashable type: 'list'

集合的常用函数:补充

数据类型转换相关函数

int()函数可以把其他数据类型转换为整数:

float( )函数可以把其他数据类型转换成浮点数

str( )函数可以把其他数据类型转换成字符串类型

bool( )函数可以把其他数据类型转换成布尔类型

tuple()将其他数据类型转换为元组

set()将其他数据类型转换为集合。

 

>>> print(type(int("123"))) >>> print(type(float("123"))) >>> float("123") 123.0 >>> str(123) '123' >>> bool(2) True >>> list("123") ['1', '2', '3'] >>> tuple("123") ('1', '2', '3')

注:转换是有规则的,要符合规则才能转化,比如int()不能转换"abc"

关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐