无序的
可变的set() 不可变的frozenset()
add update remove in not in 交集 并集 差集 & set去重
a = set(‘abc’) a实际上是 a b c 三个元素组成的集合
add(‘domain’) a domain b c 四个元素
update(”zhu“) a z domain h b u c 七个元素
remove(”a“) z domain h b u c 六个元素 如果没有会抛异常
a = set(‘abc’)
b = set(‘abd’)
交集 a & b
并集 a|b
差集 a-b
去重
c = [1,1,2,3]
list(set(c)) -> [1,2,3]
print a
/ 除 - x除以y b / a 输出结果 2
// 取整除 - 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0
% 取模 - 返回除法的余数 b % a 输出结果 0
** 幂 - 返回x的y次幂 a**b 为10的20次方, 输出结果 100000000000000000000
成员运算符 in not in
a = 10
b = 20
list = [1, 2, 3, 4, 5 ];
if ( a in list ):
print ""
else:
print ""
身份运算符 比较两个对象的存储单元
is is 是判断两个标识符是不是引用自一个对象 x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
is not is not 是判断两个标识符是不是引用自不同对象 x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。
注: id() 函数用于获取对象内存地址。
is 与 == 区别
is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。
python复合布尔表达式计算采用短路规则
and or
and or 从左到右 and和or 优先级相同
is(是否引用同一个数据对象)
== 比较值是否相等
not 反转boolen值
任何非0和非空(None)值为true,0 或者 None为false
num = 5
if num == 3: # 判断num的值
print 'boss'
elif num == 2:
print 'user'
elif num == 1:
print 'worker'
elif num < 0: # 值小于零时输出
print 'error'
else:
print 'roadman' # 条件均不成立时输出
三元
print 4 if True else 3 不建议
循环语句
while
count = 0
while count < 5:
print count, " is less than 5"
count = count + 1
else:
print count, " is not less than 5"
for
for letter in 'Python': # 第一个实例
print '当前字母 :', letter
fruits = ['banana', 'apple', 'mango']
for fruit in fruits: # 第二个实例
print '当前水果 :', fruit
else:
print ‘meiyoufruit’
备注 :fruit 保留最后一个迭代值
print fruit 为mango
pass 语句
pass是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。
for letter in 'Python':
if letter == 'h':
pass
print '当前字母 :', letter
不可变类型:变量赋值 a=5 后再赋 值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,相当于新生成了a。
可变类型:变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。
python 函数的参数传递
不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。
可变类型:类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响
#如果在函数内部调用 locals(),返回的是所有能在该函数里访问的命名。
#如果在函数内部调用 globals(),返回的是所有在该函数里能访问的全局名字。
global aa
aa = 11
def test():
global aa
aa = 22
return 'dd'
test()
print aa