Python全栈之基本数据类型

目录
  • 1. number类型
    • 1.1 int整型
    • 1.2 float浮点型(小数)
    • 1.3 bool布尔型
    • 1.4 复数类型
  • 2. 字符串类型
  • 3. 列表_元组_字符串
    • 3.1 列表类型
    • 3.2 元组类型
    • 3.3 字符串类型
  • 4. 集合_字典
    • 4.1 集合类型
    • 4.2 字典类型
  • 5. 变量的缓存机制
  • 6. 小练习
  • 总结

1. number类型

Number 数字类型 (int float bool complex)

1.1 int整型

# int 整型 (正整型 0 负整型)
intvar = 100
print(intvar)
# type 获取值得类型
res = type(intvar)
print(res)
# id   获取值得地址
res = id(intvar)
print(res)
# 二进制整型
intvar = 0b110
print(intvar)
print( type(intvar) )
print(     id(intvar)    )
# 八进制整型
intvar = 0o127
print(intvar)
print(type(intvar))
print(id(intvar))
# 十六进制
intvar = 0xff
intvar = 0XFF
print(intvar)
print(type(intvar))
print(id(intvar))
"""
二进制 1 + 1 = `10
八进制 7 + 1  = 10
十六进制 f + 1 = 10
"""

1.2 float浮点型(小数)

# 表达方式之一
floatvar = 3.6
print(floatvar , type(floatvar))
# 表达方式2 科学计数法
floatvar = 5.75e5 # 小数点右移5
floatvar = 5.7e-2 # 小数点左移2
print(floatvar, type(floatvar))

1.3 bool布尔型

# True 真的, False 假的
boolvar = True
boolvar = False
print(boolvar , type(boolvar))

1.4 复数类型

"""
3 + 4j
实数+虚数
实数: 3
虚数: 4j
j   : 如果有一个数他的平方等于-1,那么这个数就是j , 科学家认为有,表达一个高精度的类型
"""
# 表达方式1
complexvar = 3 + 4j
complexvar = -3j
print(complexvar , type(complexvar))
# 表达方法2
"""
complex(实数,虚数) => 复数
"""
res = complex(3,4)
print(res , type(res))

2. 字符串类型

# ### 字符串类型 str
"""
用引号引起来的就是字符串,单引号,双引号,三引号
# 转移字符 \ + 字符串类型
	(1) 可以将无意义的字符变的有意义
	(2) 可以将有意义的字符变的无意义
\n   : 换行
\r\n : 换行
\t   : 缩进(水平制表符)
\r   : 将\r后面的字符串拉到了当前行的行首
"""
# 1. 单引号的字符串
strvar = '生活不知眼前的苟且'
print(strvar , type(strvar))
# 2. 双引号的字符串
strvar = "还有诗和远方的田野"
print(strvar , type(strvar))
# 可以将无意义的字符变得有意义
strvar = "还有诗和\n远方的田野"
print(strvar)
strvar = "还有诗和\r\n远方的田野"
strvar = "还有诗和\t远方的田野"
strvar = "还有诗和\r远方的田野"
strvar = "还有诗和\n远方的\r田野"
# 可以将有意义的字符变得无意义
strvar = "还有诗和\"远\"方的田野"
print(strvar)
strvar = '''
"生活就像醉酒"
表面上'不'要
身体却很诚实
'''
print(strvar)
# 元字符串 r"字符串" 原型化输出字符串
strvar = " D:\nython32_python\tay02"
strvar = r" D:\nython32_python\tay02"
print(strvar)
# 5. 字符串的格式化
"""
%d 整型占位符
%f 浮点型占位符
%s 字符串占位符
语法格式:
	"字符串" % (值1,值2)
"""
# %d 整型占位符
strvar = "小明昨天买了%d风油精,洗澡" % (2)
print(strvar)
# %2d 占两位(不够两位拿空格来补位)原字符串具右
strvar = "小明昨天买了%2d风油精,洗澡" % (2)
print(strvar)
# %-2d 占两位(不够两位拿空格来补位)原字符串具左
strvar = "小明昨天买了%-2d风油精,洗澡" % (2)
print(strvar)
# %f 浮点型占位符
strvar = "小明一个月开%f工资" % (9.9)
print(strvar)
# %.2f 保留小数点后面两位小数(存在四舍五入的情况,默认保留六位小数)
strvar = "小明一个月开%.2f工资" % (9.178)
print(strvar)
# %s字符串占位符
strvar = "%s最喜欢在电影院尿尿" % ("小明")
print(strvar)
# 综合案例
strvar = "%s在水里%s被发现了,罚款%.2f元,并且做了%d俯卧撑." % ("小明","尿尿",500.129,50000)
print(strvar)
# 如果搞不清楚用什么占位符,可以无脑使用%s
strvar = "%s在水里%s被发现了,罚款%s元,并且做了%s俯卧撑." % ("小明", "尿尿", 500.129, 50000)
print(strvar)

