python 0基础学习笔记——介绍变量、数据类型、数据类型转换(str()\int()\float())、注释、运算符

1、变量:

变量包含 标识 id(obj)、类型 type(obj)、值 print(obj) 三部分。

变量定义后,变量名指向数据空间(标识、类型、值);————类似指针?

重新赋值后,变量名指向新的空间,旧的内存垃圾会自动回收。

具体回收机制,参考:Python的内存管理机制(垃圾回收) - ''竹先森゜ - 博客园

多个变量赋值相同时(a,b=10,10),第一个变量a赋值会创建10的数据空间n(10),第二个变量b赋值会查询10是否有数据空间n(10),如果有,不再新创建数据空间,而是把n(10)的标识id给b。b也指向n(10)

2、数据类型:

常用数据类型有:int、float、bool、str 四种。

2.1 int 整数类型:

1)不同进制:默认十进制。 0d(十进制)。 0b(二进制)、0o(八进制)、0x(十六进制)

2.2 float 浮点数类型:

1)浮点数存储不精确性。

    原因:1. 计算机内部以二进制保存,所以十进制的有限位的小数,在计算机内部会是一个无限位的小数。

              2. 计算机保存浮点数的精度有限。

                单精度float:可以保留十进制最多7位(二进制23位)有效数字  ;

               双精度double:可以保留十进制15~16位(二进制52位)有效数字。     

2)不精确解决方案:导入模块decimal模块,使用decimal.Decimal(obj)

#decimal.Decimal(str)使用
import decimal
a=1.1
b=2.2
print(a+b)
print(decimal.Decimal(int(a))+decimal.Decimal(int(b)))

2.3 bool 布尔类型:True,False

python 一切皆对象,所有对象都有一个bool值:bool()

除了False、None、数值0、空字符串/列表/元组/集合/字典,bool()为False;其余均为True

可以默认转换为整数进行计算

#bool 值可以转换为整数计算
f1=True
print(f1+1)  #True = 1,True+1 = 2

2.4 str 字符串类型:'…' 、 "…"  、 ''' … ''' 。 三引号表示字符串块

又称为不可变字符序列:

对string字符串的操作实际上是对其副本(原始拷贝)的操作,原字符串没有改变。

3、数据类型转换:

str():

int():  int(x, base=16)     视 x 为 base 类型数字,如果加base值,x必须是str、且是整数

float():

int()         #不传入参数时,得到结果0
int('12',16)  #带参数base的话,要以字符串的形式进行输入,12为16进制的12,实际为18
输出结果:
0
18

4、注释:

中文编码声明:#coding:utf-8

5、运算符

包括 数学运算符、赋值运算符、比较运算符、布尔运算符、位运算符。

1) 数学运算符:加(+)   减(-)   乘(*)  除(/)  整除(//)  取余(%)   幂(**)  

2)赋值运算符:= :从右至左执行;

                     支持链式赋值a=b=c=20;——多个参数同时指向1个对象空间

                     支持参数赋值(+=,-=,*=,/=,//=,%=,**=)                     

支持系列解包赋值a,b=1,2; ——交换变量时:a,b=b,a

3)比较运算符:结果是bool类型  > 、 < 、 >=  、 <=  、 == 、 != 、  is  、 is not

                     ==:对对象value的比较

                    is 、is not:对对象id的比较

a,b=10,10                 #相同值的变量的id一致
print(id(a),id(b))

c,d=[11,22,33],[11,22,33]   #相同值的列表的id不一致
print(id(c),id(d))

#输出:
8791301363760 8791301363760
37749120 37749056

print(c==d)
print(c is d)
print(c is not d)

#输出:
True
False
True

 4)bool运算符:and 、or、  not 、 in、  not in    

                     not是对布尔类型取反

str = "Hello"
a=2
print(not str)
print(not "a")
print(not a)
print(not 1)
#输出:
False
False
False
False

 5)位运算符:位与(&) 、位或(|) 、异或运算符(^) 、取反运算符(?) 、左位移(<<) 、右位移(>>) 

                        将数据转成二进制进行计算          

a=60
b=13
print(a&b,0b1100)
print(a|b,0b111101)
print(a^b,0b110001)
print(a<<2,0b11110000)
print(a>>2,0b1111)

输出:
12 12
61 61
49 49
240 240
15 15

print(~a,-a-1)    #按位取反~a
输出:
-61 -61

有关 “反码”,“取反”,“按位取反(~)”这三个概念:

反码:正数的反码是其本身,对于负数其符号位不变其它各位取反(0变1,1变0)

取反:0变1,1变0

???按位取反:

6)运算符优先级

()——>算数运算符——>位运算符——>比较运算符——>布尔运算符——>赋值运算符

                  |                          |                                                    |

   ** —> *,/,//,%—>+,-   >>,<<—>&—>|                             and—>or  

7)bin() :返回一个整数 int 或者长整数 long int 的二进制表示,返回值是str类型

a = bin(60)
b = bin(13)
print(a,type(a),b,type(b),sep=',')
输出:
0b111100,<class 'str'>,0b1101,<class 'str'>

  参考页面:

Python 运算符 | 菜鸟教程                           

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值