一、变量的类型

  程序中,为了更充分的利用内存空间以及更有效率的管理内存,变量是有不同的类型的。
  怎样知道一个变量的类型呢?
  在python中,只要定义了一个变量,而且它有数据,那么它的类型就已经确定了,不需要我们主动的去说明它的类型,系统会自动辨别
  可以使用type(变量的名字),来查看变量的类型

  1. name = "Python"
  2. age = 18
  3. print(type(name),type(age))
  4. ——————————————————————————————————
  5. <class 'str'> <class 'int'>

1、数字(Number)

(1)int(有符号整型)

  在32位机器上:-2**31~2**31-1

  在64位机器上:-2**63~2**64-1

(2)long(长整型)(基本不用)

(3)float(浮点型)

  浮点数用来处理实数,即带有小数的数字

(4)complex(复数)

  复数由实数部分和虚数部分组成,一般形式为x+yj

PS:Python中存在小数字池:-5 ~ 257

2、布尔类型

  真或家(1或0)(True or False)

3、字符串(String)

PS:字符串(%s);整数(%d);浮点数(%f)

字符串常用功能:

  移除空白、分割、长度、索引、切片

4、列表(List)

创建列表:

  1. 1 num_list = [12,234,45,12]
  2. 2
  3. 3 num_list2 = list([12,23,34,126])

基本操作:

  索引、切片、追加、删除、长度、循环、包含

5、元组(Tuple)(不可变列表)

创建元组:

  1. age = (11,22,33,44)

  2. age = tuple((11,22,33,44))

6、字典(Dictionary)

创建字典:

  1. person = {"name":"ryz","age":18}

  2. person = dict({"name":"ren","age":18})

常用操作:

  索引、新增、删除、键值对、循环、长度

7、空值(None)

  空值时python中一个特殊的值,用None表示;None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

8、可变类型和不可变类型

可变类型:在id不变的情况下,value可以变,则称为可变类型,如列表、字典

不可变类型:value一旦改变,id也改变,则称为不可变类型(id变,意味着创建了新的内存空间)

二、数据运算