3. 列表_元组_字符串

3.1 列表类型

"""特征: 可获取,可修改,有序"""
# 1.定义一个空列表
listvar = []
print( listvar , type(listvar))
# 定义普通列表
listvar = [98,6.9,True,12-90j,"赵万里"]
# 2.获取列表中的元素
# 正向索引   0  1   2     3      4
listvar =   [98,6.9,True,12-90j,"赵万里"]
# 逆向索引  -5  -4  -3     -2      -1
res = listvar[2]
res = listvar[-2]
print(res)
# 通用写法
# len 获取容器类型数据中元素个数
length = len(listvar)
res = listvar[length-1]
print(res)
# 简写
res = listvar[len(listvar)-1]
print(res)
# python逆向索引的特点,瞬间得到列表中最后一个元素
print(listvar[-1])
# 3.修改列表中的元素
listvar = [98,6.9,True,12-90j,"赵万里"]
listvar[3] = "大象"
print(listvar)

3.2 元组类型

"""特征:可获取,不可修改,有序"""
# 定义一个元组
# 正向索引    0      1      2      3
tuplevar = ("小赵","小钱","小孙","小李")
# 逆向索引    -4     -3     -2     -1
print(tuplevar[2])
print(tuplevar[-1])
# 修改元组中的元素:元组中的值不能修改
# tuple[0] = "萌不好心" error
# 注意点
""" 逗号才是区分是否是元组的标识符"""
tuplevar = (8.9,)
tuplevar = 8.1,
print(tuplevar)
print(type(tuplevar))
# 定义空元组
tuplevar = ()
print(type(tuplevar))

3.3 字符串类型

"""特征:可获取,不可修改,有序"""
# 正向索引
#		  0 1 2 3 4 5 6 7 8
strvar = "看你,我就心跳加速"
#		  -9-8-7-6-5-4-3-2-1
# 逆向索引
# 获取字符串中的元素
print(strvar[3])
print(strvar[-6])
#不能修改字符串中的元素
#strvar[3] = "你" error
print("<=================>")
strvar = "" # 单纯定义一个字符串类型
print(strvar)
print(type(strvar))
strvar = "   " # 字符串中含有3个空格字符
print(strvar[0])
print(type(strvar))

4. 集合_字典

4.1 集合类型

"""特点:无序,自动去重"""
# 1. 集合无序
setvar = {"巨石强森","史泰龙","施瓦辛格","小明"}
print(setvar,type(setvar))
# 获取集合中的元素,不可以
# setvar[0] error
# 修改集合中的元素,不可以
# setvar[2] = 111
# 2. 集合自动去重
setvar = {"巨石强森","史泰龙","史泰龙","施瓦辛格","小明"}
print(setvar , type(setvar))
# 3. 定义一个空集合
setvar = set()
print(setvar , type(setvar))

4.2 字典类型

"""
键值对存储的数据,表面上有序,本质上无序
dicvar = {键1:值1,键2:值2,...}
3.6版本之前,完全无序
3.6版本之后,存储的时候,保留了字典的字面顺序,在获取内存中数据时
重新按照字面顺序做了排序,所以看起来有序,实际上存储时还是无序
"""
# 1. 定义一个字段
dictvar = {"top":"the shy","middle":"肉鸡","bottom":"jacklove","jungle":"臭鞋","support":"水稻"}
print(dictvar, type(dictvar))
# 2. 获取字典中的值
res = dictvar["middle"]
print(res)
res = dictvar["jungle"]
print(res)
# 3. 修改字典中的值
dictvar["top"] = "the xboy"
print(dictvar)
# 4. 定义空字典
dicvar = {}
print(dicvar,type(dictvar))
"""
字典的键 和 集合的值,有数据类型上的要求:
(允许的类型范围)不可变的类型:Number(int float complex bool) str tuple
(不允许的类型)可变的类型:list set dict
哈希算法的提出目的是让数据尽量均匀的咋i内存当中分配,以减少哈希碰撞,提升存储分配的效率;
哈希算法一定是无序的散列,所以集合和字典都是无序
字典的键有要求,值没要求
字典的值可以任意换掉,但是键不可以
"""
# 允许的类型范围
dictvar = {1:"abc",4.89:111,False:333,3+90j:666,"小明":"你好帅",(1,2,3,4,5,6):9999}
print(dictvar)
print(dictvar[(1,2,3,4,5,6)])
# dictvar = {[1,2,3]:123} error
# 允许的类型范围
setvar = {1,"a",4.56,9+3j,False,(1,2,3)}
print(setvar , type(setvar))
# 总结:
"""
无论是变量缓存机制还是小数据池的驻留机制,
都是为了节省内存空间
"""

