python学习中遇到的小知识点(二)

1.注释
单行注释用#
多行注释用’’’或者”””
2.__name__=='__main__'
if name == 'main’的意思是:当.py文件被直接运行时,if name == 'main’之下的代码块将被运行;当.py文件以模块形式被导入时,if name == 'main’之下的代码块不被运行。
3. 列表、元组、字典的区别
列表——list:类型相同的元素,可以改变元素的值,即可进行增删改查操作。用中括号表示[num1,num2,num3]
元组——tuple:和列表功能相似,但不能改变其元素的值,即不可以进行增删改的操作,只能执行查询操作。用小括号表示(num1,num2,num3)
字典——infor:类型不同的元素,由键值对组成,与列表一样可以进行增删改查。用大括号表示{key1:value1,key2:value2,key3:value3}
列表中的元素可以是元组和字典。
另外,在python中,大部分参数是不可以被修改的,如字符串,数字,元组,而列表和字典中的内容是可以被修改的,所以在字典中,列表和字典是不可以被当作key值的
(转载自CSDN博主「梦特喵」)
4. (x, y) = (y, x)
用于交换两个变量之间的值,注意这里的(x,y)和(y,x)都不是元组。
(x,y)=(y,x) if x>y else (x,y),效果是变量的值交换,最后使得x的值为较小的,y的值为较大的。可以用的从几个数中提取较大的或者较小的数值
5. 面向对象(1):类的方法和属性
类的方法与普通的函数只有一个特别的区别
它们必须有一个额外的第一个参数名称,按照惯例它的名称是self。(也可以是其他的)
self 代表的是类的实例,代表当前对象的地址
类的属性有基本属性和私有属性(即有两个下划线__),私有属性在类外部无法直接进行访问

class Sum:
    #类的基本属性
    i=12345
    #类的私有属性
    __j=54321
    def sum(self,a,b):
        return (a+b)
#实例化类
x=Sum()
#访问类的属性和方法
print("Sum类的属性为",x.i)
print("Sum类的方法为",x.sum(1,2))

6 . isintance(object,classinfo)
isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。
isinstance() 与 type() 区别:
type() 不会认为子类是一种父类类型,不考虑继承关系。
isinstance() 会认为子类是一种父类类型,考虑继承关系。

class A:
    pass
class B(A):
    pass
isinstance(A(), A)    # returns True
type(A()) == A        # returns True
isinstance(B(), A)    # returns True
type(B()) == A        # returns False

7 . python实现依次输入多个变量值
一次输入两个及两个以上的变量的语法(此处以四个变量值为例)
a,b,c,d=map(int,input().split())
8. heapq模块
可以实现以任意顺序添加对象,而进行有序的输出。它包括有heappush()和heappop()方法
heapq.heappush(heap,item):将item,推入heap
heapq.heappop(heap):将heap的最小值pop出heap,heap为空时报IndexError错误
可以对heapq.heapqpush()方法进行重写,例如:
heapq.heappush(heap,(A,B,item)):按照优先级将item,推入heap,优先比较A,当A相同时比较B。
9. __repr__
在Python中有些方法名、属性名的前后都添加了双下划线,这种方法、属性通常都属于Python的特殊方法和特殊属性,开发者可以通过重写这些方法或者直接调用这些方法来实现特殊的功能。
repr()方法是object类提供的方法,而所有的Python类都是object类的子类,因此所有的Python对象都具有__repr__() 方法。
object类提供的__repr__()方法总是返回该对象实现类的“类名+object at + 内存地址 ”值,这个返回值并不能真正实现“自我描述”的功能,因此如果用户需要自定义类能实现“自我描述”的功能,就必须重写__repr__()方法。
(摘自博客网,作者:桃子dev)
10。 访问构造函数内的属性(待确定)
需在被访问的属性前后加“+”号

class Item:
    def __init__(self,name):
        self.name=name
    def __repr__(self):
        return 'Item('+self.name+')'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值