01变量、运算符、数据类型及位运算

快捷键

  • Enter : 转入编辑模式
  • Shift-Enter : 运行本单元,选中下个单元
  • Ctrl-Enter : 运行本单元
  • Alt-Enter : 运行本单元,在其下插入新单元
  • Y : 单元转入代码状态
  • M :单元转入markdown状态
  • A : 在上方插入新单元
  • B : 在下方插入新单元
  • X : 剪切选中的单元
  • C : 复制选中的单元
  • D,D : 删除选中的单元
  • Shift-M : 合并选中的单元

1注释

print("Hello world")
Hello world
  • “”" “”" 或’’’ ‘’’ 表示区间注释
"""
多行注释
多行注释

"""
print("hello china")
hello china

2运算符

算数运算符

  • 操作符 名称 实例
    • 加 1 + 1
    • 减 2 - 1
    • 乘 3*4
  • / 除 3/4
  • // 整除 3//4
  • % 取余 3%4
  • ** 幂 2**3
print(1 + 1) 
print(2 - 1)
print(3 * 4)
print(3 / 4)
print(3 // 4)
print(3 % 4)
print(2 ** 3)

2
1
12
0.75
0
3
8

比较运算符

  • 操作符 名称 示列
  • /> 大于 2>1
  • />= 大于等于 2>=4
  • < 小于 1 < 2
  • <= 小于等于 5<= 2
  • == 等于 3 == 4
  • != 不等于 3 != 5
print(2 > 1)
print(2 >= 4)
print(1 < 2)
print(5 <= 2)
print(3 == 4)
print(3 != 5)
True
False
True
False
False
True

逻辑运算符

  • and 与
  • or 或
  • not 非
print((3 > 2) and (3 < 5)) 
print((1 > 3) or (9 < 2))
print(not(2 > 1))
True
False
False

位运算符

"""

-   名称     操作符
- 按位取反   ~
- 按位与     4 & 5
- 按位或     4 | 5
- 按位异或   4 ^ 5
- 左移       4 << 2
- 右移       4 >> 2

"""
'\n\n-   名称     操作符\n- 按位取反   ~\n- 按位与     4 & 5\n- 按位或     4 | 5\n- 按位异或   4 ^ 5\n- 左移       4 << 2\n- 右移       4 >> 2\n\n'

三元运算符

x, y = 4,5 
if x < y:
    small = x
else:
    small = y 
print(small)
4

其他操作符

  • in 存在 ‘A’ in [‘A’ ,‘B’,‘C’]
  • not in 不存在 ‘h’ not in [‘A’ ,‘B’,‘C’]
  • is 是 “hello” is “hello”
  • is not 不是 “hello” is not “hello”
letters = ['A' , 'B', 'C']
if 'A' in letters:
    print('A' + 'exists' )
if 'h' not in letters:
    print('h' + 'not exists')
Aexists
hnot exists
#比较的两个变量均指向不可变类型
a = "hello"
b = "hello"

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

True True
False False
#比较的两个变量均指向可变类型
a = ["hello"]
b = ["hello"]
print(a is b , a == b)
print(a is not b, a != b)
False True
True False
  • is is not 对比的是两个变量的内存地址
  • ==,!= 对比的是两个变量的值
  • 比较的两个变量,指向的都是地址不可变的类型(str等),那么is,is not 和== , != 是完全等价的。
  • 对比的两个变量,指向的是地址可变的类型(list ,dict等),则两者是有区别的。

运算符的优先级

  • 一元运算符优于二元运算符。
  • 先算数运算,后位移运算,最后位运算。
  • 逻辑运算最后结合

变量和赋值

teacher = "培训好累"
print(teacher)
培训好累
first = 2
second = 3
thrid = first + second
print(thrid)
5
myToday= "今天培训好累"
yourToday = "累并快乐着"
ourToday = myToday+ ',' + yourToday
print(ourToday)
今天培训好累,累并快乐着

数据类型与转换

  • 整型 int
  • 浮点型 float
  • 布尔型 bool
#整形 
a = 1000
print(a,type(a))

1000 <class 'int'>
b = dir(int)
print(b)
"""
Python 里面万物皆对象(object),整型也不例外,
只要是对象,就有相应的属性 (attributes) 和方法(methods)。
"""
['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__gt__', '__hash__', '__index__', '__init__', '__init_subclass__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'numerator', 'real', 'to_bytes']





'\nPython 里面万物皆对象(object),整型也不例外,\n只要是对象,就有相应的属性 (attributes) 和方法(methods)。\n'
a = 1001
print(bin(a))
print(a.bit_length())#找到一个整数的二进制表示,再返回其长度
0b1111101001
10
#浮点型
print(1,type(1))
print(1.,type(1.))

a = 0.000000023
b = 2.3e-8
print(a)
print(b)
1 <class 'int'>
1.0 <class 'float'>
2.3e-08
2.3e-08
#有时候我们想保留浮点型的小数点后 n 位。可以用 decimal 包里的 Decimal 对象和 getcontext() 方法来实现。
import decimal
from decimal import Decimal
"""
Python 里面有很多用途广泛的包 (package),用什么你就引进 (import) 什么。包也是对象,
也可以用上面提到的dir(decimal) 来看其属性和方法。
"""
'\nPython 里面有很多用途广泛的包 (package),用什么你就引进 (import) 什么。包也是对象,\n也可以用上面提到的dir(decimal) 来看其属性和方法。\n'
a = decimal.getcontext()
print(a)

Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero, Overflow])
b = Decimal(1) / Decimal(3)
print(b)
0.3333333333333333333333333333
#用 getcontext().prec 来调整精度。
decimal.getcontext().prec = 4
c = Decimal(1) / Decimal(3)
print(c)
0.3333

布尔型

  • 布尔 (boolean) 型变量只能取两个值,True 和 False。当把布尔型变量 用在数字运算中,用 1 和 0 代表 True 和 False。
print(True + True)
print(True + False)
print(True * False)
2
1
0
  • bool 作用在基本类型变量:X 只要不是整型 0、浮点型 0.0,bool(X) 就是 True,其余就是 False。
print(type(0),bool(0),bool(1))
<class 'int'> False True
  • bool 作用在容器类型变量:X 只要不是空的变量,bool(X) 就是 True,其余就是 False。
print(type(''), bool(''),bool('python'))
  • type(opject)获取类型信息
print(type(1))
<class 'int'>
  • isinstance(object, classinfo) 判断一个对象是否是一个已知的类型。
print(isinstance(1,int))
print(isinstance(5.2,float))
print(isinstance(True,bool))
print(isinstance('5.2',str))
True
True
True
True
  • type() 不会认为子类是一种父类类型,不考虑继承关系。
  • isinstance() 会认为子类是一种父类类型,考虑继承关系。
    如果要判断两个类型是否相同推荐使用 isinstance()。

类型转换

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

print()函数

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值