欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

阿里云天池 Python训练营 Task01

程序员文章站 2024-03-15 23:08:48
...

阿里云天池 Python训练营 Task01

  1. 学习链接:
    https://tianchi.aliyun.com/s/58327c15d1faee512c008128d3bb9e32

  2. 今日学习任务:
    Task01中的前两个章节:
    (1) 变量、运算符与数据类型
    (2) 位运算

  3. 记录笔记:
    学习完成之后,选择任意平台进行自我知识总结即可(今天学到了什么将来可能需要复习的知识点,用笔记来方便自己复习)知乎、CSDN、Github等。(如果对记笔记有疑惑,欢迎讨论)


阿里云天池 Python训练营 Task01

变量、运算符与数据类型

变量

Python是强类型语言,Python很少会隐式地转换变量的类型。
强类型:不允许不同类型相加。例如:整形+字符串会报类型错误。

1. 变量命名
  • 变量名只能是字母,数字,下划线的组合,注意不能用数字开头
  • 变量名不能含有特殊符号,不能使用关键字(保留字)
  • 大小写敏感,不能混用
2. 使用变量前,需要赋值

在python中,我们对变量进行赋值的时候,用的是一个等于符号(=),要注意不是两个(==)。

3. 全局变量与局部变量
  • 全局变量是定义在外面的变量
  • 局部变量就是定义在一个函数体内部的变量
  • 在函数体内部使用全局变量 global关键字

注释

1. 单行注释

单行注释 #

2. 多行注释

多行注释 ‘’'或者"""
多行注释操作 选中+ 快捷键 ctrl+/

运算符

  • 加+ 减- 乘* 除/
  • 整除//
  • 取余%
  • 幕**

数据类型与转换

1. 数据类型
  • 整型 (int)

整型或整数,是正或负整数,不带小数点

  • 浮点型 (float)

浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)

  • 布尔型 (bool)

布尔 (boolean) 型变量只能取两个值,True 和 False。当把布尔型变量用在数字运算中,用 1 和 0 代表 True 和 False

3.类型转换
  • 转换为整型 int(x, base=10)
  • 转换为字符串 str(object=’’)
  • 转换为浮点型 float(x)
3.类型输出
  • type() 函数
    ype() 不会认为子类是一种父类类型,不考虑继承关系
  • isinstance() 函数
    isinstance() 会认为子类是一种父类类型,考虑继承关系
注意:如果要判断两个类型是否相同推荐使用 isinstance()

print函数

打印输出,可调试输出,print()

print("hello world!")
在 Python 中 print 默认是换行的,要想不换行你应该写成 print(i, end = ‘’ )

位运算

1. 原码、反码和补码
  • 原码

二进制表示(注意,有一位符号位)

00 00 00 11 -> 3
10 00 00 11 -> -3
  • 反码

正数的反码就是原码,负数的反码是符号位不变,其余位取反(对应正数按位取反)

00 00 00 11 -> 3
11 11 11 00 -> -3
  • 补码

正数的补码就是原码,负数的补码是反码+1

00 00 00 11 -> 3
11 11 11 01 -> -3
符号位:最高位为符号位,0表示正数,1表示负数。在位运算中符号位也参与运算
2. 按位运算
  • 非(~)

取反(0 变为 1,1 变为 0)

~ 1 = 0
~ 0 = 1
  • 与(&)

只要两个对应位都有一个 1 时就为 1

1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0
  • 或(|)
1 | 1 = 1
1 | 0 = 1
0 | 1 = 1
0 | 0 = 0

只要两个对应位中有一个 1 时就为 1

3.按位左移操作 <<

num << i 将num的二进制表示向左移动i位所得的值

4.按位右移操作 >>

num >> i 将num的二进制表示向右移动i位所得的值

5.Python 的bin() 输出
  • Python中bin一个负数(十进制表示),输出的是它的原码的二进制表示加上个负号,巨坑。
  • Python中的整型是补码形式存储的。
  • Python中整型是不限制长度的不会超范围溢出。
所以为了获得负数(十进制表示)的补码,需要手动将其和十六进制数0xffffffff进行按位与操作,再交给bin()进行输出,得到的才是负数的补码表示。