Python语法入门之基本数据类型

大城市里の小女人 提交于 2020-02-09 20:15:06

一、整型(int)

python2中有long类型
python3中没有long类型,只有int类型

整形,用来记录年龄,人数等整数相关的状态

age = 21
students = 65
 
print(type(age))
<class 'int'>  # 类型为整型

二、浮点型(float)

用来记录工资,身高,体重等小数相关的状态

sal = 5257.23
weight = 60.78
height = 175.12
 
print(type(sal))
<class 'float'>  # 类型为浮点型

三、字符串类型(str)

在引号内的都被称为字符串,用来描述事物的状态信息

name = 'kody'
address = '河南南阳'
sex = '男'
 
print(type(sex))
<class 'str'>  # 类型为字符串

字符串引号是没有区别的,但不能混用

# 单双引号无区别,都是字符串引号
name = "kody"
name = 'kody'
name = """kody"""
 
# 但是单双引号不能混用
name = 'kody"  # 错误示例

如果字符串中还需要引号,就必须嵌套

today = '你看起来很美,像一朵‘玫瑰’,让人心情也好起来了'
print(today)
你看起来很美,像一朵‘玫瑰’,让人心情也好起来了

字符串拼接是开辟一个新的内存空间,将你拼接之后的值存进去

s6 = 'hello'
s7 = 'world'
print(s6 + s7)

字符串在python2和python3中的细微区别

python2中:

str的本质是8个bit位的序列

>>> s1 = 'sean'
>>> type(s1)
<type 'str'>
>>> s1 = s1.decode("utf-8")  # 将s1的sean字符串类型解码为utf-8
>>> type(s1)  # 打印解码后的s1
<type 'unicode'>  # 显示为unicode
>>> s1
u'sean'

当我们把s1的值解码后为unicode,那未解码前,s1的值应该为8个bit位的序列


python3中:

str的本质是unicode序列

>>> ss1 = 'sean'
>>> type(ss1)
<class 'str'>
>>>
>>> ss1 = ss1.encode('utf-8')  # 把ss1的值编码为utf-8
>>> ss1
b'sean'
>>>
>>> type(ss1)  # 打印ss1的类型
<class 'bytes'>  # 为bytes

当我们把ss1的值编码后为bytes,那未编码前,ss1的值是unicode的序列

1024G = 1T
1024M = 1G
1024KB = 1M
1024B = 1KB
1B = 8bit

四、复数

我们来明确一下什么是复数: 复数在数学上面的定义是由实数部分和虚数部分所组成的数,形如a+bj .

其中a、b为实数,j为“虚数单位”,j 的平方等于-1.a、b分别叫做复数a+bj的实部和虚部。

# 问题
关于 Python 的复数类型,以下选项中描述错误的是
A复数的虚数部分通过后缀“J”或者“j”来表示
B对于复数 z,可以用 z.real 获得它的实数部分
C对于复数 z,可以用 z.imag 获得它的实数部分
D复数类型表示数学中的复数
正确答案: C
# 下面让我们在Python中定义一个复数:real + imag(虚部的单位可以是j或者J)
a = 6 + 0.6j
# 输出这个复数a
print(a)
# 获取实部
print(a.real)
# 获取虚部
print(a.imag)
# 获取该复数的共轭复数
print(a.conjugate())
# 让我们通过complex函数来定义一个复数
a = complex(1, 2)
b = complex(1)
c = complex("1")
d = complex("1+2j")
# 运行结果
(1+2j)
(1+0j)
(1+0j)
(1+2j)

五、列表(list)

存在一个或者多个不同类型的值

# 假设我们想要取sean老师的其中一个技能“跳”,改如何取出?
sean = ['老男人', '60', ['唱', '跳', 'rap', '篮球']]
 
# 利用索引取值(索引计数是从0开始的)
print(sean[0])  # 首先我们取索引为0的发现对应的位置是--老男人
老男人
print(sean[1])  # 索引1的位置对应的是--60
60
print(sean[2])  # 索引2的位置对应的是一个列表
['唱', '跳', 'rap', '篮球']
 
# 那发散思考,sean老师的技能是在大列表中,索引位置为2的小列表里,因此
print(sean[2][1])
跳
l1 = [
    ['sean', '老男人', '60', ['唱', '跳', 'rap', '篮球']],
    ['egon', '抽烟', '喝酒']
]
 
print(l1[0][3][3])
篮球

六、数据字典(dict)

定义方式

通过大括号存储数据,通过key:value这种映射关系定义键值对,每个键值对通过逗号进行分隔

# d = dict({'name': 'sean', 'age': '80})
d = {'name': 'sean', 'age': '80'}
 
print(d['name'])
sean
print(type(d))
<class 'dict'>
 
print(d['name'], d['age'])
sean 80
# 例如我想取出kody的兴趣爱好中的羽毛球
d1 = {'name': 'kody', 'age': '21', 'hobby': ['看书', '听歌', '羽毛球']}
 
print(d1['hobby'][2])
羽毛球

七、布尔值(bool)

约定成俗的,在定义bool的时候,开头使用is_开头
例如:is_successd

定义

主要用于判断事物的对错

值相等的情况下,id不一定相等

id相等的情况下,值一定相等

a = True  # a = bool(True)
b = False  # a = bool(False)
a = 1
b = 2
 
print(a > b)  # 比较大小
False  # 返回结果,不正确

==和is

a = 1
b = 1
 
print(a == b)  # 等号比较的是value
print(a is b)  # is比较的是id(地址)
True
True
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!