python核心数据类型

  对象类型        例子

  数字          1234,-345

  字符串         'spam'

  列表          [1,3,'ds']

  元组          (1,'spam',6)

  字典          {'name':'lili','age':12}

  文件          myfile =open('test.text',''w)

  集合          set('abc')

  其他类型        None 布尔型

  编程单元类型      函数,模块,类

数字

  加,减,乘,除,就不用说了,+ - * /

  ** 表示乘方  2**3  表示  2的三次方 结果是8

  >>>2**100

  1267650600228229401496703205376L

  会发现,即使是一个很大的数,python也可以正确输出,可能结果是用字符串保存的,

  除了表达式外,和python 一起分发的还有一些常用的数学模块,模块只不过是我们导入以供使用的额外工具包
  import math
  >>>math.pi

  import random
  >>>random.random();
字符串
  在python中我们还可以反向索引,从最后一个开始
  s = "dhsaj"
  >>>s[-1]
  j
  >>>s[-2]
  a
  除了简单的位置索引外,序列也支持一种所谓的分片操作这是一种一步就能够实现整个分片的方法
  s = "spam"
  >>>s[1:3]
  pa
  >>>s[1:]   从序号1开始之后的所有序列
  pam
  >>>s
  spam
  >>>s[0:3]
  spa
  >>>s[:3]   从头开始到序号为3的之前的序列
  spa
  >>>s[:-1]  从头开始到最后一个之前的序列
  spa
  >>>s[:]    从头开始到最后的序列
  spam

  字符串也支持用加好进行合并
  s = "spam"+"name"
  >>>s
  spamname
  >>>s*2       重复两次        
  spamnamespamname

  不可变性
  python字符串在创建之后就不能改变
  s = "spam"
  >>>s[0] = 'z'
  出错
  s = 'z'+s[1:];
  >>>s
  zpam

  类型特定的方法
  find 可以进行字符串的查找
  replace 将会对全局进行搜索和替换
  s = "spam"
  >>>s.find("pa");
  1
  >>>s.replace("pa","xyz");
  sxyzpam
  >>>s
  spam

  尽管这些字符串方法的命名由改变的含义,但是在这里我们都不会改变原始的字符串,而是会创建一个新的字符串作为结果,因为字符串具有不可变性

  line = "aaa,bbb,ccc,ddd";
  >>>line.split(',');       将字符串拆分城一个字符串列表
  ['aaa','bbb','ccc','ddd']
  s = 'spam'
  >>>s.upper()         改变大小写
  SPAM
  >>>s.isalpha()      测试字符串内容
  True
  line = 'aaa,bbb,ccc\n';
  >>>line = line.rstrip()   从右边移除空格字符
  >>>line
  'aaa,bbb,ccc'

  字符串还支持一个叫做格式化的高级替代操作,
  >>> '%s,eggs,and %s' %('spam','SPAM')
  'spam,eggs,and,SPAM'

  >>>'{0},eggs,and{1}'.format('spam','SPAM')
  'spam,eggs,and,SPAM'

