python1 变量,数据类型,运算符/2021-07-03

2.可变类型与不可变类型的比较

【例子】比较的两个变量均指向不可变类型。

a = "hello"
b = "hello"
print(a is b, a == b)  # True True
print(a is not b, a != b)  # False False
True True
False False

【例子】比较的两个变量均指向可变类型。


a = ["hello"]
b = ["hello"]
print(a is b, a == b)  # False True
print(a is not b, a != b)  # True False
False True
True False

注意:

  • is, is not 对比的是两个变量的内存地址
  • ==, != 对比的是两个变量的值
  • 比较的两个变量,指向的都是地址不可变的类型(Number(数字)、String(字符串)、Tuple(元组,那么is,is not 和 ==,!= 是完全等价的。
  • 对比的两个变量,指向的是地址可变的类型(Set(集合)、List(列表)、Dictionary(字典),则两者是有区别的。

不可变类型:不可变数据类型在第一次声明赋值声明的时候, 会在内存中开辟一块空间, 用来存放这个变量被赋的值,  而这个变量实际上存储的, 并不是被赋予的这个值, 而是存放这个值所在空间的内存地址, 通过这个地址, 变量就可以在内存中取出数据了.当我们改变这个变量的赋值时, 只是在内存中重新开辟了一块空间, 将这一条新的数据存放在这一个新的内存地址里, 而原来的那个变量就不在引用原数据的内存地址而转为引用新数据的内存地址了.

可变类型:可变数据类型是指变量所指向的内存地址处的值是可以被改变的。

3.运算符优先级

运算符的优先级

运算符描述
**指数(最高优先级)
~+-按位翻转,一元加号和减号
* / % //乘,除,取模和取整除)
+ -加法减法
>> <<右移,左移运算符
&位‘AND’
^|位运算符
<=<>>=比较运算符
<>==!=等于运算符
=%=/=//=-=+==*=赋值运算符
is is not身份运算符
in not in成员运算符
not and or逻辑运算符

4.变量

  • 在使用变量之前,需要对其先赋值。
  • 变量名可以包括字母、数字、下划线、但变量名不能以数字开头。
  • Python 变量名是大小写敏感的,foo != Foo

5.数据类型与转换

类型名称示例
int整型 <class 'int'>-876, 10
float浮点型<class 'float'>3.149, 11.11
bool布尔型<class 'bool'>True, False

  • 转换为整型 int(x, base=10)
  • 转换为字符串 str(object='')
  • 转换为浮点型 float(x)

Python 里面万物皆对象(object),整型也不例外,只要是对象,就有相应的属性 (attributes) 和方法(methods)。

5.1.浮点数的精确小数位:

想保留浮点型的小数点后 n 位。可以用 decimal 包里的 Decimal 对象和 getcontext() 方法来实现。

import decimal
from decimal import Decimal
decimal.getcontext().prec = 4 #精确到4位
c = Decimal(1) / Decimal(3)
print(c)

0.3333

5.2 bool(x)

1. 对于数值变量(整型、浮点型), 0 , 0.0 都可认为是空的--false,其余为true。

2. 对于容器变量(字符串、元组、列表、字典和集合),里面没元素就是空的--false,其余为true。

5.3 获取类型信息

  • 获取类型信息 type(object)
print(type(1)) # <class 'int'>
print(type(5.2)) # <class 'float'>
print(type(True)) # <class 'bool'>
print(type('5.2')) # <class 'str'>

        获取类型信息 isinstance(object, classinfo),判断两个类型是否相同推荐使用 isinstance()

print(isinstance(1, int))  # True
print(isinstance(5.2, float))  # True
print(isinstance(True, bool))  # True
print(isinstance('5.2', str))  # True

6.print函数

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

end=' ',end里面是什么,本行输出完后就已什么结尾。

练习题:

1. 怎样对python中的代码进行注释?

        方法1:ctrl+/ 

        方法2:#

        方法3:''' '''

2. python有哪些运算符,这些运算符的优先级是怎样的?

算术运算符、比较运算符、赋值运算符、逻辑运算符、位运算符、成员运算符和身份运算符

按优先级从上到下,依次排列 

运算符描述
**
~

按位“取反”

*、/、%、//乘、除、取模、取整除
+、- 加、减
>>、<<右移、左移
&按位“与”
^、|按位“异或”、按位“或”
<=、<、>、>=比较运算符
==、!=等于、不等于
=、%=、/=、//=、-=、+=、*=、**=赋值运算符
is、is not身份运算符
in、not in成员运算符
and or not

逻辑运算符

3. python 中 is , is not 与 == , != 的区别是什么?

  • is, is not 对比的是两个变量的内存地址
  • ==, != 对比的是两个变量的值

4. python 中包含哪些数据类型?这些数据类型之间如何转换?

数据类型

int,float,bool

转换

int(),str(),float()

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值