数据类型:

float — 浮点数可以精确到小数点后面15位

int — 整型可以无限大

bool — 非零为true,零为false

list — 列表

Float/Int:

运算符:

/ — 浮点运算除

// — 当结果为正数时,取整; 11//5 =2; 11//4 = 2

当结果为负数时,向下取整;-11//5=-3; -11//4=-3

当分子分母都是float,结果为float型

** —  计算幂; 11**2 =121

% — 取余

其他数学运算:

1.分数:

import fractions;

fractions.Fraction(1,3) — 1/3

import math;

—math.sin()

—math.cos()

—math.tan()

—math.asin()

math.pi —3.1415926…

math.sin(math.pi/2) — 1.0

math.tan(math.pi/4) — 0.9999999999…

math.sin(); math

List:

创建: a_list = [‘a’, ‘b’, ‘mpilgrim’, ‘z’, ‘example’]

a_list[-1] — ‘example’

a_list[0] — ‘a’

a_list[1:3] — [‘b’, ‘mpilgrim’, ‘z’]

a_list[:3] — [‘a’, ‘b’, ‘mpilgrim’ ]

a_list[3:] — [‘z’, ‘example’]

a_list[:]/a_list — [‘a’, ‘b’, ‘mpilgrim’, ‘z’, ‘example’]

*注:a_list[:] 与a_list 返回的是不同的list,但它们拥有相同的元素

a_list[x:y]— 获取list切片,x指定第一个切片索引开始位置,y指定截止但不包含的切片索引位置。

向list添加元素:

a_list = [‘a’]

a_list = a_list + [2.0, 3] — [‘a’, 2.0, 3]

a_list.append(True) — [‘a’, 2.0, 3, True]

a_list.extend([‘four’,’Ω’]) — [‘a’, 2.0, 3, True,’four’,’Ω’]

a_list.insert(0,’Ω’) — [‘Ω’,’a’, 2.0, 3, True,’four’,’Ω’]

list其他功能:

a_list = [‘a’, ‘b’, ‘new’, ‘mpilgrim’, ‘new’]

a_list.count(‘new’) — 2

a_list.count(‘mpilgrim’) — 1

‘new’ in a_list — True

a_list.index(‘new’) — 2

a_list.index(‘mpilgrim’) — 3

a_list.index(‘c’) — through a exception because ‘c’ is not in a_list.

del a_list[1] — [‘a’, ‘new’, ‘mpilgrim’, ‘new’]

