python基础之变量类型和数据运算
一、变量的类型
程序中,为了更充分的利用内存空间以及更有效率的管理内存,变量是有不同的类型的。
怎样知道一个变量的类型呢?
在python中,只要定义了一个变量,而且它有数据,那么它的类型就已经确定了,不需要我们主动的去说明它的类型,系统会自动辨别
可以使用type(变量的名字),来查看变量的类型
name = "Python"
age = 18
print(type(name),type(age))
——————————————————————————————————
<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 num_list = [12,234,45,12]
2 或
3 num_list2 = list([12,23,34,126])
基本操作:
索引、切片、追加、删除、长度、循环、包含
5、元组(Tuple)(不可变列表)
创建元组:
age = (11,22,33,44)
或
age = tuple((11,22,33,44))
6、字典(Dictionary)
创建字典:
person = {"name":"ryz","age":18}
或
person = dict({"name":"ren","age":18})
常用操作:
索引、新增、删除、键值对、循环、长度
7、空值(None)
空值时python中一个特殊的值,用None表示;None不能理解为0,因为0是有意义的,而None是一个特殊的空值。
8、可变类型和不可变类型
可变类型:在id不变的情况下,value可以变,则称为可变类型,如列表、字典
不可变类型:value一旦改变,id也改变,则称为不可变类型(id变,意味着创建了新的内存空间)
二、数据运算
1、算数运算

