Python基础入门:变量,运算符与数据类型

Python基础入门:变量运算符,数据类型与位运算

学习目标:

掌握Python基础知识

学习内容:

1、 变量、运算符与数据类型

2、 位运算

学习产出:

1.1.注释
 # 这是一个单行注释
print("Hello world")
'''
这是多行注释,用三个单引号
这是多行注释,用三个单引号
这是多行注释,用三个单引号
'''
print("Hello china") 

"""
三个双引号也是多行注释
"""
print("hello china") 
1.2.运算符

python的运算符与其它语言没有很大的差别

比较运算符

print(2 > 1)  # True
print(2 >= 4)  # False
print(1 < 2)  # True
print(5 <= 2)  # False
print(3 == 4)  # False
print(3 != 5)  # True

逻辑运算符

print((3 > 2) and (3 < 5))  # True
print((1 > 3) or (9 < 2))  # False
#not是逻辑判断词,用于布尔型True和False,not True为False,not False为True
print(not (2 > 1))  # False

三元运算符

#没有使用三元运算符的写法
x, y = 4, 5
if x < y:
    small = x
else:
    small = y
#使用三元运算符的写法
small = x if x < y else y

其它运算符

#两个变量均为不可变类型
a = "hello"
b = "hello"
print(a is b, a == b)  # True True
print(a is not b, a != b)  # False False

#两个变量均为可变类型
a = ["hello"]
b = ["hello"]
print(a is b, a == b)  # False True
print(a is not b, a != b)  # True False

知识点

is, is not 对比的是两个变量的内存地址
==, != 对比的是两个变量的
但是如果比较的两个变量,指向的都是地址不可变的类型(str等),那么is,is not 和 ==,!= 是完全等价的。
对比的两个变量,指向的是地址可变的类型(list,dict,tuple等),则两者是有区别的。

1.3.变量与赋值

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

myTeacher = "老马的程序人生"
yourTeacher = "小马的程序人生"
ourTeacher = myTeacher + ',' + yourTeacher
print(ourTeacher)  # 老马的程序人生,小马的程序人生
#如果重新赋值,旧值会被覆盖
myTeacher = "老老马的程序人生"
print(ourTeacher)  # 老老马的程序人生,小马的程序人生
1.4.数据类型与转换

python中的数据类型常有的有
int 整形
float 浮点型
bool 布尔型

int整形

a = 1031
print(a, type(a))#type可以查看数据类型
# 1031 <class 'int'>
#bin()方法是将int类型数据转化为二进制
print(bin(a))  # 0b10000000111
print(a.bit_length())  # 11

float 浮点型

print(1., type(1.))
# 1.0 <class 'float'>
#想保留浮点型的小数点后 n 位。可以用 decimal 包里的 Decimal 对象和 getcontext() 方法来实现。

bool类型不再阐述

1.5.位运算

二进制有三种不同的表示形式:原码、反码和补码,计算机内部使用补码来表示。

原码:就是其二进制表示(注意,有一位符号位)。
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

按位非操作 ~
“~” 把num的补码中的 0 和 1 全部取反(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 = 1
1 | 0 = 1
0 | 1 = 1
0 | 0 = 0

按位异或操作 ^

只有两个对应位不同时才为 1
1 ^ 1 = 0
1 ^ 0 = 1
0 ^ 1 = 1
0 ^ 0 = 0

按位左移操作 <<

将num的二进制表示向左移动i位所得的值
00 00 10 11 -> 11
11 << 3
01 01 10 00 -> 88

按位右移操作 >>

00 00 10 11 -> 11
11 >> 2
00 00 00 10 -> 2

数据及代码源于"AI训练营Python-阿里云天池"

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值