# *****变量、运算符与数据类型*******
# 1、注释
#   1.1 单行注释, # 标识注释,作用于整行
# This is a Comment
print("Hello world!")
#  1.2 多行注释 ''' ''' 或者""" """表示区间注释,在三引号之间的所有内容被注释
'''
这是多行注释,用三个单引号
这是多行注释,用三个单引号
这是多行注释,用三个单引号
'''
print("Hello China")

"""
这是多行注释,用三个双引号
这是多行注释,用三个双引号
这是多行注释,用三个双引号
"""
print("hello china")

# 2、运算符
"""
2.1 算术运算符:加(+),减(-),乘(*),除(/),整除(//)又叫地板除, 取余(%),幂(**)
"""
print(1 + 1) # 2
print(2 - 1) # 1
print(3 * 4) # 12
print(3 / 4) # 0.75
print(3 // 4) # 0
print(3 % 4) # 3
print(2 ** 3) # 8
"""
2.2 比较运算符: 大于(>)大于等于(>=) 小于(<) 小于等于(<=) 等于(==) 不等于(!=)
"""
print(2 > 1) # True
print(2 >= 4) # False
print(1 < 2) # True
print(5 <= 2) # False
print(3 == 4) # False
print(3 != 5) # True
"""
2.3 逻辑运算符: 与(and), 或(or),非(not)
"""
print((3 > 2) and (3 < 5)) # True
print((1 > 3) or (9 < 2)) # False
print(not (2 > 1)) # False

"""
2.4 位运算符: 按位取反(~),按位与(&),按位或(|),按位异或(^),左移(<<), 右移(>>)
"""
print(bin(4), bin(5)) # 0b100 0b101
print(bin(~4), ~4) # -0b101 -5
print(bin(4 & 5), 4  & 5) # 0b100 4
print(bin(4 ^ 5), 4 ^ 5) # 0b1 1  异或,不同的位为1,相同的位为 0
print(bin(4 << 2), 4 << 2) # 0b10000 16
print(bin(4 >> 2), 4 >> 2) # 0b1 1
"""
2.5 三元运算符
"""
x, y = 4,5
small = x if x < y else y
print(small) # 4

"""
2.6 其他运算符: 存在(in), 不存在(not in),是(is),不是(is not)
"""
letters = ['A', 'B', 'C']
if 'A' in letters:
    print('A' + ' exists') # A exists
if 'h' not in letters:
    print('h' + ' not exists') # h not exists

'''
2.6.2 比较两个变量均指向不可变类型
'''
a = "hello"
b = "hello"
print(a is b, a == b) # True, True
print(a is not b, a != b) # False False
'''
2.6.3 比较两个变量均指向可变类型
'''
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等),则两者是有区别的
'''
"""
2.7 运算符的优先级
"""
print(-3 ** 2) # -9 一元运算符优于二元运算符,等价于(-3)** 2
print(3 ** -1) # 0.11111111111 一元运算符优于二元运算符,等价于3 ** (-2)
print(1 << 3 + 2 & 7) # 0 先算术运算,后位移运算,最后位运算 (1 << (3 + 2)) & 7
print(-3 * 2 + 5 / -2 - 4) # -12.5 一元运算符优于二元运算符,二元运算符先乘除,后加减 (((-3)* 2) + (5 / (-2))) - 4
print(3 < 4 and 4 < 5) # True 逻辑运算符优先级最低,等价于(3 < 4)and (4 < 5)

# 3、变量和赋值
"""
变量使用前,要先赋值
变量名可以包含字母,数字,下划线, 数字不能作为开头字符
python变量名对大小写敏感
"""
teacher = "老马的程序人生"
print(teacher)

first, second = 2, 3
third = first + second
print(third)

myTeacher = "人生到处应何似,"
yourTeacher = "却似飞鸿踏雪泥"
ourTeacher = myTeacher + yourTeacher
print(ourTeacher)

# 4、数据类型与转换
"""
4.1 整型(<class 'int'>)int
"""
a = 1031
print(a, type(a)) # 1031 <class 'int'>
print(dir(int)) # Python 里面万物皆对象,整型也不例外。只要是对象,就有相应的属性(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']
print(a, bin(a), a.bit_length()) # 1031 0b10000000111 11
"""
4.2 浮点型(<class 'float'>) float
"""
print(1, type(1)) # 1 <class 'int'>
print(1., type(1.)) # 1.0 <class 'float'>

a = 0.00000023
b = 2.3e-7
print(a, b) # 2.3e-07 2.3e-07

'''
有时候我们想保留浮点型的小数点后n位,可以用decimal包里的Decimal对象和getcontext()方法来实现
'''
import decimal
print(dir(decimal))
#['BasicContext', 'Clamped', 'Context', 'ConversionSyntax', 'Decimal', 'DecimalException', 'DecimalTuple', 'DefaultContext', 'DivisionByZero', 'DivisionImpossible', 'DivisionUndefined', 'ExtendedContext', 'FloatOperation', 'HAVE_THREADS', 'Inexact', 'InvalidContext', 'InvalidOperation', 'MAX_EMAX', 'MAX_PREC', 'MIN_EMIN', 'MIN_ETINY', 'Overflow', 'ROUND_05UP', 'ROUND_CEILING', 'ROUND_DOWN', 'ROUND_FLOOR', 'ROUND_HALF_DOWN', 'ROUND_HALF_EVEN', 'ROUND_HALF_UP', 'ROUND_UP', 'Rounded', 'Subnormal', 'Underflow', '__builtins__', '__cached__', '__doc__', '__file__', '__libmpdec_version__', '__loader__', '__name__', '__package__', '__spec__', '__version__', 'getcontext', 'localcontext', 'setcontext']
print(decimal.getcontext()) # Decimal对象默认精度是28位

from decimal import Decimal
print(Decimal(1) / Decimal(3)) # 0.3333333333333333333333333333

decimal.getcontext().prec = 4 # 保留4位小数
print(Decimal(1) / Decimal(3)) # 0.3333

"""
4.3 布尔型 (<class 'bool'>) bool
bool 型变量只取两个值, True 或者 False。
当把布尔型用在数字运算中, True = 1, False = 0
"""
print(True + True) # 2
print(True + False) # 1
print(True * False) # 0

'''
除了直接复制True, False,还可以用bool(X)创建变量。其中X可以是:
基本类型: 整型,浮点型,布尔型
容器类型:字符串,元组,列表,字典和集合
'''
# bool 作用于基本类型, 若X 是 整型0,浮点0.0, bool(X)就是False, 否则为True
print(type(0), bool(0), bool(1)) # <class 'int'> False True
print(type(10.31), bool(0.00), bool(10.31)) # <class 'float'> False True
print(type(True), bool(False), bool(True)) # <class 'bool'> False True

Python 入门-Task1 变量、运算符、数据类型及位运算相关推荐

  1. python中变量,Python中的变量、数据类型、运算符

    Python第四课 Python中的变量.数据类型.运算符 Hello,小伙伴们,今天我们来聊一聊Python里面的变量.数据类型.运算符. 一. 变量:什么是变量呢? 我们来看这样一个例子:李四在银 ...

  2. Python_Task01:变量、运算符、数据类型及位运算

    变量.运算符.数据类型及位运算 学习教程 变量.运算符.数据类型 1. 注释 2. 运算符 3. 变量和赋值 4. 数据类型与转换 5. print() 函数 思考题 练习题 位运算 1.原码.反码和 ...

  3. Python入门 - 笔记 - 第三章 Python中的变量和数据类型

    第三章 Python中的变量和数据类型 -------------------------------------------------------------------------------- ...

  4. 【Python】Python实战从入门到精通之一 -- 教你深入理解Python中的变量和数据类型

    本文是Python实战–从入门到精通系列的第一篇文章: Python实战从入门到精通之一 – 教你深入理解Python中的变量和数据类型 文章目录 1.变量 1.1 变量命名规则 1.2 变量名称错误 ...

  5. python 整数逆位运算_python训练营:注释、运算符、数据类型与位运算

    天学习的内容整理成脑图如下,其中带☆的是需要重点掌握的模糊知识点,需要加强训练和记忆. 二.具体学习内容 2.1 注释 2.1.1 多行注释 2.1.2 长字符串注释 2.2 运算符 2.2.1 算术 ...

  6. python中数据类型大小_详细解析Python中的变量的数据类型

    变量是只不过保留的内存位置用来存储值.这意味着,当创建一个变量,那么它在内存中保留一些空间. 根据一个变量的数据类型,解释器分配内存,并决定如何可以被存储在所保留的内存中.因此,通过分配不同的数据类型 ...

  7. Oldboy_day01 Python的历史,变量\常量\数据类型\用户交互\流程控制\循环while

    ###学前动员###:老男孩IT培训的师资力量 讲师:邱彦涛: 项目经理:春生: 班主任:任安安; 银角大王:武sir: 金角大王:Alex: 肖锋:Python web 框架: 马老师:数据库+框架 ...

  8. sizeof是c语言的一种运算符,C语言位运算和sizeof运算符详解

    位运算和sizeof运算符 C语言中提供了一些运算符可以直接操作整数的位,称为位运算,因此位运算中的操作数都必须是整型的.位运算的效率是比较高的,而且位运算运用好的话会达到意想不到的效果.位运算主要有 ...

  9. 将不确定变为确定~整形变量是否可以进行位运算(像枚举类型一样)

    回到目录 如果您看到这个题目,觉得有点怪,那说明你是一个高人,最起码比我高的多,呵呵. 前几天做了一个公用后台管理系统的项目,其中有一个地方涉及到权限管理的,即为每一个按钮赋一个权限,然后它权限汇总到 ...

最新文章

  1. javascript全局观
  2. 页面加载成功后调用_在微信小程序里实现图片预加载组件
  3. Business Partner Relationship Category in CRM and C4C
  4. Teamcenter 入门开发系列问答(4)
  5. AS3多线程快速入门(一):Hello World[
  6. 2017年网易游戏数据挖掘/机器学习实习生笔试
  7. 实现一个简单的Tomcat 1
  8. 如何使用小程序画布组件绘制自动缩放正方形
  9. SpringBoot常见面试题总结二
  10. ROLLUP函数问题
  11. CISSP-D7-运营安全
  12. gulp在工作中的应用
  13. html css笔记zht
  14. [zz]64bitnbsp;ubuntunbsp;安装32bit软件
  15. Android 判断当前应用是否开启消息通知
  16. 台湾半导体制造商台积电市值首次超越英特尔
  17. FITC cy3/cy5荧光标记达卡巴嗪/托瑞米芬/盐酸阿霉素/替莫唑胺等药物 FITC-DTIC
  18. springboot整合Hystrix 熔断器
  19. Java零基础个人学习路线总结
  20. 高性能电工电子电气控制技术实训考核装置

热门文章

  1. Mybatis批量update修改实例
  2. 目标追踪拍摄?目标遮挡拍摄?拥有19亿安装量的花瓣app,究竟有什么别出心裁的功能如此吸引用户?
  3. 京东大数据方向-Java方向-实习面经一面二面(offer没去。。。)
  4. fork函数产生进程
  5. 北京智源大会 | AI + 医疗的下一个十年:从公共卫生预警到人类基因密码破解 道翰天琼认知智能api机器人接口1。
  6. WiFi大师3.0.9独立可运营版
  7. 修改并完善框架协议、合同的类型、有效期及目标值等
  8. CO03生产订单“状态”值对应表和值描述对应表(TJ02T) 和通过BAPI(STATUS_TEXT_EDIT)获取
  9. js(JavaScript):面向对象,Document对象:查找元素对象,修改元素,事件
  10. mysql断开连接_MYSQL,使用什么命令可以断开所有用户的表连接?