Python基础-数据类型归纳.

Posted peterwan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础-数据类型归纳.相关的知识,希望对你有一定的参考价值。

1.1、python3 数据类型:

类型含义示例
int 整型 1
float 浮点型 1.0
bool 布尔值 True或False
complex 复数 a+bj
string 字符串 ‘abc123’
list 列表 [a,b,c]
tuple 元组 (a,b,c)
set 集合 {a,b,c}
dictionary 字典 {a:b,c:d}

1.2、备注说明

类型说明
complex 复数的虚数部分不能省略
string 字符串不能包括有 ‘’ ,否则输出的不是原来的字符串
list和tuple list可以修改元素,tuple不能,但是tuple可以包括list等多种数据类型,占用资源多于list
set 没有排列的顺序及不会有重复的元素
dictionary 一个键对应多个值,但是不能有相同的键

 

变量以及类型

<1>变量的定义

在程序中,有时我们需要对2个数据进行求和,那么该怎样做呢?

大家类比一下现实生活中,比如去超市买东西,往往咱们需要一个菜篮子,用来进行存储物品,等到所有的物品都购买完成后,在收银台进行结账即可

如果在程序中,需要把2个数据,或者多个数据进行求和的话,那么就需要把这些数据先存储起来,然后把它们累加起来即可

在Python中,存储一个数据,需要一个叫做变量的东西,如下示例:

 
  1.  
     
  2.  
    num1 = 100 #num1就是一个变量,就好一个模具
  3.  
     
  4.  
    num2 = 87 #num2也是一个变量
  5.  
     
  6.  
    result = num1 + num2 #把num1和num2这两个"模具"中的数据进行累加,然后放到 result变量中
  • 说明:
    • 所谓变量,可以理解为模具,如果需要存储多个数据,最简单的方式是有多个变量,当然了也可以使用一个
    • 程序就是用来处理数据的,而变量就是用来存储数据的
  • 变量定义的规则:

    • 变量名只能是 字母、数字或下划线的任意组合
    • 变量名的第一个字符不能是数字
    • 以下关键字不能声明为变量名
      [‘and‘, ‘as‘, ‘assert‘, ‘break‘, ‘class‘, ‘continue‘, ‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except‘, ‘exec‘, ‘finally‘, ‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘, ‘is‘, ‘lambda‘, ‘not‘, ‘or‘, ‘pass‘, ‘print‘, ‘raise‘, ‘return‘, ‘try‘, ‘while‘, ‘with‘, ‘yield‘]

想一想:我们应该让变量占用多大的空间,保存什么样的数据?

 
<2>变量的类型
 

 

Python采用动态类型系统。在编译的时候,Python不会检查对象是否拥有被调用的方法或者属性,而是直至运行时,才做出检查。所以操作对象时可能会抛出异常。不过,虽然Python采用动态类型系统,它同时也是强类型的。Python禁止没有明确定义的操作,比如数字加字符串。
与其它面向对象语言一样,Python允许程序员定义类型。构造一个对象只需要像函数一样调用类型即可,比如,对于前面定义的Fish类型,使用Fish()。类型本身也是特殊类型type的对象(type类型本身也是type对象),这种特殊的设计允许对类型进行反射编程。
Python内置丰富的数据类型。与Java、C++相比,这些数据类型有效地减少代码的长度。下面这个列表简要地描述了Python内置数据类型(适用于Python 3.x):
类型
描述
例子
备注
一个由字符组成的不可更改的有序串行。
‘Wikipedia‘
"Wikipedia"
"""Spanning
multiple
lines"""
在Python 3.x里,字符串由Unicode字符组成
bytes
一个由字节组成的不可更改的有序串行。
b‘Some ASCII‘
b"Some ASCII"
 
list
可以包含多种类型的可改变的有序串行
[4.0, ‘string‘, True]
 
tuple
可以包含多种类型的不可改变的有序串行
(4.0, ‘string‘, True)
 
set, frozenset
与数学中集合的概念类似。无序的、每个元素唯一。
{4.0, ‘string‘, True}
frozenset([4.0, ‘string‘, True])
 
dict
一个可改变的由键值对组成的无序串行。
{‘key1‘: 1.0, 3: False}
 
int
精度不限的整数
42
 
float
浮点数。精度与系统相关。
3.1415927
 
complex
复数
3+2.7j
 
bool
逻辑值。只有两个值:真、假
True
False
 
除了各种数据类型,Python语言还用类型来表示函数、模块、类型本身、对象的方法、编译后的Python代码、运行时信息等等。因此,Python具备很强的动态性。
 
<3>基本表达式

条件语句

如果我们希望有效的响应用户的输入,代码就需要具有判断能力。能够让程序进行判断的结构成为条件,条件判断语句返回的是布尔值真或假,真就执行一条线路,假就执行另外一条线路

  1.  
    #!/usr/bin/env python
  2.  
    # -*- coding: encoding -*-
  3.  
     
  4.  
    name = input(‘请输入用户名:‘)
  5.  
     
  6.  
    if name == "alex":
  7.  
    print "超级管理员"
  8.  
    elif name == "eric":
  9.  
    print "普通管理员"
  10.  
    elif name == "tony":
  11.  
    print "业务主管"
  12.  
    else:
  13.  
    print "普通用户"

