python的变量 类型和存储

表达式(创建处理对象) => 语句 => 模块 => 程序

变量

创建: 第一次赋值时生成,

规则:

-1包含字母数字下划线
-2 只能以字母下划线开头
-3 不能有空格
-4 避免python关键字和函数名
-5 简短且有描述性
-6 区分1 I 0 o

类型: 变量无类型约束, 类型取决于关联对象

共享引用: 多个变量引用一个对象

-判断字面量是否相等: ==
-判断地址是否相同: is
-输出内存地址: id()
-在python内存中预留了0到256的int数据, 当声明变量引用这些数字的时候, 他们都指向同一片内存,但是超过256, 则不能指向同一片内存

import sys
# 某对象被调用的次数
sys.getrefcount()
# 数据长度的方法python内置
len()

对象类型

核心数据类型: 数据类型之间的转换 str(), list()

1数字:

特性:
1声明 赋值 使用
2支持表达式
3显示: '{0:.2f}'.format(3.3333)
4比较
5相除 / 整型 相除会忽略浮点, 整型和浮点之间想除会议精度高的为准 例如:

  print(10 / 4 ) 
  结果为2, 其实是2.5 只是省略的浮点

// 则会强制转换成整数, 整除结果即便是带浮点都是一半


屏幕快照 2017-11-19 下午5.06.10.png

math模块:
-math.floor(): 向下取整3.X取 3, -3.X取 -3
-math.trunc(): 向 0 去整, 3.X取 3, -3.X取 -3
round(): 四舍五入全局模块
-int : 无限精度, 只受限于内存与计算机配置
十六进制: 0x 使用hex()方法查询十六进制字面量
八进制: 0o 使用oct()方法查询八进制字面量
二进制: 0b 使用bin()方法查询二进制字面量
-float
-Decimal:from decimal import Decimal , 一个模块可以提高浮点型的精度方法
-Fraction

2字符串(str):