1、算数运算

  1. # 算数运算
    a = 10
  2. b = 5
  3. print(a+b) # 加法
  4. print(a-b) # 加法
  5. print(a*b) # 乘法
  6. print(a/b) # 除法
  7. print(a//b) # 取整除
  8. print(a%b) # 取余
  9. print(a**b) # 取幂
  10. -----------------------------------------------------------------
  11. 15
  12. 5
  13. 50
  14. 2.0
  15. 2
  16. 0
  17. 100000

2、比较运算

  1. #比较运算符
  2. a = 10
  3. b = 5
  4. print(a == b)
  5. print(a != b)
  6. print(a < b)
  7. print(a <= b)
  8. print(a > b)
  9. print(a >= b)
  10. #注意:<>表示不等于,现在已经被废弃
  11. ------------------------------------------------------
  12. False
  13. True
  14. False
  15. False
  16. True
  17. True

3、赋值运算(复合赋值运算符)

  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. # Author: Renyz
  4. #赋值运算符
  5. #要求:让两个变量等于一个值
  6. #1、链式赋值
  7. a = b = 2
  8. print(id(a),id(b))
  9. ---------------------------------------------------------
  10. 140730512466608 140730512466608
  11. ---------------------------------------------------------
  12. ---------------------------------------------------------
  13. #2、交叉赋值
  14. #第一种交叉赋值法:
  15. n = 10
  16. m = 20
  17. c = n
  18. n = m
  19. m = c
  20. print(n,m)
  21. ----------------------------------------------------------
  22. 20 10
  23. ----------------------------------------------------------
  24. #第二种交叉赋值法:
  25. n = 10
  26. m = 20
  27. n,m = m,n
  28. print(n,m)
  29. -----------------------------------------------------------
  30. 20 10

4、逻辑运算

  1. #and
  2. #去办理贷款买房手续,需要你且你媳妇一同来办理
  3. you = input("你本人去吗(去或者不去)?")
  4. your_wife = input("媳妇去吗(去或者不去)?")
  5. if you == "去" and your_wife == "去":
  6. print("恭喜,两个人来了,把事情办成了!")
  7. else:
  8. print("必须有两个人来办理贷款业务!")
  9. ----------------------------------------------------------------
  10. 你本人去吗(去或者不去)?去
  11. 媳妇去吗(去或者不去)?去
  12. 恭喜,两个人来了,把事情办成了!
  1. #or
  2. #去办理个人贷款买房手续,只需要你或者你媳妇代理
  3. you = input("你本人去吗(去或者不去)?")
  4. your_wife = input("媳妇去吗(去或者不去)?")
  5. if you == "去" or your_wife == "去":
  6. print("恭喜,至少一个人办理就行了!")
  7. else:
  8. print("必须有一个人来办理贷款业务!")
  9. -----------------------------------------------------------------
  10. 你本人去吗(去或者不去)?去
  11. 媳妇去吗(去或者不去)?不去
  12. 恭喜,至少一个人办理就行了!
  1. #青年时期17~24年龄
  2. age = 30 #不是青年时期
  3. if not (age >= 17 and age <= 24):
  4. print("不是青年时期!<17或者大于24")
  5. -------------------------------------------------------------
  6. 不是青年时期!<17或者大于24

5、成员运算

  1. name = '''
  2. 毕洪态,
  3. 赵明利,
  4. hello,
  5. world,
  6. '''
  7. a = "world" in name
  8. b = "haha" in name
  9. c = "毕洪态" not in name
  10. print(a)
  11. print(b)
  12. print(c)
  13. ------------------------------------------------------------------------
  14. True
  15. False
  16. False

6、身份运算

is 是比较两个引用是否指向了同一个对象(引用比较)

== 是比较两个对象(值)是否相等

  1. #身份运算符
  2. #is是判断内存地址;==是判断变量值
    #一个内存地址可以对应多个变量,一个变量只能对应一个内存地址
  3. a = [11,22,33]
  4. b = [11,22,33]
  5. print(a == b)
  6. print(a is b)
  7. #验证id
  8. print(id(a),id(b))
  9. -------------------------------------------------------------------
  10. True
  11. False
  12. 434119402120 434119402184
  1. 拓展:
  2. In [1]: a=256
  3. In [2]: b=256
  4. In [3]: a is b
  5. Out[3]: True
  6. In [4]: a=257
  7. In [5]: b=257
  8. In [6]: a is b
  9. Out[6]: False

  注意:因为python对小整数在内存中直接创建了一份,不会回收,所有创建的小整数变量直接从对象池中引用他即可。但是注意Python仅仅对比较小的整数对象进行缓存(范围为范围[-5, 256])缓存起来,而并非是所有整数对象。也就说只有在这个[-5,256]范围内创建的变量值使用is比较时候才会成立

7、位运算

  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. # Author: Renyz
  4. a = 60 # 60 = 0011 1100
  5. b = 13 # 13 = 0000 1101
  6. c = 0
  7. c = a & b # 12 = 0000 1100
  8. print("Line 1 - Value of c is ", c)
  9. c = a | b # 61 = 0011 1101
  10. print("Line 2 - Value of c is ", c)
  11. c = a ^ b # 49 = 0011 0001 #相同为0,不同为1
  12. print("Line 3 - Value of c is ", c)
  13. c = ~a # -61 = 1100 0011
  14. print("Line 4 - Value of c is ", c)
  15. c = a << 2 # 240 = 1111 0000
  16. print("Line 5 - Value of c is ", c)
  17. c = a >> 2 # 15 = 0000 1111
  18. print("Line 6 - Value of c is ", c)

运算符优先级:

python基础之变量类型和数据运算的更多相关文章

  1. python基础2(数据类型、数据运算、for循环、while循环、列表)

    1.数据类型 python使用对象模型来存储数据,每一个数据类型都有一个内置的类,每新建一个数据,实际就是一个对象,即所有数据都是对象. 对象的3个特性: 身份:即内存地址,可以用id()来获取 类型 ...

  2. Python 基础篇:数据类型、数据运算、表达

    1. 数据类型 1.1 数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-231-231-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取 ...

  3. Python基础【day02】:数据运算(二)

    本节内容 数据运算 表达式while 循环 一.数据运算 算数运算: 比较运算: 赋值运算: 逻辑运算: 成员运算: 身份运算: 位运算: #!/usr/bin/python a = 60 # 60 ...

  4. python基础之序列类型的方法——字符串方法

    python基础之序列类型的方法--字符串方法 Hello大家好,我是python学习者小杨同学,经过一段时间的沉淀(其实是偷懒不想更新),我终于想起了自己的博客账号,所以这次带来的是序列方法的后半部 ...

  5. Python基础部分:9、数据的类型和内置方法

    目录 一.数据类型内置方法理论 1.什么是数据内置方法 2.如何调用数据内置方法 二.整型(int)内置方法与操作 1.类型转换 2.进制数转换 三.浮点型(float)内置方法与操作 1.类型转换 ...

  6. Python基础之变量,常量,注释,数据类型

    由于上学期学了C语言,对于这一块的内容肯定算熟悉,只是注释的方法有些不同,但得还是一步一步的来!没有基础的同学看了这篇随笔也会大有助益的! 什么是变量?所谓变量就是将一些运算的中间结果暂存到内存中,以 ...

  7. python基础知识 变量 数据类型 if判断

    cpu 内存 硬盘 操作系统 cpu:计算机的运算和计算中心,相当于人类的大脑 飞机 内存:暂时存储一些数据,临时加载数据和应用程序 4G 8G 16G 32G 速度快,高铁 断电即消失 造价高 硬盘 ...

  8. python基础之数值类型与序列类型

    Hello大家好,我是python学习者小杨同学,已经学习python有一段时间,今天将之前学习过的内容整理一番,在这与大家分享与交流,现在开始我们的python基础知识之旅吧. 数值类型与序列类型 ...

  9. Python入门-初识变量类型

    上一篇我们学习了第一行代码,我们print()了很多代码,我们可以print哪些东西呢,这一篇来讲. print()括号里面可以放哪些东西呢?..可以放很多东西,只要是Python的全部数据类型都可以 ...

随机推荐

  1. Spring(七篇)

    (一)Spring 概述 (二)Spring Bean入门介绍 (三)Spring Bean继续入门 (四)Spring Bean注入方试 (五)Spring AOP简述 (六)Spring AOP切 ...

  2. TP6学习笔记一:安装与基本配置

    1 说明与概述 1.1 说明 以下内容大部分来源于TP6完全开发手册,以手册为主附上个人理解,仅作学习使用. 1.2 概述 第一篇学习笔记,主要记录TP6的基础,包括TP6简介,安装,Hello Wo ...

  3. Salesforce学习之路(三)利用VS Code结合Git开发Salesforce

    在前面说了一些有关Admin的知识,但实际开发运用中,仅凭Admin的配置很难满足项目的定制化需求,因此基于CRM的二次开发则应运而生. 由于国内资料相对较少,所以很多入门新手无处下手,那这里就简单介 ...

  4. Day14_80_反射机制+IO+Propreties动态创建对象

    反射机制+IO+Propreties动态创建对象 * 使用Properties文件,在文件中通过<key value>的形式保存一下类名,然后通过IO 获取该类名,再然后利用反射机制得到该 ...

  5. BLUENRG-LP 学习笔记

    在学习 BLUENRG-LP 的过程中,及时地把碰到的问题记录下来,并作解答,形成本文档. 该文档会时时更新,并且当某些章节内容过多时,会独立出来,形成新的文章. BLUENRG-LP 的特性 芯片内 ...

  6. WinDBg定位asp.net mvc项目异常崩溃源码位置

    项目介绍:asp.net mvc + angular +iis(windows)+windows server 系统莫名崩溃 最近有个系统默认奇妙崩溃50x,服务整体变成无响应,当运维告知我只有重启应 ...

  7. 829. Consecutive Numbers Sum

    Given a positive integer N, how many ways can we write it as a sum of consecutive positive integers? ...

  8. 关于Number、parseInt、isNaN转化参数

    1.首先,关于NaN的相等判断 alert(NaN==NaN) //返回的是false: 2.isNaN 确定这个参数是否是数值或者是否可以被转化为数值:NaN是not a number 的缩写,所以 ...

  9. Win64 驱动内核编程-13.回调监控模块加载

    回调监控模块加载 模块加载包括用户层模块(.DLL)和内核模块(.SYS)的加载.传统方法要监控这两者加在必须 HOOK 好几个函数,比如 NtCreateSection 和 NtLoadDriver ...

  10. Day003 +和字符串使用的问题

    先看一段代码 int a=10; int b=20; System.out.println(""+a+b); System.out.println(a+b+"" ...