Python入门(三)变量类型及数据类型转换

简介: 区别于Python2!具体分析了Python3中数据类型之间的转换方法,巩固加深了对变量类型的理解。

变量

顾名思义,就是程序运行中值能改变的量,而且在变量使用之前,需要对其赋值。
变量名的命名及使用规则:

  • 可以包括字母、数字、下划线,但不能以数字开头;
  • 字母区分大小写,即同一字母的大小写代表不同的变量;
  • 尽可能根据变量数据特点命名,可提高程序的可读性;
  • 变量名不要和Python的BIF重名,虽然Python中可以对BIF进行赋值,但是实际编程中很可能会遇到BUG,在编译器中BIF为紫色。
  • 等号"="是赋值的意思,左边是变量名,右边是值。
    1) 单变量赋值
>>> year=2018

2)多变量赋值

>>> a = b = c = 1
>>> a, b, c = 1, 2.0, 'DJY'

数据类型

Python有五个标准的数据类型:

  • numbers(数字):int,float,bool,complex
  • str(字符串)
  • list(列表)
  • tuple(元组)
  • dict(字典)
  • set(集合)

int

  • Python可以处理任意大小的整数,例如:
>>> -12345678*9876543  #输出结果 -121932619631154
  • 计算机中常使用十六进制表示整数,例如:0xFFEC,0xAABB。

float

  • 有小数点的数字就可以理解为float型数据,不区分单双精度,并且可以通过round()等函数对其精度进行控制,例如:
>>> round(11.23456789,2)  #输出结果 11.23
  • 对于很大或者很小的数,我们通常采用科学计数法,把10用E代替,例如:1.23E6,2.04E-23。

bool

  • 一个布尔值只有True、False(注意大小写)两种值;
  • 布尔值可以进行not、and和or运算:
    not是非运算,把 True 变成 False,False 变成 True;

and是与运算,值都为 True时,结果才为True;
or是或运算,只要有一个值为 True,结果就是 True。

complex

>>> (2+3j)*(4+6j)  #输出结果 (-10+24j)
>>> (1+2j).imag  #输出结果 2.0

str

由数字、字母、下划线组成,表示方法有单引号,双引号,三引号(三单引号和三双引号)三种,例:'djy',"djy",''' djy''',"""djy""",注意Python中单字符也是字符串;

list

是一种有序的集合,可以包含整数,浮点数,字符串,对象,可以随时添加和删除其中的元素。

  • 普通列表
>>> player=['酷狗音乐','网易云音乐','QQ音乐','虾米音乐']
>>> type(player)       
<class 'list'>
  • 混合列表
>>> music=[1996,'11:59','IF','人间失格',['华晨宇','丁可']]
>>> type(music)       
<class 'list'>
  • 空列表
>>> empty=[]
>>> empty  
[]

tuple

tuple 和 list 非常类似,只是,tuple一旦创建完毕,就不能修改了。

  • 普通元祖
>>> tuple1=1,  #或者tuple1=(1, )  注意“,”是关键
>>> type(tuple1)
<class 'tuple'>
  • 空元祖
>>> tuple1=()
>>> tuple1
()

dict

dict可存放任意类型对象,但它是通过键和键值来存储,其中键不可变且不允许同一个键出现两次,值可以取任何数据类型。
dict = {key1 : value1, key2 : value2 }

>>> dict1= {'singer': 'GEM', 'sex': 'female', 'song': '查克靠近'}
>>> type(dict1)
<class 'dict'>
>>> dict2= dict(singer='GEM', sex= 'female', song='查克靠近')
>>> dict2
{'singer': 'GEM', 'sex': 'female', 'song': '查克靠近'}
>>> type(dict2)
<class 'dict'>

另外,通过给键值赋值的方式创建字典时,如果键值存在则自动更新键值内容,如果不存在此键值将会自动在字典里添加此键值。

set

set 和 list 类似,但是set中的元素不可重复,而且是无序的,这点和 dict 的 key很像。

>>> set1= {'酷狗音乐', '网易云音乐', '虾米音乐'}
>>> type(set1)   
<class 'set'>

数据类型转换

  • 将一个字符串或数字转换为整型:int(x[,base])
    x---字符串或数字;

base---进制数,默认十进制;

>>> int()  
0
>>> int(1)
1
>>> int(1.8)
1
>>> int('0xff',16)
255
  • 将整数和字符串转换成浮点数:float(x)
    x--- 整数或字符串
>>> float()       
0.0
>>> float(1)   
1.0
>>> float('123')    
123.0
  • 将一个字符串或数转化为复数或创建一个复数,如果第一个参数为字符串,则无需设置第二个参数:complex([real[, imag]])
    real---int,float,str;

imag---int,float;

>>> complex()
0j
>>> complex(1)       
(1+0j)
>>> complex("1")  
(1+0j)
>>> complex("1+2j")  # 这个地方"+"号两边不能有空格,否则会报错   
(1+2j)
  • 将对象转化为字符串型:str(x)
    x---对象
>>> str1=100       
>>> str(str1)       
'100'
>>> dict1= {'singer': 'GEM', 'sex': 'female', 'song': '查克靠近'}
>>> str(dict1)       
"{'singer': 'GEM', 'sex': 'female', 'song': '查克靠近'}"
  • 计算字符串中的有效Python表达式,并返回一个对象:eval(expression[, globals[, locals]])
    expression---表达式。

globals---变量作用域,全局命名空间,如果设置,则必须是一个字典对象。
locals---变量作用域,局部命名空间,如果设置,则可是任何映射对象。

