鍖椾含鐧界櫆椋庢不鐤椾环閽? http://m.39.net/pf/bdfyy/
作者:FatosMorina
编译:ronghuaiyang
导读接上一篇,34~66条。
34.Strings和tuples是不可修改的这一点在上一点中已经提到过,但我想强调一下,因为这是非常重要的。
name="Fatos"print(id(name))#name="fatos"print(id(name))#
my_tuple=(1,2,3,4)print(id(my_tuple))#my_tuple=(a,b)print(id(my_tuple))#.Lists,sets,和dictionaries是不可修改的
这意味着我们可以在不丢失绑定的情况下更改对象:
cities=["Munich","Zurich","London"]print(id(cities))#cities.append("Berlin")print(id(cities))#
下面是另一个集合的例子:
my_set={1,2,3,4}print(id(my_set))#my_set.add(5)print(id(my_set))#36.你可以把集合转换为不可修改的集合
这样,你就不能再修改它了:
my_set=frozenset([a,b,c,d])my_set.add("a")
如果你这样做,就会抛出一个错误:
AttributeError:frozensetobjecthasnoattributeadd37."if-elif"块可以在没有else块的情况下存在
但是,如果前面没有“if”,“elif”就不能独立存在:
defcheck_number(number):ifnumber0:return"Positive"elifnumber==0:return"Zero"return"Negative"print(check_number(1))#Positive38.使用sorted()查看2个字符串是否是相同的字母但次序不一样
defcheck_if_anagram(first_word,second_word):first_word=first_word.lower()second_word=second_word.lower()returnsorted(first_word)==sorted(second_word)print(check_if_anagram("testinG","Testing"))#Trueprint(check_if_anagram("Here","Rehe"))#Trueprint(check_if_anagram("Know","Now"))#False39.获取一个字符的Unicode值
print(ord("A"))#65print(ord("B"))#66print(ord("C"))#66print(ord("a"))#.一行代码获取字典中所有的keys
dictionary={"a":1,"b":2,"c":3}keys=[ifori,_indictionary.items()]print(keys)#[a,b,c]41.一行代码获取字典中所有的值
dictionary={"a":1,"b":2,"c":3}values=[ifor_,iindictionary.items()]print(values)#[1,2,3]42.交换字典中的keys和values
dictionary={"a":1,"b":2,"c":3}reversed_dictionary={j:ifori,jindictionary.items()}print(reversed)#{1:a,2:b,3:c}43.你可以将布尔型值转换为数字
print(int(False))#0print(float(True))#1..你可以算术操作中使用布尔值
“False”是0,而“True”是1。
x=10y=12result=(x-False)/(y*True)print(result)#0..你可以将任何数据的类型转换为布尔值
print(bool(.0))#Falseprint(bool(3))#Trueprint(bool("-"))#Trueprint(bool("string"))#Trueprint(bool(""))#True46.将一个值转换为复数
print(