5. 变量的缓存机制

# ### 在同一文件中,变量的缓存机制 (仅仅针对python3.6版本负责)
# 1.对于整型而言,-5~正无穷范围内的相同值 id一致
var1 = 5
var2 = 5
var1 = -100
var2 = -100
print(id(var1) , id(var2) )

# 2.对于浮点数而言,非负数范围内的相同值 id一致
var1 = 4.67
var2 = 4.67
var1 = -4.67
var2 = -4.67
print(id(var1) , id(var2) )
# 3.布尔值而言,值相同情况下,id一致
var1 = True
var2 = True
print(id(var1) , id(var2) )
# 4.复数在 实数+虚数 这样的结构中永不相同(只有虚数的情况例外)
var1 = 4 +5j
var2 = 4 +5j
# 5j 情况下例外
var1 = 5j
var2 = 5j
var1 = -5j
var2 = -5j
print(id(var1) ,id(var2))
# -->容器类型部分
# 5.字符串 和 空元组 相同的情况下,地址相同
var1 = "你"
var2 = "你"
var1 = ()
var2 = ()
print(id(var1) ,id(var2))
# 6.列表,元组,字典,集合无论什么情况 id标识都不同 [空元组例外]
var1 = (1,2)
var2 = (1,2)
var1 = [1,2,3]
var2 = [1,2,3]
print(id(var1) ,id(var2))
# 不同文件(模块)里,部分数据驻留小数据池中(仅对python3.6负责,了解)

6. 小练习

题目如下:

1. 什么是原码反码补码
2. 计算9 + (-3) 以及 -9 + (3)
3. 什么是注释
4. 注释种类
5. 如何用注释排错
6. 如何定义变量
7. 变量命名
8. 如何交换变量
9. Python6大标准数据类型
10. 浮点型和复数的两种表达方法
11. 写出三个转义字符,含义
12. 简述如何使用字符串的格式化占位符
13. 简述容器类型各个特征
14. 以下各是什么类型:() , (1) , ("abc") , (False,)
15. 字典的键和集合的值有什么要求
16. 用几种方式获取列表中的最后一个元素
17. 3.6版本中,变量的缓存机制有哪些

解答如下:

1.二进制表现的三种形式
原码:用来显示 补码:用来存储计算 反码:用来转换原码反码
正数 : 原码 = 反码 = 补码
负数 : 原码和补码 互为取反 + 1
2.
9
原码: 000 ... 1001
反码: 000 ... 1001
补码: 000 ... 1001
-3
原码 100 ... 011
反码 111 ... 100
补码 111 ... 101
000 ... 1001
111 ... 1101
000 ... 0110  => 6

