python3有6中标准数据类型:Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Dictionary(字典)、Set(集合)
不可变数据:Number、String、Tuple

使用 type() 来查看对象类型,使用instanceof(type)查看是否为该类型或其子类

  • Number(int、float、bool、complex)
    数值运算中//(双除号表示:商向下再取整,其结果的类型不一定是整型,而是依据除数和被除数来判断)

    print(10/3);#3.3333333333333335
    print(10//3);#

    双称号**表是乘方,既 3= 3*3*3 = 27。

    print(3**3)#

    再python中一个变量可以通过赋值指向不同类型的对象

    arg = 12;
    print(type(arg));#<class 'int'>
    arg = False;
    print(type(arg));#<class 'bool'>
    arg = 12+3j;
    print(type(arg));#<class 'complex'>
    arg = [1,2,3];
    print(type(arg));#<class 'list'>

    混合运算时,整数会转换成浮点

  • String(字符串)

    字符串的截取,len()用于去字符串长度

  • print(str[0:-1]);#hello worl
    print(str[0:])#hello world
    print(str[0:len(str)])#hello world

    字符串内容不能通过索引来重新赋值

    str = "hello world";
    print(str[0]);
    str[0] = 'a';#TypeError: 'str' object does not support item assignment
  • List(列表)
    列表可以包含任何类型的成员,包括列表(嵌套)(列表截取可选第三个参数,步长)

    li1 = [1,"lyn","甘肃",[100,98,45]];
    li2 = [2,"lbb","我的世界",[100,99,60]]; print(type(li1+li2))#<class 'list'>
    print(li1 * 2);#[1, 'lyn', '甘肃', [100, 98, 45], 1, 'lyn', '甘肃', [100, 98, 45]]
    print(li1 + li2);#[1, 'lyn', '甘肃', [100, 98, 45], 2, 'lbb', '我的世界', [100, 99, 60]]
    li1[2] = "地球";
    print(li1);#[1, 'lyn', '地球', [100, 98, 45]]
  • Tuple(元组)
    元组和列表不同,元组的对象不能更换,元祖对象内容可以更改,注意不要给可变元素重新指向新对象
    l = [1,2,3];
    t = (1,'id',True,l)
    l[2] = 40000;
    print(t);#(1, 'id', True, [1, 2, 40000])

    上面我们对列表l的第二元素更改,这是可行的。如果给l重新指向新对象,则元祖t之中的l所给的列表的值不会变

    l = [1,2,3];
    t = (1,'id',True,l)
    l = [4,5,6]
    print(t);#(1, 'id', True, [1, 2, 3])
  • Set(集合)
    集合可以包含不同类型,基本功能是进行成员关系(交并补非)和删除重复成员
    s = set();#空集合  注意不要使用空的大括号,{}这表示空字典
    s.add("zero");
    s.add("first");
    s.add("second");
    s.add("first"); print(s);#{'zero', 'first', 'second'}

    注意空基和用set(),而不是空大括号,空大括号表时空字典
    注意输出的结果中,删除了重复的元素

    s1 = {1,2,3,4,5,6};
    s2 = {4,5,6,7,8,9};
    print(s1 | s2);#并集:{1, 2, 3, 4, 5, 6, 7, 8, 9}
    print(s1 & s2);#交集:{4, 5, 6}
    print(s1 - s2);#差集:{1, 2, 3} 从s1中出去s2中的所有元素
    print(s1 ^ s2);#不同时存在的:{1, 2, 3, 7, 8, 9} 并集和交集的差集
  • Dictionary(字典)
    字典是键值对的集合,列表有序,字典是无序的
    注意:键必须唯一,并且类型为不可变类型(数字、字符串、元祖)
    提示:可以使用 字典的构造函数使用序列来构建字典
    d = dict((    (1,"lyn"),   (2,"xm")     ));
    print(d);#{1: 'lyn', 2: 'xm'}

python_ 学习笔记(基本数据类型)的更多相关文章

  1. es6学习笔记--新数据类型Symbol

    学习了es6语法的symbol类型,整理笔记,闲时复习. Symbol 是es6新增的第七种原始数据类型(null,string,number,undefined,boolean,object),是为 ...

  2. javascript深入浅出——学习笔记(六种数据类型和隐式转换)

    在慕课之前学过JS深入浅出,最近发现很多东西都记不太清楚了,再复习一遍好了,感觉这个课程真的超级棒的,做做笔记,再添加一些学习内容

  3. Rust学习笔记一 数据类型

    写在前面 我也不是什么特别厉害的大牛,学历也很低,只是对一些新语言比较感兴趣,接触过的语言不算多也不算少,大部分也都浅尝辄止,所以理解上可能会有一些偏差. 自学了Java.Kotlin.Python. ...

  4. MySQL学习笔记之数据类型

    数据类型在所有的数据库使用当中,都是避免不了的部分.以前每次写SQL语句,对于定义成哪种数据类型总是迷迷糊糊,今天就来彻底弄清.以下介绍仅针对MySQL 5.5以上版本. 一.字符串类型 1.char ...

  5. Java学习笔记三——数据类型

    前言 Java是强类型(strongly typed)语言,强类型包含两方面的含义: 所有的变量必须先声明后使用: 指定类型的变量只能接受预支匹配的值. 这意味着每一个变量和表达式都有一个在编译时就确 ...

  6. Redis学习笔记1-Redis数据类型

    Redis数据类型 Redis支持5种数据类型,它们描述如下: Strings - 字符串 字符串是 Redis 最基本的数据类型.Redis 字符串是二进制安全的,也就是说,一个 Redis 字符串 ...

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

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

  8. CUBRID学习笔记 26 数据类型3cubrid教程

    接上面的集合 集合之 set 每个集合元素是不同的值, 但是类型只能是一种.也可以有其他表的记录 如下 CREATE TABLE set_tbl ( col_1 set(CHAR(1))); INSE ...

  9. C++学习笔记之数据类型

    一.变量名 几条简单的C++命名规则: 在名称中只能使用字母,数字和下划线 名称的第一个字符不能是数字 区分大小写 不能将C++关键字用作名称 以两个下划线和大写字母打头的名称被保留给实现(编译器及其 ...

随机推荐

  1. ios29--多线程

    进程是指在系统中正在运行的一个应用程序(一个程序可以对应多个进程).每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内.比如同时打开迅雷.Xcode,系统就会分别启动2个进程.1个进程要 ...

  2. YTU 2690: 用双重循环实现小九九

    2690: 用双重循环实现小九九 时间限制: 1 Sec  内存限制: 128 MB 提交: 848  解决: 573 题目描述 小九九是我们小时候常背的的乘法算术法则,现在用双重循环来实现小九九 1 ...

  3. 【Dairy】2016.10.30 BirthdayParty

    今天又有人生日耶,鹏哥和骥哥两兄弟,Happy Birthday 开始听到这件事,我傻逼的想了一下,咦,这两人这么有缘,同一天生日...脑抽了... 小胖犇极缓音调来了首烟花易冷,劲啊! 发张什么图呢 ...

  4. android 使用AlarmManager定时启动service

    private static AlarmManager am; private static PendingIntent pendingIntent; /** * 使用 AlarmManager 来 ...

  5. 论如何O(1)快速乘

    然而并没有什么好论的... 直接贴代码算了... ll Mul(ll x,ll y,ll Mod){ x=(x%Mod+Mod)%Mod;y=(y%Mod+Mod)%Mod; return (x*y- ...

  6. angularJs模版注入的两种方式

    一,声名式注入 1:app.js: var myApp = angular.module("myApp",["ngRoute"]); 2:controller. ...

  7. Extjs6 经典版 combo下拉框数据的使用及动态传参

    Extjs的下拉框,在点击的时候会请求一次数据,我们可不可以在点击前就请求好数据,让用户体验更好呢?答案当然是肯定的.如果是公用的下拉框还可以传入不同参数请求不同数据. 第一步: 进入页面前首先加载s ...

  8. 使用frp工具实现内网的穿透以及配置多个ssh和web服务

    frp简介 FRP 项目地址 https://github.com/fatedier/frp/blob/master/README_zh.md frp 是一个可用于内网穿透的高性能的反向代理应用,支持 ...

  9. 每天学点Linux命令:倒叙打印文件第二行的前100个大写字母

    sed -n | rev 处理第二行             grep:提取大写字母   o: 不显示非结果  tr:删除换行   Cut:截取1-100个字符  rev:逆序 断断续续搞了好长时间. ...

  10. sublime text 3 使用技巧

    一.下载 官网下载合适的版本(http://www.sublimetext.com/3) 二.破解 执行 Help->Enter license 粘贴你的License代码 ----- BEGI ...