美文网首页Python
4、变量与运算符

4、变量与运算符

作者: IT_Freak | 来源:发表于2018-12-20 19:29 被阅读0次

    变量:可以仅仅当作是一个“名字”

    赋值变量A

    赋值符:=

    命名要有意义,不能仅仅是A,B,X这类的。这是优质代码的必要条件。

    变量命名规则:只能使用数字,字母,下划线。首字母不能是数字。

    系统的保留关键字,不能用在变量名中。方法名如果被设置为变量名也会导致方法不可用。

    变量名本身无类型,可以被赋值任何的数据类型。

    值类型的传值,不会因原来的变量变化而变化 引用类型的传值,两个变量都会指向同一个地址空间

    int,str,tuple是值类型(不可变类型),list,set,dict是引用类型(引用类型)

    字符串不可改变,一旦设置便分配一个固定的地址

    id():显示变量在内存中的地址。

    值类型在申请内存空间之后,便不再改变。若字符串发生改变,只能重新申请新的地址空间。

    值类型的不可改变性 引用类型不会因变化而改变内存地址 list的append()函数 值类型的不可变性

            不可变性本质上讲其实是地址的不变性,尽管元组里的列表发生了改变。但从上面的例子知道列表的地址并没有发生改变,所以元组内没有任何元素地址发生了改变。元组的不可变性依旧成立。


    运算符:

    算术运算符:四则运算:+,-,*,/,取整://,取余:%,次方:**

    赋值运算符:赋值符:=,算术赋值符(先做运算再赋值):+=,*=,/=,%=,**=,//=

    python不存在自增运算符

    关系(比较)运算符:相等:==,不等:!=,大于:>,小于:<,大于等于:>=,小于等于:<=

    同级运算符运算顺序:从右往左

    str类型运用关系运算符的规则:从左至右一位一位的比较ASCII码。(list,set类型同理)

    逻辑运算符:且:and,与:or,非:not

    逻辑运算符可叠加使用

    逻辑运算符一般使用在bool类型上,但对于其他类型其实也可以使用。只不过在使用前系统把其他类型默认转换成了bool类型。

    int float类型:0被视为False,非0为True。

    str类型:空字符串被视为False,其他字符串为True(list,tuple同理)。

    逻辑运算符的特殊用法

            当结果为A,两个元素X,Y都表示为A时,and 返回后一个元素,or 返回前一个元素。

    (or和and这里是短路逻辑)

            当结果为A,两个元素X,Y不都表示为A时,and和or都返回和结果相同的元素。

    非返回与元素X不相同的bool值

    成员运算符:是否在组内:in,是否不在组内:not in

    返回值为bool类型。

    成员运算符的使用方法

    str,list,tuple,set,dict都可以使用成员运算符。

    字典的特殊用法( 字典的成员关系在key上 )

    身份运算符:是否是:is,是否不是:is not

    身份运算符比较的是两个对象在内存中的地址,关系运算符(==)比较的是两个对象的数值。

    身份运算符的深入理解 集合无序,==为True。id 不同,is为False 元组有序,==为False。id同样不同,is为False

    对象的三特征:值,身份(id),类型(type),Python中一切皆为对象。

    判断数据类型

    其他判断类型的方法:isinstance(变量,类型)

    isinstance的特殊用法(判断变量类型是否在类型元组内)

    type不能判断对象的子类属于哪个类型,而isinstance可以。

    位运算符:按位与:&,按位或:|,按位异或:^,按位取反:~,左移动:<<,右移动:>>

    用法:把数字当作二进制数进行运算。

    a的二进制10,b的二进制11,按位与后为10。

    按位或,按位异或同理。

    按位取反原理:计算机中是用补码存储的,详细计算方法请自行百度。

    左移和右移的基本用法

    相关文章

      网友评论

        本文标题:4、变量与运算符

        本文链接:https://www.haomeiwen.com/subject/usdskqtx.html