# 算数运算
a = 10
b = 5
print(a+b) # 加法
print(a-b) # 加法
print(a*b) # 乘法
print(a/b) # 除法
print(a//b) # 取整除
print(a%b) # 取余
print(a**b) # 取幂
-----------------------------------------------------------------
15
5
50
2.0
2
0
100000
2、比较运算

#比较运算符
a = 10
b = 5
print(a == b)
print(a != b)
print(a < b)
print(a <= b)
print(a > b)
print(a >= b)
#注意:<>表示不等于,现在已经被废弃
------------------------------------------------------
False
True
False
False
True
True
3、赋值运算(复合赋值运算符)

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: Renyz
#赋值运算符
#要求:让两个变量等于一个值
#1、链式赋值
a = b = 2
print(id(a),id(b))
---------------------------------------------------------
140730512466608 140730512466608
---------------------------------------------------------
---------------------------------------------------------
#2、交叉赋值
#第一种交叉赋值法:
n = 10
m = 20
c = n
n = m
m = c
print(n,m)
----------------------------------------------------------
20 10
----------------------------------------------------------
#第二种交叉赋值法:
n = 10
m = 20
n,m = m,n
print(n,m)
-----------------------------------------------------------
20 10
4、逻辑运算

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

name = '''
毕洪态,
赵明利,
hello,
world,
'''
a = "world" in name
b = "haha" in name
c = "毕洪态" not in name
print(a)
print(b)
print(c)
------------------------------------------------------------------------
True
False
False
6、身份运算

is 是比较两个引用是否指向了同一个对象(引用比较)
== 是比较两个对象(值)是否相等
#身份运算符
#is是判断内存地址;==是判断变量值
#一个内存地址可以对应多个变量,一个变量只能对应一个内存地址
a = [11,22,33]
b = [11,22,33]
print(a == b)
print(a is b)
#验证id
print(id(a),id(b))
-------------------------------------------------------------------
True
False
434119402120 434119402184
拓展:
In [1]: a=256
In [2]: b=256
In [3]: a is b
Out[3]: True
In [4]: a=257
In [5]: b=257
In [6]: a is b
Out[6]: False
注意:因为python对小整数在内存中直接创建了一份,不会回收,所有创建的小整数变量直接从对象池中引用他即可。但是注意Python仅仅对比较小的整数对象进行缓存(范围为范围[-5, 256])缓存起来,而并非是所有整数对象。也就说只有在这个[-5,256]范围内创建的变量值使用is比较时候才会成立
7、位运算

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: Renyz
a = 60 # 60 = 0011 1100
b = 13 # 13 = 0000 1101
c = 0
c = a & b # 12 = 0000 1100
print("Line 1 - Value of c is ", c)
c = a | b # 61 = 0011 1101
print("Line 2 - Value of c is ", c)
c = a ^ b # 49 = 0011 0001 #相同为0,不同为1
print("Line 3 - Value of c is ", c)
c = ~a # -61 = 1100 0011
print("Line 4 - Value of c is ", c)
c = a << 2 # 240 = 1111 0000
print("Line 5 - Value of c is ", c)
c = a >> 2 # 15 = 0000 1111
print("Line 6 - Value of c is ", c)
运算符优先级:

python基础之变量类型和数据运算的更多相关文章
- python基础2(数据类型、数据运算、for循环、while循环、列表)
1.数据类型 python使用对象模型来存储数据,每一个数据类型都有一个内置的类,每新建一个数据,实际就是一个对象,即所有数据都是对象. 对象的3个特性: 身份:即内存地址,可以用id()来获取 类型 ...
- Python 基础篇:数据类型、数据运算、表达
1. 数据类型 1.1 数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-231-231-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取 ...
- Python基础【day02】:数据运算(二)
本节内容 数据运算 表达式while 循环 一.数据运算 算数运算: 比较运算: 赋值运算: 逻辑运算: 成员运算: 身份运算: 位运算: #!/usr/bin/python a = 60 # 60 ...
- python基础之序列类型的方法——字符串方法
python基础之序列类型的方法--字符串方法 Hello大家好,我是python学习者小杨同学,经过一段时间的沉淀(其实是偷懒不想更新),我终于想起了自己的博客账号,所以这次带来的是序列方法的后半部 ...
- Python基础部分:9、数据的类型和内置方法
目录 一.数据类型内置方法理论 1.什么是数据内置方法 2.如何调用数据内置方法 二.整型(int)内置方法与操作 1.类型转换 2.进制数转换 三.浮点型(float)内置方法与操作 1.类型转换 ...
- Python基础之变量,常量,注释,数据类型
由于上学期学了C语言,对于这一块的内容肯定算熟悉,只是注释的方法有些不同,但得还是一步一步的来!没有基础的同学看了这篇随笔也会大有助益的! 什么是变量?所谓变量就是将一些运算的中间结果暂存到内存中,以 ...
- python基础知识 变量 数据类型 if判断
cpu 内存 硬盘 操作系统 cpu:计算机的运算和计算中心,相当于人类的大脑 飞机 内存:暂时存储一些数据,临时加载数据和应用程序 4G 8G 16G 32G 速度快,高铁 断电即消失 造价高 硬盘 ...
- python基础之数值类型与序列类型
Hello大家好,我是python学习者小杨同学,已经学习python有一段时间,今天将之前学习过的内容整理一番,在这与大家分享与交流,现在开始我们的python基础知识之旅吧. 数值类型与序列类型 ...
- Python入门-初识变量类型
上一篇我们学习了第一行代码,我们print()了很多代码,我们可以print哪些东西呢,这一篇来讲. print()括号里面可以放哪些东西呢?..可以放很多东西,只要是Python的全部数据类型都可以 ...
随机推荐
- OOUnit1Summary
一.前三次作业内容分析 前言 第一单元的作业以表达式求导为主题,分三次要求逐步增加,难度逐步提高.这三次作业下来,本人既有收获,也有遗憾,因此通过接下来的内容对我这三次作业进行分析和总结,希望能能为我 ...
- 2020-BUAA-OO-面向对象设计与构造-第四单元总结&课程总结
咱的OO结束辣! Part1: Unit4 Summary 本单元作业,我主要使用了适配器模式和访问者模式.总体上看,代码量和文件数量有所上升,但配合分包等措施后,文件结构清晰,各部分耦合度均较低.缺 ...
- Unity 渲染流水线 :CPU与GPU合作创造的艺术wfd
前言 对于Unity渲染流程的理解可以帮助我们更好对Unity场景进行性能消耗的分析,进而更好的提升场景渲染的效率,最后提升游戏整体的性能表现 Unity的游戏画面的最终的呈现是由CPU与GPU相互配 ...
- malloc 函数分析 glibc2.23
malloc 函数详解 本篇主要是参考了glibc 2.23的源码 首先我们来看看malloc函数的执行流程. strong_alias (__libc_malloc, __malloc) stron ...
- qsort 快排函数(C语言)
qsort 快排函数(C语言) 函数原型 void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, ...
- JAVAEE_Servlet_22_Cookie实现十天内免登录
Cookie实现十天内免登录 代码: - CheckLogin 查看是否获取到了Cookie,如果获取到了连接数据库验证Cookie发过来的用户名和密码,如果没有获取到Cookie信息,那么就跳转到登 ...
- 按照自己的思路去研究Spring AOP源码【1】
目录 一个例子 Spring AOP 原理 从@EnableAspectJAutoProxy注解入手 什么时候会创建代理对象? 方法执行时怎么实现拦截的? 总结 问题 参考 一个例子 // 定义一个切 ...
- SpringCloud(四)GateWay网关
GateWay网关 概述简介 Gateway是在 Spring生态系统之上构建的AP网关服务,基于 Spring5, Spring Boot2和 Project Reactor等技术. Gateway ...
- 03 Django web服务开发 - URL路由
Django中的APP -Django中的一个APP就是一个应用的意思 -项目可以包含多个APP(多个应用) -一个项目对应一个网站(生活服务网站) 一个APP队形网站的一个应用(二手交易,家政服务) ...
- 动态地绑定到它的 is 特性,可以实现动态组件
前面的话 让多个组件使用同一个挂载点,并动态切换,这就是动态组件.本文将详细介绍Vue动态组件 概述 通过使用保留的 <component> 元素,动态地绑定到它的 is 特性,可以实现动 ...