While循环

  While循环,是一个循环加判断的组合,满足判断条件返回 真(True)开始循环代码块,不满足判断条件返回 假()不循环

格式:

  While 条件:

     代码块

  注意:在While循环里如果不加终止循环的判断或者关键字,会一直循环(死循环)

  如: 

 

  1.  
    #!/usr/bin/env python
  2.  
    # -*- coding: utf-8 -*-
  3.  
     
  4.  
     
  5.  
    my_age = 28
  6.  
     
  7.  
    count = 0
  8.  
    while count < 3:
  9.  
    user_input = int(input("input your guess num:"))
  10.  
     
  11.  
    if user_input == my_age:
  12.  
    print("Congratulations, you got it !")
  13.  
    break
  14.  
    elif user_input < my_age:
  15.  
    print("Oops,think bigger!")
  16.  
    else:
  17.  
    print("think smaller!")
  18.  
    count += 1 #每次loop 计数器+1
  19.  
    else:
  20.  
    print("猜这么多次都不对,你个笨蛋.")

 

for循环

  主要用于循环一个字符串列表等

  不需要判断,定义一个循环变量即可

  格式:for (循环定义变量) in (被循环的变量)    循环完后自动退出整个循环

  打印循环定义变量即可

  关键字(continue)   跳出本次循环  继续下次环

  关键字(break)   跳出整个循环 不在循环



 

 
 
 
<4>基本数据类型类型
 
1、数字

2 是一个整数的例子。
长整数 不过是大一些的整数。
3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。
(-5+4j)和(2.3-4.6j)是复数的例子。

int(整型)

  在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
  在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
long(长整型)
  跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
  注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
float(浮点型)
  浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
complex(复数)
  复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
注:Python中存在小数字池:-5 ~ 257
 
2、布尔值
  真或假
  1 或 0
3、字符串
"hello world"
万恶的字符串拼接:
  python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间。
字符串格式化
1
2
3
4
name = "alex"
print "i am %s " % name
 
#输出: i am alex

PS: 字符串是 %s;整数 %d;浮点数%f

字符串常用功能:
  • 移除空白
  • 分割
  • 长度
  • 索引
  • 切片
4、列表
创建列表:
1
2
3
name_list = [‘alex‘‘seven‘‘eric‘]
name_list = list([‘alex‘‘seven‘‘eric‘])

基本操作:

  • 索引
  • 切片
  • 追加
  • 删除
  • 长度
  • 切片
  • 循环
  • 包含
5、元祖
创建元祖:
1
2
3
ages = (1122334455)
ages = tuple((1122334455))
基本操作:
  • 索引
  • 切片
  • 循环
  • 长度
  • 包含
6、字典(无序)
创建字典:
1
2
3
person = {"name""mr.wu"‘age‘18}
person = dict({"name""mr.wu"‘age‘18})

常用操作:

  • 索引
  • 新增
  • 删除
  • 键、值、键值对
  • 循环
  • 长度
PS:循环,range,continue 和 break
 
 
 
 
1、数字

2 是一个整数的例子。
长整数 不过是大一些的整数。
3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。
(-5+4j)和(2.3-4.6j)是复数的例子。

int(整型)

  在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
  在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
long(长整型)
  跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
  注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
float(浮点型)
  浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
complex(复数)
  复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
注:Python中存在小数字池:-5 ~ 257
 
2、布尔值
  真或假
  1 或 0
3、字符串
"hello world"
万恶的字符串拼接:
  python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间。
字符串格式化
1
2
3
4
name = "alex"
print "i am %s " % name
 
#输出: i am alex

PS: 字符串是 %s;整数 %d;浮点数%f

字符串常用功能:
  • 移除空白
  • 分割
  • 长度
  • 索引
  • 切片
4、列表
创建列表:
1
2
3
name_list = [‘alex‘‘seven‘‘eric‘]
name_list = list([‘alex‘‘seven‘‘eric‘])

基本操作:

  • 索引
  • 切片
  • 追加
  • 删除
  • 长度
  • 切片
  • 循环
  • 包含
5、元祖
创建元祖:
1
2
3
ages = (1122334455)
ages = tuple((1122334455))
基本操作:
  • 索引
  • 切片
  • 循环
  • 长度
  • 包含
6、字典(无序)
创建字典:
1
2
3
person = {"name""mr.wu"‘age‘18}
person = dict({"name""mr.wu"‘age‘18})

常用操作:

  • 索引
  • 新增
  • 删除
  • 键、值、键值对
  • 循环
  • 长度
PS:循环,range,continue 和 break
 
 
 


























以上是关于Python基础-数据类型归纳.的主要内容,如果未能解决你的问题,请参考以下文章

数据库02-基础归纳

Python常见数据归纳总结

python学习笔记-面向对象基础

python 归纳 _并发队列Queue的使用

python-python基础6

Python笔记基础篇-Day6