Python入门-数据类型、运算符和位运算

python数据类型

6个标准的数据类型

-不可变数据:Number、String、Tuple(元组)

-可变数据:List、Dictionary、Set

Number中包含int、float、complex(复数)

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

python中运算符

1、算术运算符

2、其他

3、逻辑运算符

4、比较运算符

5、位运算符

*有关位运算的一些知识

1、基础知识

1)原码:二进制表示,最高位是符号位

2)反码:正数反码即原码,负数反码符号位不变,其余位取反

3)补码:正数补码即原码,负数补码是反码加1

总结:正数原补反统一原

2、利用位运算实现快速计算

-通过<< 、>>快速计算2的倍数问题

-通过 `^` 快速交换两个整数

-通过 `a & (-a)` 快速获取`a`的最后为 1 位置的整数


⚠️几个对比

#is / is not和== / != 

is, is not 对比的是两个变量的内存地址

==, != 对比的是两个变量的值

例子:

a = "hello"

b = "hello"

print(a is b, a == b)  # True True

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

**遇到不可变数据类型,比如Number、String、Tuple等,那么两者完全等价。

# isinstance()和type()

字面意思上理解的区别如下:

- `type()` 不会认为子类是一种父类类型,不考虑继承关系。

- `isinstance()` 会认为子类是一种父类类型,考虑继承关系。

举个例子更直观的来看,下面对象B继承了A。


*课后思考题及解答:

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

解答:两种方式,整行注释和区间注释。

           1)#:用于整行注释

           2)‘’‘   ’‘’、“”“  ”“”:区间注释

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

解答:有几类运算符

           1)算术运算符:+、-、*、/、//(整除)、%、**(幂)

           2)比较运算符:<、>、<=、>=、==、!=

           3)逻辑运算符:and、or、not

           4)位运算符:&、\|、~、^(异或)、<<、>>

           5)三元运算符

           6)其他:存在与否 in / not in ,是或不是is / is not

     优先级顺序:一优于二、算移位逻

   (一元优于二元运算,然后是算术、移位、按位、逻辑)

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

解答:is 和is not 比较的是变量的内存地址。

           ==和!=比较的是变量的值,与内存地址无关。

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

解答:数据类型--Number、String、Tuple、List、Dictionary、Set

           转换方式: 转换为整型 `int(x, base=10)`

                               转换为字符串 `str(object='')`

                               转换为浮点型 `float(x)`

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。