a_list.remove(‘new') — [‘a’, mpilgrim’, ‘new’]

注:remove只删除第一个’new’

a_list.pop() — ’new’/[‘a’, mpilgrim’ ](删除并返回最后一个元素)

a_list.pop(0) — ‘a’ / [‘mpilgrim’] (删除并返回第0个元素)

空列表为假,其他列表为真。

元组(元素是不可变的列表):

定义:与列表的定义相同,除了整个元素的集合用圆括号而,不是方括号闭合

a_tuple = (“a”, “b”, “mpilgrim”, “z”, “example”)

a_tuple = (‘a’, ‘b’, ‘mpilgrim’, ‘z’, ‘example’)

tuple 只能索引,不能修改。

元组相对于列表的优势:

1.速度快

2.“写保护”,更安全

3.一些元组可以当作字典键??

内置的tuple()函数接受一个列表参数并将列表转化成元组

同理,list()函数将元组转换成列表

同时赋多个值:

v = (‘a’,2, True)

(x,y,z) = v — x=‘a’, y=2, z=True

range() — 内置函数,进行连续变量赋值

(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday) = range(7)

Monday — 0
    Thursday — 3
    Sunday — 6
        range() — 内置函数range()构建了一个整数序列,range()函数返回一个迭代器。

集合(里面的值是无序的):
    创建集合:用逗号分隔每个值,用大括号{}将所有值包括起来。
    a_set = {1}
    type(a_set) — <class ‘set’>
    以列表为基础创建集合:
    a_list = [‘a’, ‘b’, ‘mpilgrim’, True, False, 42]
    a_set = set(a_list)
    a_set — {‘a’, ‘b’, ‘mpilgrim’, True, False, 42}
    a_set = set() — 得到一个空的set
    a_dic = {} — 得到一个空的dic
    
    修改集合:
    a_set = {1,2}
    a_set.add(4) — {1,2,4}
    len(a_set) — 3
    a_set.add(1) — {1,2,4}
    a_set.update({2,4,6}) — {1,2,4,6}
    a_set.update({3,6,9}, {1,2,3,5,8,13}) — {1,2,3,4,5,6,8,9,13}
    a_set.update([15,16]) — {1,2,3,4,5,6,8,9,13,15,16}
    a_set.discard(16) — {1,2,3,4,5,6,8,9,13,15}
    a_set.discard(16) — {1,2,3,4,5,6,8,9,13,15}
    a_set.remove(15) —{1,2,3,4,5,6,8,9,13}
    a_set.remove(15) — through a exception
    a_set.pop() — return 1 / {2,3,4,5,6,8,9,13}
    注:a_set.pop()随机删掉集合中的某个值并返回该值。
    a_set.clear() — set()
    a_set.pop() — through exception.
    
    集合的其他运算:
    a_set = {2,3,4,5,6,8,9,13}
    30 in a_set — False
    4 in a_set — True
    b_set  = {3,4,10,12}
    a_set.union(b_set) — 两个集合的并
    a_set.intersetion(b_set) — 两个集合的交集
    a_set.difference(b_set) — a_set中有但是b_set中没有的元素
    a_set.symmetric_difference(b_set) — 返回所有只在一个集合中出现的元素
    a_set.issubset(b_set) — 判断a_set是否是b_set的子集
    b_set.issuperset(a_set) — 判断b_set是否是a_set的超集

在布尔类型上下文环境中,空集合为假,任何包含一个以上元素的集合为真。

字典(键值对的无序集合):
    创建字典:
    a_dic = {‘server’:’db.diveintopython3.org’,
    ‘databas’:’mysql’}
    a_dic[‘server’] — ‘db.diveintopython3.org’
    a_dic[‘database’] — ‘mysql’
    修改字典:
    a_dic[‘user’] = ‘mark’  — {'user': 'mark', 'server': 'db.diveintopython3.org',     'database':     ‘blog'}
    a_dic[‘database’] = ‘blog’ —  {'user': 'mark', 'server': 'db.diveintopython3.org',     'database': ‘blog'}
    a_dic[‘user’] = ‘bob’ — {'user': 'bob', 'server': 'db.diveintopython3.org',     'database':     ‘blog’}
    a_dic[‘User’] = ‘mark’ — {'user': 'bob', ‘Uuser': 'mark', 'server':     'db.diveintopython3.org', 'database': ‘blog’}

注:1.在字典中不允许有重复的键。对现有键赋值将会覆盖原有值;
    2.随时可以添加新的键值对;
    3.字典键区分大小写。

混合值字典:
    suffixes = { 1000:[‘KB’, ‘MB’, ‘GB’, ‘TB’, ‘PB’, ‘EB’, ‘ZB’, ‘YB’],
        1024: [‘KiB’, ‘MiB’, ‘GiB’, ‘TiB’, ‘PiB’ , ‘EiB’, ‘ZiB’, ‘YiB’]}

len(suffixes) — 2
    1000 in suffixes — True
    suffixes[1024] — [‘KiB’, ‘MiB’, ‘GiB’, ‘TiB’, ‘PiB’ , ‘EiB’, ‘ZiB’, ‘YiB’]
    suffixes[1000][3] — ‘TB’
    
    空字典为假, 所有其他字典为真

Python学习笔记1-数据类型的更多相关文章

  1. Python学习笔记 - day3 - 数据类型及运算符

    Python的数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同 ...

  2. python学习笔记二 数据类型(基础篇)

    Python基础 对于Python,一切事物都是对象,对象基于类创建         不同类型的类可以创造出字符串,数字,列表这样的对象,比如"koka".24.['北京', '上 ...

  3. Python学习笔记---数 数据类型 运算

    python的四种数类型: 整数 int 浮点型 float 布尔 boolen 复数 complex >>> type(5)<class 'int'>>>& ...

  4. Python学习笔记3_数据类型

    Python数据类型:数字.字符串.列表.元祖.字典 一.数字类型:(整型.长整型.浮点型.复数型) 1.整型(int):表示范围-2,147,483,648到2,147,483,647 2.长整型( ...

  5. 02 Python学习笔记-基本数据类型(二)

    一.基本知识 1.缩进: 2.一行多条语句: 3.断行: 4.注释 # 单行注释 '''这是一段 多行注释''' 5. 变量 1. 变量类型(局部变量.全局变量.系统变量) 2. 变量赋值 多重赋值x ...

  6. python学习笔记(数据类型)

    python数据类型: int 类型 float 小数类型 string 字符串 布尔类型 a = True b = False 1.列表,也称数组或list或array.它的表达方式通过下标或索引或 ...

  7. python学习笔记:数据类型——列表/数组(list)

    Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素.通过下标访问列表中的元素(又称索引.角标),下标从0开始计数.list定义,使用中括号[]. l ...

  8. python学习笔记:数据类型——数字、字符串、元祖、字典

    计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定义不同的数 ...

  9. python学习笔记之数据类型(二)

    上一篇博客,小波介绍了python的入门和简单流程控制,这次写python的数据类型和各种数据类型的内置方法. 一.数据类型是何方神圣? 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当 ...

  10. python学习笔记之数据类型、字符编码、文件处理

    1.数据类型 1.数字(int,float) 整形(int):定义 age=20  #本质age=int(20) 浮点类型:salary=3000.3 #本质salary=float(3000.3) ...

随机推荐

  1. PJAX初体验(主要是利用HTML5 新增API pushState和replaceState+AJAX)

    说在前面 什么是PJAX呢? 站在应用角度的就是既实现了页面无刷新的效果,同时也产生了浏览器的前进和后退,而且url也会变化. 也不是什么新鲜技术,主要是AJAX+html5 pushState和re ...

  2. PHP配置限制文件大小上传

    修改PHP上传文件大小限制的方法1. 一般的文件上传,除非文件很小.就像一个5M的文件,很可能要超过一分钟才能上传完.但在php中,默认的该页最久执行时间为 30 秒.就是说超过30秒,该脚本就停止执 ...

  3. jQuery-1.9.1源码分析系列(十) 事件系统——事件委托

    jQuery的事件绑定有几个比较优秀的特点: 1. 可以绑定不限数量的处理函数 2. 事件可以委托到祖先节点,不必一定要绑到对应的节点,这样后添加的节点也照样能被处理. 3. 链式操作 下面主要分析事 ...

  4. 实现terminal代理

    问题 作为一名Linuxer,熟练使用终端是一项必备技能,但终端中有时下载安装功能速度很慢,令人崩溃.我自然而然想到了可否加个代理,提高速度.我之前一直用shadowsocks,浏览器使用switch ...

  5. 艾伦 Visual Studio 批量自动化代码操作工具-VS插件发布

    艾伦 Visual Studio 批量自动化代码操作工具 以下简称--艾伦工具箱. 艾伦工具箱是一个多文件批量处理插件,目的是为了广大开发者提高开发效率,减少项目代码规范化审计,缩短开发者的项目开发周 ...

  6. The SQL Server Service Broker for the current database is not enabled

    把一个数据恢复至另一个服务器上,出现了一个异常: The SQL Server Service Broker for the current database is not enabled, and ...

  7. python基础之数据类型(一)

    Python3 数字(Number) 定义:a=1 特性: 1.只能存放一个值 2.一经定义,不可更改 3.直接访问 分类:整型,长整型,布尔,浮点,复数 python2.*与python3.*关于整 ...

  8. PrototypePattrn(原型模式)

    /** * * @author TMAC-J * 原型模式,可以说是简化的工厂模式 * 与工厂模式的区别是工厂模式可以生产很多的产品,而原型模式仅仅是复制而已 * 这里有一个问题:深克隆和潜克隆的问题 ...

  9. Lind.DDD.IoC依赖注入与面向方面的实现

    回到目录 IoC是解耦的灵魂,很难想像一个框架中没有IoC会变成什么样子,Lind.DDD里的IoC是通过Unity实现的,由依赖注入(unity)和方法拦截组成(Interception),依赖注入 ...

  10. 低调奢华 CSS3 transform-style 3D旋转

    点击这里查看效果:http://keleyi.com/a/bjad/s89uo4t1.htm 效果图: CSS3 transform-style 属性 以下是代码: <!DOCTYPE html ...