21年python第一节

我们把一个/py文件叫一个模块 

python 叫解释性 解释型语言,是在运行的时候将内存里程序翻译成机器语言。
解释型语言的程序不需要在运行前编译,在运行程序的时候才翻译,专门的解释器负责在每个语句执行的时候解释程序代码。

python中不可变数据类型和可变数据类型

在学习python过程中我们一定会遇到不可变数据类型和可变数据类型。

1.名词解释

  以下所有的内容都是基于内存地址来说的。

  不可变数据类型: 当该数据类型的对应变量的值发生了改变,那么它对应的内存地址也会发生改变,对于这种数据类型,就称不可变数据类型。

  可变数据类型    :当该数据类型的对应变量的值发生了改变,那么它对应的内存地址不发生改变,对于这种数据类型,就称可变数据类型。

  总结:不可变数据类型更改后地址发生改变,可变数据类型更改地址不发生改变

不可变数据类型:整形(整型,浮点,),布尔,字符串,元祖  设定一个值不能改变,如果两个变量用一个值改值对他们有影响 

a =123  #开辟一个空间存123
b=123 #开辟另外一个空间存123
#他们两个长得一样但不一样,不是一个人
#python 里面存变量是引用变量,这样存省地方,好处是方便,坏处是变化一个另外一个也会变化
# 这种是不可变类型
如果a=234 123指向等于0的话就会被垃圾回收掉

可变数据类型:数组,字典,集合 

a=(1,2,3)
b=(1,2,3)
print(id(a))
print(id(b))

不可变数据类型,为什么每次执行,内存地址都都会变化呀??????

不代表永远占着地址,运行完了在运行会变

关于缩进

写的代码要对齐 

 python 里面的缩进就用tab   

不要随便打开编辑py文件,最好在本地调整完了放上去 

小技巧?????????

批量缩进全选tab  

返回来缩进全选 shift +tab 

批量注释 全选ctrl /

python的主要数据类型  ?????????

优先级 float 类型比Int类型高  为啥呢,防止精度丢失 

数字类型整型,浮点 

字符串   ‘a’ "aa"

布尔值

剩下的就是对象 

 round函数四舍五入  b=1.5  round(b,1) 加一个参数保留一位 

int转成小数 

print(a//b)  和/的区别是结果不是2.0 是2 能整除是2不能整除是小数 

 序列 元素  1. 按索引取值    2. 切片 分片 

python 的变量转换??????

别的代码都这么转换变量值 需要给一个中间变量 

a=1
b=2
c=a
a=b
b=c
print(a)
print(b)
python 的方法 a,b=b,a

Python 成员运算符 ?????????????????????????????
别的代码都是循环然后判断
aa=[] aa=() a=''
python 直接
a in [1,2,3] not in 判断在不在里面
字符串就 if m in d :


赋值运算符
=
+= a+=1 a = a + 1
-=
*=
/=
%=
**=
//=

连续赋值
a=b=c=1
a,b,c=1,2,3

查看数据类型
type(变量名)

a = 1
print(type(a))
a = 1.2
print(type(a))
a = 'haha'
print(type(a))

通过id(变量名)可以查看变量指向的内存地址

数据分为 变量 和 常量
Python中的常量:数字、字符串、布尔值 --- 节省资源开销

强制类型转换
int(X)转换X到一个普通整数
float(X)转换X到浮点数字
round(X) 四舍五入
str(x) 转成字符串
chr(X) 将一个整数转换为可对应ASCII的字符
ord(X) 将一个字符转换为对应的ASCII码数值

'''
\n 换行
\r 退回到行首,后续输入会覆盖前面的输入
\t 制表符

\\ 代表一个反斜线字符

print('Bobsaid "I\'m OK".') 转义 
str(x)将对象 x 转换为字符串

算术运算符
+
-
*
/ 结果的类型为float  python 3除法整除和不能整除都会转成一个小数
4/2 2.0
9/2 4.5

 

 想要结果。除尽和除不尽都要变成整数就用地板除???????

都是整数整除和不整除结果都是Int 

 

不能整除还是float ,前提是有小数的情况下除和被除数

 

 

 

** 幂
3 ** 2
2 ** 100

% 取余的作用还可以判断逻辑一个数能不能整除,奇数偶数可以除以2判断

10%3 1
10/3 3.3333...

// floor除

不管操作数为何种数值类型,总是会舍去小数值,返回数字序列中 注意都是会带.0 转成float 
比真正的商小的 最接近的 整数数值,
数值类型取决于操作数的类型。


比较(关系)运算符

返回值为布尔值
不仅可以比较数值,还可以比较其他类型,字符串、布尔值

== 等于 - 比较对象的值是否相等

!= 不等于

>

<

>=

<=

is 和id 一样 

Is

比较的是两个对象的id值是否相等,也就是比较俩对象是否为同一个实例对象,是否指向同一个内存地址。

==

比较的是两个对象的内容是否相等,默认会调用对象的__eq__()方法。

 

常见的三种格式化的方法 ???????????
name='帅哥'
month=9
money=32.00
yu_money=18.00
ces="亲爱的%s你好!你%s月的话费是%.2f元,余额是%.2f元"%(name,month,money,yu_money)
ces1=f"亲爱的{name}你好!你{month}月的话费是{money}元,余额是{yu_money}元"
ces2="亲爱的{name}你好!你{month}月的话费是{money}元,余额是{yu_money}元".format(
name=name,month=month,money=money,yu_money=yu_money)
print(ces)
print(ces1)
print(ces2)

 “ / ” 为浮点数除法,返回浮点结果

“ // ” 表示整数除法,返回不大于结果的一个最大整数

//正整数的结果,比如1//3 0.3 就是0  然后-1//3 就会返回-1注意  

python3的除法/无论整除不整除都会保留一位,结果也就是小数显示

字符串的转义方法??????????????

 

 

 
posted @ 2021-05-23 10:40  测试董先生  阅读(103)  评论(0编辑  收藏  举报