特性:
1'{num}'占位符, 可以用format()方法(格式化字符串)替换, 参数可以是数字字符串变量,有几个占位符, format()就有几个参数,
2.双引号包单引号, " ' ", 单引号里边有单引号需要转义符 \ , ' ' '
3转义符:
换行 \n
退格 \b
tab键 \t
4忽略转义符,原始字符串r' '
5三引号(""" ... """):用来在函数中写注释
基本操作: (字符串方法)
1 len()字符串长度
2 可以进行 加法(字符串之间)+ 和乘法(乘以int用于复制字符串)* 的运算
3 选取片段str[0:4], 截区索引0到4之间的字符不包括后边的4,str[-1]:选取最后一个,str[:]选取所有字符, str[::2]隔一个字符选一个字符,str[::-1] 翻转字符串
4 ord('c')字符转阿斯克码 chr(55)阿斯克码转字符
5 字符串有replace('旧','新')方法, 但不会改变原变量, 需要重新赋值
6 str.startswith('http://')方法, 是否 以 ' ' 开头, 返回bool
7 str.endswith()方法, 是否以 ' ' 结尾, 返回bool
8 str.find(), 判断某个字符是否存在, 返回索引下标,没找到返回-1,相当于js中的indexOf()
9 格式化, .format()方法![屏幕快照 2017-11-19 下午7.02.53.png]
(http://upload-images.jianshu.io/upload_images/8497957-7077219324010a42.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
10 '分隔符'.join(list): 以''里的分隔符将列表链接为字符串(字符串的split('分隔符')可以将字符串分割成数组, 以' '里的字符串为基准)

3列表(list):

-相当于js中的数组len()获得长度, list[]获取数据
-list支持原位修改, list[0] = '修改后'
特性:
1 任意对象的有序集合
2 通过索引下标访问元素
3 可变长度
4 可变序列, 可以原位改变
列表方法:
1 len(): 列表长度
2 可以进行 +(连接两个list)
3 通过list()构造函数构造出list,如果是 字符串则会把字符串上的每一个函数字符作为list的一个元素
4 用 in 关键字去检测某个元素是否存在于list中
5 .append(), 在list后边添加元素参数是一个元素 2 代表开二次方, 后边是3代表开3次方
6 list的推演 [ i
2 for i in list ] : 将list里边的数开平方后, 重新放在新数组里
7 通过[1:2]的方式截取list的某段数据,(还是不包含后边的)
8 list的乘法 * 是复制里边的元素, 并不是复制list
9 .extend(), 在list后面添加元素, 参数是list, 不同于append(), extend()可以添加一个list
10 .sort(), 从小到大排序
11 .reverse(),倒序
12 .pop(), 删除list的最后一个元素, 返回值为删除的这个元素
13 del(l[0]) 删除某个元素, 是全局方法,
14 .index(), 通过元素, 查找其下标索引,参数是list元素
15 .count(), 查看某元素出现次数,,参数是list元素
16 .copy(), 赋值list列表返回一个list的复制版本

# 因为list是引用类型, 并且可以原位改变so,
l1 = [1,2,2,23,4];
l2 = l1;
这样赋值,  当l2改变的时候, l1也会跟着改变, 这个特性有些时候是需要的, 当不需要时, 有两种解决方案:
l2 = l1[:] 和
l3 = l1.copy()

4字典表(dict):

-相当于js中的json,key可以使变量,不可以用.去访问数据, get(key, [value])获取索引的value(如果没有此key,可以有第二个可选参数,作为默认value)和 dict[]方式,
特性:
支持原位改变
dict的key必须是不支持原位改变的元素, 可以使字符串和元祖
支持嵌套
声明方式:
d = dist(name='kay',do='love',lover:'snowin')
dict方法:
1 .get();第一个参数为dict的key, 第二个参数为一个value,当key没有对应的val时候,可以返回, 若key有val则忽略第二个参数
2 .update(),参数哦为一个dist, 可以合并两个dist
3 .pop(key),删除某个key的value,并返回这个被删除的value
4 .keys(), 将dict的key统计到一个类list中不支持排序
5 .values(), 将dict的value统计到一个类list中,不支持排序
6 .items(), 将dict的各组key value整合成一个tuple为元素的数组
7 dict的排序1,sorted(d.keys()) 并循环, 2 list(d.keys()).sort() 并循环

5元祖(tuple):

-类似于list, 但包裹在()中
特性:
任意对象的有序集合
通过下标访问
属于"不可变"类型
长度固定, 任意类型,任意嵌套
t = (40)无法生成元祖类型, 需要这么写: t = (40,)
元祖之间可以 +
方法:
.index(val);检索下标
.count(val), 统计某个元素的数量
namedtuple:
引入模块:from collections import namedtuple
yg = namedtuple('yg',['name','age','gongzi']);'name'的值就是'yg'
kay = yg('kay',age=30,gongzi=99999);

6文件(file):

全局方法:file = open('文件名', mode)来读取本地文件,
mode(str)包含: r:打开文件, w:写入文件, a: 写入不替换(添加), b: 二进制文件, +: 可读写
方法:
  read():读取所有的内容
  readline(): 读取第一行的内容
  readlines(): 读取所有行的内容, 集合为一个数组
  close(): 关闭文档

pickle模块存取python对象: .dump(data, file)方法存入python对象为二进制, .load(file)方法, 读取并还原python对象
with open('XXX.txt') as f;
for line in f.readlines()
print(line)
这种方式, 在跳出缩进以后, 就会自动关闭文档, 不用再写.close()

7集合(set):

序列: 
    可变序列: list
     不可变序列: str , tuple ,字节数组
映射: 字典表 dict
集合:

8布尔(Boolean): bool其实就是int类型可以进行运算
屏幕快照 2017-11-19 下午6.33.31.png

-True: 就是 1 ,
-False: 就是 0

9空(none):

10程序单元:

-函数(function)
-模块
-类(class)

11其他.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,047评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,807评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,501评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,839评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,951评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,117评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,188评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,929评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,372评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,679评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,837评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,536评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,168评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,886评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,129评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,665评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,739评论 2 351

推荐阅读更多精彩内容

  • 一、python 变量和数据类型 1.整数 Python可以处理任意大小的整数,当然包括负整数,在Python程序...
    绩重KF阅读 1,664评论 0 1
  • 最近在慕课网学习廖雪峰老师的Python进阶课程,做笔记总结一下重点。 基本变量及其类型 变量 在Python中,...
    victorsungo阅读 1,671评论 0 5
  • 本节要介绍的是Python里面常用的几种数据结构。通常情况下,声明一个变量只保存一个值是远远不够的,我们需要将一组...
    小黑y99阅读 65,191评论 0 9
  • Python 是一种相当高级的语言,通过 Python 解释器把符合语法的程序代码转换成 CPU 能够执行的机器码...
    Python程序媛阅读 1,898评论 0 3
  • 致自己的青春 很多当初最美好的回忆,但到后来却不敢轻易想起,每每想起,就像是再次拿一把刀,将那些还未愈合的伤口再次...
    Mister柒年阅读 173评论 0 2