-9
原码:100 ... 1001
反码:111 ... 0110
补码:111 ... 0111
3
原码 000 ... 011
反码 000 ... 011
补码 000 ... 011
111 ... 0111
000 ... 0011
111 ... 1010 补码
给你补码求原码
补码:111 ... 1010
反码:100 ... 0101
原码:100 ... 0110  -6
3. 注释就是对代码的解释,用来方便大家阅读代码的
4. 注释种类:单行注释 多行注释
5. 包裹代码划分范围,依次缩小范围找单行错误
6. a =1 ,b = 2,a,b = 3,4 a=b=100
7. 字母数字下划线,首字符不能为数字,严格区分大小写,不能使用关键字,变量命名有意义,且不能使用中文哦
8.
(1) a,b = b,a
(2)tmp = a a = bb = tmp
9. int float complex bool str list tuple set dict
10.
f = 3.56  f = 3e4 f = 3e-4
c = 3+4j  c = complex(3,4)
11.\n \t \r
12."字符串" % (值1,值2 ... ) %d %f %s
13.list : 可获取可修改有序 tuple/str:可获取,不可修改,有序 set:无序,自动去重 dict:键值对存储的数据,表面上有序,本质上无序
14.空元祖 整型 字符串 元组
15.可哈希不可修改的类型 Number str tuple
16.lst[-1] lst[len(lst) - 1]
17.int:-5~正无穷  float: 非负数 bool:值相同 complex:只有虚数例外,剩下都不一样
   str:值相同即可 tuple:空元组即可 其他容器都不相同;

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • Python3变量与基本数据类型用法实例分析

    本文实例讲述了Python3变量与基本数据类型用法.分享给大家供大家参考,具体如下: 3.1保留字和标识符 3.1.1保留字 保留字是Python语言中已经被赋予特定意义的一些单词,开发程序时不可以把保留字作为变量.函数.类.模块和其他对象的名称来使用.保留字如下: 3.1.2标识符 标识符可以简单理解为一个名字,它主要用来标识变量.函数.类.模块和其他对象的名称. Python3语言标识符命名规格如下: 1)由字符.下划线"_"和数字组成,并且第一个字符不能为数字.和C语言差不多 2

  • 详解Python3 基本数据类型

    Python3 基本数据类型 Python 中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型. 等号(=)用来给变量赋值. 等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值. 多个变量赋值 同值多变量 a = b = c = 1 不同值多变量 a, b, c = 1, 2, "hello word" a = 1 b =

  • Python基本数据类型之字符串str

    字符串的表示方式 单引号 ' ' 双引号 " " 多引号 """ """"  . ''' ''' print("hello world") print('hello world') print("""hello world""") # 输出结果 hello world hello world hello world 为什么需要单引号,又需

  • 浅谈python的输入输出,注释,基本数据类型

    1.输入与输出 python中输入与输出函数为:print.input help() 帮助的使用:help() help(print) print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints the values to a stream, or to sys.stdout by default. Optional keyword arguments: file: a file-like object (s

  • 计算机二级python学习教程(3) python语言基本数据类型

    本文继续计算机二级python教程的学习,之前已经学习过了计算机二级python学习教程(1).计算机二级python学习教程(2) 3.1 数字类型 数字类型:整数类型.浮点数类型.复数类型. 整数类型:十进制.二进制.八进制和十六进制. #不同进制的整数之间可以直接运算 >>> 0x3F2/1010 1.0 >>> (0x3F2+1010)/0o1762 2.0 浮点数类型:必须带有小数部分,小数部分可以是0,例如1010.0.表示方法有一般表示(只有十进制)和科学

  • python六种基本数据类型及常用函数展示

    目录 number(数字) Number类型常用的函数 随机数 import random string(字符串) 字符串常用的函数 list (列表) 列表的常用函数 set(集合) tuple (元组) dictionary(字典) 字典常用函数 总结 number(数字) int(整型), float(浮点型), bool, complex(复数类型) 四种基本类型,用于存储数值 类型转换:int(),float()- 内置函数 type(), 用以查询变量的类型 数学运算 :+.-.*

  • Python安装与基本数据类型教程详解

    人生苦短,我选Python. Python比其他的语言来说真的简洁多了,很多时候想做的东西都有对应的模块可以导入,平时玩点小东西真心不错. 首先讲一下安装,其实没什么好讲的,点点点点点,完事. 这里的AddPython 3.7to PATH记得勾上,这样你就可以在CMD里面直接使用Python了(打开cmd,输入python就OK啦.) 这里附上最新的Python安装包,win64的. https://www.python.org/ftp/python/3.7.3/python-3.7.3-am

  • 简单谈谈python基本数据类型

    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全栈之基本数据类型

    目录 1. number类型 1.1 int整型 1.2 float浮点型(小数) 1.3 bool布尔型 1.4 复数类型 2. 字符串类型 3. 列表_元组_字符串 3.1 列表类型 3.2 元组类型 3.3 字符串类型 4. 集合_字典 4.1 集合类型 4.2 字典类型 5. 变量的缓存机制 6. 小练习 总结 1. number类型 Number 数字类型 (int float bool complex) 1.1 int整型 # int 整型 (正整型 0 负整型) intvar =

  • Python全栈之列表数据类型详解

    前言 列表(list)同字符串一样都是有序的,因为他们都可以通过切片和索引进行数据访问,且列表是可变的. 创建列表的几种方法 第一种 name_list = ['Python', 'PHP', 'JAVA'] 第二种 name_list = list(['Python', 'PHP', 'JAVA']) 创建一个空列表 >>> li = list() >>> type(li) <class 'list'> 把一个字符串转换成一个列表 >>>

  • python全栈要学什么 python全栈学习路线

    IT行业,技术要比学历.年龄.从业经验更为重要,技术水平直接决定就业薪资,想要学好python,首先要先了解精通Python语言基础.Python web开发.Python爬虫.Python数据分析这四大方面. 全栈即指的是全栈工程师,指掌握多种技能,并能利用多种技能独立完成产品的人.就是与这项技能有关的都会,都能够独立的完成. 全栈只是个概念,也分很多种类.真正的全栈工程师涵盖了web开发.DBA .爬虫 .测试.运维,要学的内容那是相当的巨量.就web开发方向而言需要学习的内容:前端知识 包

  • python全栈开发语法总结

    太多的小伙伴正在学习Python,就说自己以后要做全栈开发,大家知道这是做什么的吗?我们现在所知道的知识点,哪些是以后你要从事这个全栈所需要的呢?从名字上我们可以获知,"全"一样是掌握全部内容,没错,这里就是要自己掌握全部编程技能,足够独立开发的人,因此全栈士不如也说叫"全战士",如果想做,那就看下面能用到的语法吧. 1.中文编码-UTF8字符集 #!/usr/bin/env python # coding:utf8 2.数值 a = 1 b = 2.1 print

  • python全栈知识点总结

    全栈即指的是全栈工程师,指掌握多种技能,并能利用多种技能独立完成产品的人.就是与这项技能有关的都会,都能够独立的完成. 全栈只是个概念,也分很多种类.真正的全栈工程师涵盖了web开发.DBA .爬虫 .测试.运维,要学的内容那是相当的巨量.就web开发方向而言需要学习的内容:前端知识 包括HTML5 CSS3 JS Jquery Ajax,后端至少需要能够熟练使用Django和tornado,当然会flask更好. 扩展资料: 全栈工程师的厉害之处并不是他掌握很多知识,可以一个人干多份工作.而是

  • Python全栈之学习JS(1)

    目录 1. js的数据类型 1.1 js引入方式 1.2 注释变量 1.3 数据类型 2. js类型转换_运算符 2.1 强制转换_Number 2.2 强制转换_String 2.3 强制转换_Boolean 2.4 自动类型转换_Number_Boolean_String三者之间转换 2.5 js运算符 3. js流程控制 3.1 分支结构 3.2 分支结构_switch_case 3.3 循环结构 4. js函数 4.1 函数 4.2 函数的调用 总结 1. js的数据类型 1.1 js引

  • Python全栈之作用域和闭包

    目录 1. return返回值 2. 全局变量_局部变量 3. 函数名的使用 4. 函数的嵌套 4.1 函数的嵌套 4.2 nonlocal的使用 5. 闭包函数的定义 6. 闭包的特点_意义 小提示: 7. 小练习 总结 1. return返回值 # ### return 自定义函数的返回值 """ 概念:return 把函数内部的数据返回到函数的外面,返回到函数的调用处 1.return + 六大标准数据类型 , 除此之外还可以返回函数 或者 是类对象 2.return

  • Python全栈之递归函数

    目录 1. 递归函数 2. 递归练习 3. 小练习 总结 1. 递归函数 # ### 递归函数 """ 递归函数 : 自己调用自己的函数 , 叫做递归函数 递 : 去 归 : 回 一去一回叫做递归 """ def digui(n): print(n,"<==1==>") if n > 0: digui(n-1) print(n,"<==2==>") digui(5) "

  • Python全栈之面向对象基础

    目录 1. 面向对象oop了解 2. 对象的相关操作 小提示: 3. 类的相关操作 4. 类对象的删除操作 小提示: 5. 小练习 小提示: 答案: 总结 1. 面向对象oop了解 # ### oop 面向对象的程序开发 # (1) 类的定义 # 1 class Car: pass # 2 推荐 class Car(): pass # 3. class Car(object): pass # (2)类的实例化 class Car(): pass obj = Car() print(obj) #

  • Python全栈之单项循环

    目录 1. 多项_巢状分支 2. 循环结构 2.1 循环结构 2.2 单项循环的练习 3. 字符串的切片 4. 小练习 问题: 答案: 总结 1. 多项_巢状分支 2. 循环结构 2.1 循环结构 2.2 单项循环的练习 3. 字符串的切片 4. 小练习 问题: 答案: 总结 1. 多项_巢状分支 多项分支 (多选一) """ if 条件表达式1: code1 elif 条件表达式2: code2 elif 条件表达式3: code3 else: `code4 如果条件表达式

随机推荐