欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

学习python中的一些tips

程序员文章站 2022-07-02 18:46:17
...
  1. 两数交换
a, b = b, a
  1. 格式转换
int()
bool()
str()
list()
tuple()
dict()
ord()    # 返回对应字符的ASCII码
chr()    # 表示对应ASCII码的字符
  1. 用四个空格缩进取代{}
  2. pass作为占位符
  3. 多行代码
total = item_one + \
        item_two + \
        item_three
  1. print的用法
"I love {0}, {1}, and {2}".format("eggs", "bacon", "sausage")
print("Splitting", total_candies, "candy" if total_candies == 1 else "candies")
  1. 定义只有一个元素的tuple
t1(1,)
t2(1)    # t2会被定义为int
  1. 多个变量赋值
a = b = c = 1
a, b, c = 1, 2, "john"
  1. 父类继承 type()和isinstance()区别
  class A:  
  ...  pass  ...  
  class B(A):  
  ...  pass  ...  
  isinstance(A(), A) >>> True  
  type(A())  == A >>> False  
  isinstance(B(), A) >>> True  
  type(B())  == A >>> False

type()不会认为子类是一种父类类型。
isinstance()会认为子类是一种父类类型。

  1. 关于python中b=a与b=a[:]的区别

    前者传递引用,两者指向同一个对象
    后者是拷贝,创建一个新的与a完全相同的对象,但不与a指向同一对象

  2. range() (原因待补充)

range(0) == range(-1) ->True
  1. 创建字典时如果同一个键被赋值两次,访问时将以后一个为准
    一般不允许有重复键

  2. 参数传递-可变对象和不可变对象
    strings tuples numbers作为函数参数传递时自身不会被更改
    list dict等作为函数参数传递时 会受副作用而改变