python基础——运算符,数据变量,位运算

这是本人在学习中的一些记录,只是针对自己的情况做记录,起到回顾,提醒的作用,所以这个对某些内容不是全面的。

1.运算符

1.1 整除,幂

整除

print (8//3) #结果为2

print(3**4)#3的4次幂 结果为81

1.2 三元运算符

A=5
B=8
BIGGER = A if A > B else B 

这就是三元运算符,对它的理解便是如果A>B,便取A的值,否则便取B的值。

A if A > B else B

1.3 is(is not) 和 ==(!=)的区别

a = "is"
b = "is"
print(a is b) #True
print(a == b) #True

表面上两种运算符号是对内容是否一致的判断,其实is和is not 是对内容地址是否一致的判断,而 == 和 ! =是内容本身的判断。
当对比的变量是地址不可变的类型(如 str)时,结果是相同的。如下:

a = "is"
b = "is"
print(a is b, a == b) #True True

当对比的变量是地址可变的类型(如 list,dict)时,结果则是不相同的。如下:

a = [1235]
b = [1235]
print(a is b, a == b) #False True

1.4 类型转换和类型判断

类型的转换:待转换的类型(变量),如int(5.2),str(10)。

print(int(5.2),str(10)) # 5  '10'

类型的判断,需要使用函数isinstance(object, classinfo) 判断一个对象是否是一个已知的类型。

isinstance(10,int)  #判断10是否是整型变量

1.5 print() 函数

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
  • 将对象以字符串表示的方式格式化输出到流文件对象file里。其中所有非关键字参数都按str()方式进行转换为字符串输出;
  • 关键字参数sep是实现分隔符,比如多个参数输出时想要输出中间的分隔字符;
  • 关键字参数end是输出结束时的字符,默认是换行符\n;
  • 关键字参数file是定义流输出的文件,可以是标准的系统输出sys.stdout,也可以重定义为别的文件;
  • 关键字参数flush是立即把内容输出到流文件,不作缓存。

2.位运算——异或运算——^

异或运算的性质:

A ^ B ^ A =A ^ A ^ B = B ^ A ^ A = B
A ^ B ^ A =A ^ ( B ^ A ) = B

因为自身与自身异或运算得到0,而某值与0异或运算不改变它的值,所以最终得到B的值。
利用这个性质,可以完成这样的一个练习——给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

import numpy as np
a= np.array([2,1,2,5,5,7,7,13,13])
b=0
for i in range(len(a)):
    b ^=  a[i]
print(b)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值