数字

int(整型)

  在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483646

  在64位机器上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

long(长整型)

  跟c语言不通,python的长整数没有指定位宽,即:python没有限制场整数数值大小,但实际上由于机器内存有限,我门使用的长整型不可能无限大。

  注意,自python2.2起,如果整数发生溢出,python自动将整数数据转换为长整数,所以如今不再长整型数据后面加L也不会导致严重后果。

float(浮点数)

complex(复数)暂时用不到

2.布尔值

  真或假

  1或0

3.字符串

字符串的内部原理&万恶的‘+’号

s = “hello alex”

python是c语言开发的。
#c语言,没有字符串:字符串使用字符组表现
hello —五个字符
字符数组 [’h’,’e’,…’o’]
 
所以python中如果对一个字符串进行修改,就是在内存中开辟了一块内存。
比如hello 改成helloaa
并不是将[’h’,’e’,’l’..,o]数组后面加上[a,a]
而是内存中开辟一个空间把前面的hello重写后加上[a,a]
即是:[’h’,’e’,’l’..,’o’,’a’,’a’]
那为什么不是添加,而是重新开辟空间呢?
因为内存的使用地址是连续的。假设你的字符串使用了1-n的内存地址块,从n+1是另一个地址块被其他字符串使用。你说你怎么加[a,a],内存地址n后面已经被使用了。所以内存的处理方法是新开辟了一块地址块将之前的重写在加上需要的内容。
 
结论:字符串的修改,其实是新开辟了一块内存。
所以编程中’hello’+’world’+’..’每有一个+号就会开辟一块新内存,消耗内存。效率低,那么解决方案呢。
 
字符串的格式化:
字符串的格式化有三种方式。

1,使用+拼接模式
2.使用占为符方式  %s 字符串占为符,%d数字占为符
3.使用字符串类的格式化方法,即 str.format()
 
 
优缺点:
1.此等方式开辟内存空间较大,不好,弃用
 
2.此等方式方便,可用
 
3.字符串格式化方法也挺好,可用。
总结:建议使用第二种,常用
 
举例:

#!/usr/bin/env python

#__*__encoding:utf-8__*__

name = raw_input('name:’).stirp()

age = raw_input("age:”).stirp()

job = raw_input("job:”).strip()

print("Information of []:" + name +"\nname :"+name +"\nage []:" + age + "\njob []:" +job)

print("Information of []:%s \n name[]:%s \n age []:%s \n job []:%s" %(name,name,age,job))

string = "Information of []:{0} \n name[]:{1} \n age []:{2} \n job []:{3}"

print string.format(name,name,age,job)

第二种可以美化下:

msg = '''

Information of %s:

name : %s

age  : %s

job  : %s

''' %(name,name,age,job)

print(msg)

第三种方法,可以美化下:

msg2 = '''

Information of {0}:

name : {1}

age  : {2}

job  : {3}

'''

print(msg2.format(name,name,age,job))

使用三个’’’在表达式中制定好格式。

06python 之基本数据类型的更多相关文章

  1. JavaScript 中的数据类型

    Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Ar ...

  2. JS 判断数据类型的三种方法

    说到数据类型,我们先理一下JavaScript中常见的几种数据类型: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Functi ...

  3. Python高手之路【二】python基本数据类型

    一:数字 int int(整型): 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值 ...

  4. UniqueIdentifier 数据类型 和 GUID 生成函数

    UniqueIdentifier 数据类型用于存储GUID的值,占用16Byte. SQL Server将UniqueIdentifier存储为16字节的二进制数值,Binary(16),按照特定的格 ...

  5. SQL Server常见数据类型介绍

    数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅. 1.整数类型 int 存储范围是-2,147,483,648到2,147,483 ...

  6. 由js apply与call方法想到的js数据类型(原始类型和引用类型)

    原文地址:由js apply与call方法想到的js数据类型(原始类型和引用类型) js的call方法与apply方法的区别在于第二个参数的不同,他们都有2个参数,第一个为对象(即需要用对象a继承b, ...

  7. python 数据类型 ----字典

    字典由一对key:value 组成的 python中常用且重量级的数据类型 1. key , keys, values 字典由一对key:value 组成的 python中常用且重量级的数据类型 1. ...

  8. SQL数据类型

    1.Character 字符串: 数据类型 描述 存储 char(n) 固定长度的字符串.最多8,000个字符. n varchar(n) 可变长度的字符串.最多8,000个字符.   varchar ...

  9. 跟着老男孩教育学Python开发【第二篇】:Python基本数据类型

    运算符 设定:a=10,b=20 . 算数运算 2.比较运算 3.赋值运算 4.逻辑运算 5.成员运算 基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**3 ...

随机推荐

  1. spring使用rssfeed

    spring使用rssfeed import org.springframework.stereotype.Controller; import org.springframework.web.bin ...

  2. 恶补java基础 位运算符

    以前不知道在哪看过别人写博客里的一句话  “越学的深入觉得自己会的东西越少”.最近研究了一下java的基础算法  hash表 被一些位运算符搞的头都大了 决心花一些时间研究一下以前一直觉得没用的东西! ...

  3. java——泛型1(转)

    一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(Stri ...

  4. java资料——线程(转)

    线程       线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元.一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成.另外,线程 ...

  5. link_to和其对应要跳转的的url,用path和直接路由方法

    link_to和其对应要跳转的的url,用path和直接路由方法 看看link_to <% @order.each do |oo| %> <div> <%= oo.nam ...

  6. kettle的jndi的使用

    kettle可以使用jdbc的方式设置job或者tansform的数据库连接,但是,同时它也支持JNDI方式连接数据库,后者更加方便,只需要配置一份配置文件就可以了,不用每个DBConnection都 ...

  7. 关于SQL语句的一些注意事项

    1.Into 表后要编辑-IntelliSense-刷新本地缓存 才能访问新表 2.Is null不是=null

  8. Deep Reinforcement Learning from Self-Play in Imperfect-Information Games

    Heinrich, Johannes, and David Silver. "Deep reinforcement learning from self-play in imperfect- ...

  9. c/c++函数指针(3)

    原文地址:http://blog.csdn.net/qingshuiyangfan/article/details/7692647 学习要点: 1,函数地址的一般定义和typedef简化定义;     ...

  10. vnc 多用户登录

    1, 创建新用户: $ useradd tom $ passwd tom 2,  登录到tom账户,创建vnc实例: $ su tom$ vncserver 这时可以看看~/.vnc/目录下,有一些如 ...