>>> x = 2
>>> eval("x + 4")
6
>>> eval('pow(2,2)')       
4
  • 将序列转换为元组:tuple( seq )
    seq---序列
>>> tuple((1,2,3))   #将tuple转化为tuple  
(1, 2, 3,)
>>> tuple([1,2,3])     #将list转化为tuple 
(1, 2, 3)
>>> tuple({1:2,3:4})   #将dict转化为tuple 
(1, 3)
  • 将元组转换为列表:list( seq )
    seq---序列
>>> tuple1=(1,'djy')       
>>> list1=list(tuple1)       
>>> list1       
[1, 'djy']
  • 转化为一个无序不重复元素集,还可计算交集、并集、差集的集合:set([iterable])
    iterable--- 可迭代对象
>>> set1='djy'   
>>> set(set1)       
{'d', 'y', 'j'}
>>> set1='djy'   
>>> set2='fxw'       
>>> set(set1) & set(set2)  #取交集       
set()
>>> set(set1) | set(set2)   #取并集       
{'w', 'y', 'j', 'f', 'd', 'x'}
>>> set(set1) - set(set2)   #取差集       
{'d', 'y', 'j'}
  • 创建一个字典:dict(kwarg)、dict(mapping, kwarg)、dict(iterable, **kwarg)

**kwargs---关键字;
mapping---元素的容器;
iterable---可迭代对象;

>>> dict(singer='GEM', sex='female', song='查克靠近')
{'singer': 'GEM', 'sex': 'female', 'song': '查克靠近'}
>>> dict(zip(['A', 'B', 'C'], ['a','b','c']))   # 映射函数
{'A': 'a', 'B': 'b', 'C': 'c'}
>>> dict([('A','a'),('B','b'),('C','c')])   #可迭代对象
{'A': 'a', 'B': 'b', 'C': 'c'}
  • 创建一个不可变集合:frozenset([iterable])
    iterable---可迭代的对象,比如列表、字典、元组等
>>> a = frozenset('fxwdjy') 
>>> a
frozenset({'w', 'y', 'f', 'j', 'd', 'x'}) 
  • 将一个字符转换为它的十进制值:ord(c)
    c---字符
>>> ord('a')
97
  • 将一个整数转换为一个八进制、十六进制字符串:oct(x)、hex(x)
    x---10进制整数
>>> oct(10)
'0o12'
>>> hex(10)       
'0xa'
目录
相关文章
|
20天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
17天前
|
Python
[oeasy]python050_如何删除变量_del_delete_variable
本文介绍了Python中如何删除变量,通过`del`关键字实现。首先回顾了变量的声明与赋值,说明变量在声明前是不存在的,通过声明赋予其生命和初始值。使用`locals()`函数可查看当前作用域内的所有本地变量。进一步探讨了变量的生命周期,包括自然死亡(程序结束时自动释放)和手动删除(使用`del`关键字)。最后指出,删除后的变量将无法在当前作用域中被访问,并提供了相关示例代码及图像辅助理解。
109 68
|
19天前
|
Shell Python
[oeasy]python049_[词根溯源]locals_现在都定义了哪些变量
本文介绍了Python中`locals()`函数的使用方法及其在调试中的作用。通过回顾变量赋值、连等赋值、解包赋值等内容,文章详细解释了如何利用`locals()`函数查看当前作用域内的本地变量,并探讨了变量声明前后以及导入模块对本地变量的影响。最后,文章还涉及了一些与“local”相关的英语词汇,如`locate`、`allocate`等,帮助读者更好地理解“本地”概念在编程及日常生活中的应用。
29 9
|
21天前
|
IDE 程序员 开发工具
Python编程入门:打造你的第一个程序
迈出编程的第一步,就像在未知的海洋中航行。本文是你启航的指南针,带你了解Python这门语言的魅力所在,并手把手教你构建第一个属于自己的程序。从安装环境到编写代码,我们将一步步走过这段旅程。准备好了吗?让我们开始吧!
|
21天前
|
测试技术 开发者 Python
探索Python中的装饰器:从入门到实践
装饰器,在Python中是一块强大的语法糖,它允许我们在不修改原函数代码的情况下增加额外的功能。本文将通过简单易懂的语言和实例,带你一步步了解装饰器的基本概念、使用方法以及如何自定义装饰器。我们还将探讨装饰器在实战中的应用,让你能够在实际编程中灵活运用这一技术。
37 7
|
24天前
|
Python
Python 中一些常见的数据类型
Python 中一些常见的数据类型
77 8
|
22天前
|
开发者 Python
Python中的装饰器:从入门到实践
本文将深入探讨Python的装饰器,这一强大工具允许开发者在不修改现有函数代码的情况下增加额外的功能。我们将通过实例学习如何创建和应用装饰器,并探索它们背后的原理和高级用法。
35 5
|
21天前
|
机器学习/深度学习 人工智能 算法
深度学习入门:用Python构建你的第一个神经网络
在人工智能的海洋中,深度学习是那艘能够带你远航的船。本文将作为你的航标,引导你搭建第一个神经网络模型,让你领略深度学习的魅力。通过简单直观的语言和实例,我们将一起探索隐藏在数据背后的模式,体验从零开始创造智能系统的快感。准备好了吗?让我们启航吧!
53 3
|
6月前
|
Python
python 中*类型对象
【6月更文挑战第9天】
34 2
|
2月前
|
存储 缓存 算法
详解 PyTypeObject,Python 类型对象的载体
详解 PyTypeObject,Python 类型对象的载体
50 3