Python随笔

  • Python还允许用r''表示字符串内部的字符串默认不转义。
  • 如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用'''...'''的格式表示多行内容。(这种写法也支持r标记不转义)

print('''

content1

content2

content3

''')

  • /除法计算结果是浮点数,即使是两个整数恰好整除。另一种除法是//,称为地板除,两个整数的除法仍然是整数。
>>> 9 / 3
3.0

>>> 10 // 3
3
  • 对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符。

>>> ord('A')
65
>>> ord('中')
20013
>>> chr(66)
'B'
>>> chr(25991)
'文'
  •  encodedecode
>>> "abc".encode("ascii")
b'abc'
>>> "中文".encode("utf-8")
b'\xe4\xb8\xad\xe6\x96\x87'

>>> b'\xe4\xb8\xad\xe6\x96\x87'.decode("utf-8") '中文'

如果bytes中只有一小部分无效的字节,可以传入errors='ignore'忽略错误的字节:
>>> b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore')
'中'

 

  • 要计算str包含多少个字符,可以用len()函数,len()函数计算的是str的字符数,如果换成byteslen()函数就计算字节数。
>>> len('ABC')
3
>>> len('中文')
2

>>> len(b'ABC')
3
>>> len(b'\xe4\xb8\xad\xe6\x96\x87')
6
>>> len('中文'.encode('utf-8'))
6
  •  if语句
if x:
    print('True')

只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False
  • 循环
sum = 0
for val in range(1, 10):
    sum+=val
print("Sum:", sum)    

names = ['Michael', 'Bob', 'Tracy']
for name in names:
    print(name)

 

sum = 0
idx = 0
for val in range(1, 101):
    if val == 10:
        continue
    sum+=val
    idx+=1
    if sum > 1000:
        break

print("Sum:", sum)    
  • 字典dict
dict = {"Name1":12, "Name2":13, "Name3":"mm"}

print(dict["Name3"])

if ("Name1" in dict):
    print(dict["Name1"])
    
if ("Name4" in dict):
    print(dict["Name4"])

print(dict.get("Name"))    #没对应key则返回None
print(dict.get("Name", "没对应key时使用的默认值"))

dict.pop("Name3")

 

  • set
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

要创建一个set,需要提供一个list作为输入集合:

>>> s = set([1, 2, 3])
>>> s
{1, 2, 3}
注意,传入的参数[1, 2, 3]是一个list,而显示的{1, 2, 3}只是告诉你这个set内部有1,2,3这3个元素,显示的顺序也不表示set是有序的。。

重复元素在set中自动被过滤:

>>> s = set([1, 1, 2, 2, 3, 3])
>>> s
{1, 2, 3}
通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果:

>>> s.add(4)
>>> s
{1, 2, 3, 4}
>>> s.add(4)
>>> s
{1, 2, 3, 4}
通过remove(key)方法可以删除元素:

>>> s.remove(4)
>>> s
{1, 2, 3}
set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:

>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
{2, 3}
>>> s1 | s2
{1, 2, 3, 4}

 

posted @ 2018-10-04 22:50  吴筱军  阅读(213)  评论(0编辑  收藏  举报