寻求帮助
  上一节的方法具有代表性,但是仅仅是少数的字符串的例子而已,可以调用内置的dir函数,将会返回一个列表,其中包括了对象的所有属性,

  >>>dir(s)
  ['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__',        '__getslice__', '__gt__', '__hash__', '__init__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__',   '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_formatter_field_name_split', '_formatter_parser', 'capitalize', 'center', 'count',   'decode', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip',     'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']

  dir函数只是简单的给出了方法的名称,要查询他们是做什么的,可以传递参数给help函数
  >>>help('sss'.replace)
  Help on built-in function replace:

  replace(...)
      S.replace(old, new[, count]) -> string
    
      Return a copy of string S with all occurrences of substring
      old replaced by new.  If the optional argument count is
      given, only the first count occurrences are replaced.

列表
  python列表不像c语言那种需要统一的类型,python列表可以存放不同的类型
  因为列表是可变的,大多数列表的方法,都会原地的改变列表对象,而不是创建一个新的列表

  l = [12,"das",34];
  >>>len(l)
  3
  >>>l[0]
  12
  >>>l[:-1]
  12,"das"
  >>>l+[4,5,6]
  [12,"das",34,4,5,6]
  >>>l.append('aa');
  [12,"das",34,'aa']
  >>>l.pop(2)
  [12,'das',aa]
  >>>l.sort()   排序
  >>>l.reverse();  翻转
  列表虽然是没有固定的大小,但是仍然使不能访问超出表尾的数据
  ------------------------------------------------------------
  嵌套
  python 可以支持任意的嵌套形式
  就是在一个列表中可以嵌套另一个列表甚至是一个元祖
  ---------------------------------------------------------------
  列表解析

  m=[    [1,2,3],
        [4,5,6],
        [7,8,9]
    ];
  >>>cols = [row[1] for row in m];   // 从m中取出第二列 row 对应m中每个列表元素
  >>>cols
  [2,5,8]
  >>> cols  = [row[1] for row in m if row[1]%2 == 0]  也支持判断语句
  [2,8]
  >>> double = [c*2 for c in "spam"];
  >>>double
  ['ss','pp','aa','mm'];

字典

  字典不是序列,而是一种映射,是通过键而不是相对位置来存储的,只是简单的将键映射到值

  >>>d = {'food':'spam','color':4}
  >>>d['food']
  'spam'
  >>>d = {'name':{'last':smith,'first':'bob'},
        'age':23,
        'job':'aa'}
  >>>d['name']
  {'last':smith,'first':'bob'},
  >>>d['name']['first']
  'bob'
  >>>d = {'a':1,'c':2,'b':3}
  >>> li = list(d.keys())
  >>>li
  ['a','c','b']
  >>> li.sort();
  >>> li
  ['a','b','c'];

元组
  基本上就是一个不可改变的列表

  >>> t = (1,2,3,4)
  >>>len(t)
  4
  >>>t + (5,6);
  (1,2,3,4,5,6)
  在3.0中由两个专有的方法
  t.index(4)
  3
  t.count(3)
  1
  同样支持混合的类型和嵌套,但是不能增长或是缩短,

文件
  创建一个文件对象,需要调用内置的函数,和一个操作模式,

  >>>f = open ('file1.txt','w')
  >>>f.wirte('hello\n')
  >>>f.write('world\n')
  >>>f.close();

  >>>f = open('file1.txt','r')     r  rb
  >>>str = f.read()
  >>>f.close()
  >>>str
  >>

  ----------------------------------
  >>> l = [1,2,3,4]
  >>>type(l)
  <type list>
  >>> type(type(l))
  <type type>
  以下三种都是用来判断类型的
  if(type(l) == type([])){
  }
  if(type(l) == list){
  }
  if(isinstance(l,list)){
  }
----------------------------------------------------------------------------
用户自定义的类

  class student:
      def  __init__(self,name):
          self.name = name;
      def  getName(self):
          return self.name;
      def setName(self,name):
          self.name = name;

  stu1 = student('lil');
  name = stu1.getName();
  print(name);

  stu1.setName('aaa');
  name = stu1.getName();
  print(name);

python学习之核心数据类型的更多相关文章

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

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

  2. 记录我的 python 学习历程-Day03 数据类型 str切片 for循环

    一.啥是数据类型 ​ 我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,"汉"是文字,否则它是分 ...

  3. python学习第九天数据类型列表创建,查找操作方法

    数据类型中列表是整个python最常用的数据类型,列表最常用的方法就是创建,增删改查,切片,循环以及排序等系列操作,任何操作都离不开增删改查操作,这样很容记住操作方法 1,列表的创建 list=[] ...

  4. python学习(二)python中的核心数据类型

    数据类型是编程语言中的很重要的一个组成部分,我所知道的有数据类型的好处有:在内存中存放的格式知道,规定了有哪几种可用的操作. 我的埋点:为什么要有数据类型 那么python中的数据类型有哪几种呢? 对 ...

  5. Python学习手册之数据类型

    在上一篇文章中,我们介绍了 Python 的异常和文件,现在我们介绍 Python 中的数据类型. 查看上一篇文章请点击:https://www.cnblogs.com/dustman/p/99799 ...

  6. Python学习-字符编码, 数据类型

    本篇主要内容: 字符编码 Python中的数据类型有哪些 类型的一些常用操作及方法 一.字符编码 编码解释的大部分内容摘自廖雪峰老师教程中的讲解,点击跳转. 简单介绍: 我们知道计算机只能处理数字,如 ...

  7. python学习道路(day2note)(数据类型,运算符,字符串,列表)

    一,数据类型 1.1数字 数字分为int(整型),long(长整型),float(浮点型) 1.1.1 int整型的取值范围为 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31- ...

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

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

  9. python学习03-数据类型

    一.基本数据类型--数字 布尔型 bool型只有两个值:True和False 之所以将bool值归类为数字,是因为我们也习惯用1表示True,0表示False. 以下是布尔值是False的各种情况: ...

随机推荐

  1. 关于 静态页面布局 中的一些BUG

    作为一枚初级程序猿,难免在制作静态页面时会遇到一些BUG,在此,我从网上找了一些资料并且结合自己的项目开发经验,总结了一些在静态页面布局时可能会遇到的问题,希望能对初级程序猿有一定的帮助(资料请参考: ...

  2. App Extensions篇之Share Extension

    转载请注明出处:http://www.cnblogs.com/zhanggui/p/7119572.html 1.前言 这里主要是对App Extension的一些介绍以及详细给大家介绍一下Share ...

  3. C# 来做 视频播放 视频流处理 转码 实时传输

    最近一直在研究视频实时查看播放 很遗憾 只成功了一半 记录一下历程 以便大家相互交流 项目需求是  GPS 视频设备  连接服务器  将视频流走RTP  协议发送到服务器 服务器将接收的视频流 传输给 ...

  4. 如何编写高效的SQL

    编写高效的sql可以给用户带来好的体验,需要开发这没有意识到这一点因为他们不关心也不知道怎么做.高效的sql可以给用户节省很多时间,这样就不需要dba来找上门,也不需要搭建RCA和性能调优. 性能不好 ...

  5. vijos1047题解

    总算编好了这一题,我表示200+行,亚历山大. 题目描述很简单,做起来不简单啊.(高精度的取模和除法不是一般的恶心!) 先说一下非高精度的一般做法. 求两个数a,b的最小公倍数,就是a.b的乘积与a. ...

  6. 使用 electron 做个播放器

    使用 electron 做个播放器 本文同步更新在:https://github.com/whxaxes/blog/issues/8 前言 虽然 electron 已经出来好长时间了,但是最近才玩了一 ...

  7. 详解Android Activity---启动模式

    相关的基本概念: 1.任务栈(Task)   若干个Activity的集合的栈表示一个Task.   栈不仅仅只包含自身程序的Activity,它也可以跨应用包含其他应用的Activity,这样有利于 ...

  8. FreeRTOS——任务管理

    1. FreeRTOS 任务不允许以任何方式从实现函数中返回——他们绝不能有一条“return”语句,也不可能执行到函数的末尾.如果一个函数不需要,可以将其删除,如在任务中使用函数vTaskDelet ...

  9. tensorflow elu函数应用

    1.elu函数 图像: 2.tensorflow elu应用 import tensorflow as tf input=tf.constant([0,-1,2,-3],dtype=tf.float3 ...

  10. Maven安装及使用-超级图文初级篇-

    针对新手刚接触maven,并且不知道如何去搭建和使用maven,那么我来写一篇浅显易懂的初级篇教程吧. 不同的是,别人会先将概念再安装,我来帮大家先搭建好以后再去看概念,不然概念会变的很模糊. 安装: ...