美文网首页
python新知

python新知

作者: 爱喝咖啡的小李 | 来源:发表于2020-11-08 23:50 被阅读0次

1.print('%d ** %d = %d'%(a,b,a**b))

2.字符串之后的%后面跟的变量值会替换掉占位符然后输出到终端中

3.input()写括号时总是忘记

4.print('%.3f英寸'%consequence)-此种形式的输出方法不容易发生结果形式的问题。

5.range(1, 101, 2):可以用来产生1到100的奇数,其中2是步长,即每次数值递增的值。

6.最大公约数和最小公倍数的关系:两个数的乘积等于这两个数的最大公约数与最小公倍数的乘积。假设有两个数是a 、b , 它们的最

大公约数是p , 最小公倍数是q 。那么存在这样的关系式: ab=pq

7.     # 在参数名前面的*表示args是一个可变参数defadd(*args):total=0forvalinargs:total+=valreturntotal# 在调用add函数时可以传入0个或多个参数print(add())print(add(1))print(add(1,2))print(add(1,2,3))print(add(1,3,5,7,9))

8.if__name__=='__main__':

为了不让别人一导入你的模块

就直接运行整个脚本

那么使用

 if __name__ == '__main__' 

其中的代码就不会在被 import 时被执行

解释来源:https://mp.weixin.qq.com/s?src=11&timestamp=1601132249&ver=2608&signature=VHYeUl*B659zrQTyEdVLp6s4J2nY2tPHwD-p*oq3h3Q0P7TnD6WX*kQLchL3tLa5MI6hR9yqhQXdVRyzRH5b2CWvendaE4O1FqmYgSTTWWbkBbpsPds7vMLi1mhVpKD4&new=1

9.格式化输出字符串

我们之前讲过,可以用下面的方式来格式化输出字符串。

a,b=5,10

print('%d * %d = %d'%(a,b,a*b))

当然,我们也可以用字符串提供的方法来完成字符串的格式,代码如下所示。

a,b=5,10

print('{0} * {1} = {2}'.format(a,b,a*b))

Python 3.6以后,格式化字符串还有更为简洁的书写方式,就是在字符串前加上字母f,我们可以使用下面的语法糖来简化上面的代码。

a,b=5,10

print(f'{a}*{b}={a*b}')

10.# 通过enumerate函数处理列表之后再遍历可以同时获得元素索引和值forindex,eleminenumerate(list1):print(index,elem)

11.可以使用反向切片来获取逆转的列表

# 可以通过反向切片操作来获得倒转后的列表的拷贝

fruits5=fruits[::-1]

12.列表排序:

list3 = sorted(list1, reverse=True)#排序倒转,首字母的倒序排序

list4 = sorted(list1, key=len)#利用字符串的长度进行排序

13.对yield的详解(对生成器的详解)

https://blog.csdn.net/mieleizhi0522/article/details/82142856

14.

list:列表

truple:元组(元组中数据无法修改、删除)

set:集合

15:字典的使用:

items2 = dict(zip(['a', 'b', 'c'], '123'))

#{'a': '1', 'b': '2', 'c': '3'}

# 创建字典的推导式语法

items3 = {num: num ** 2 for num in range(1, 10)}

print(items1, items2, items3)

# 通过键可以获取字典中对应的值

#{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}

16.将字符串居中。

# 将字符串以指定的宽度居中并在两侧填充指定的字符

print(str1.center(50,'*'))

# 将字符串以指定的宽度靠右放置左侧填充指定的字符

print(str1.rjust(50,' '))

17.

pos = filename.rfind('.')

#rfind函数找到的位置为索引(index)的位置,即filename[pos]为'.'。

18.python中如何定义二维数组

https://mp.weixin.qq.com/s?src=11&timestamp=1601634702&ver=2620&signature=LMnbFFOcjrHB-eyKLkH0Gw8SdgF82WuRy0-KtS6*x5U5JJikumxU2uVsQNr81rEeudXaUjNqmlZycF5dXqsNX865e1m2qUh9vYIwEJkA4r06KnxAZf*-HzTDjVTQ2CGz&new=1

19. print(yh[row][col],end='\t')

        print()

#end='\t'为不换行的意思

#end=' '意思是末尾不换行,加空格。

而在最后for循环中print()表示每一次循环完成后都换行

20.python打印杨辉三角:

https://blog.csdn.net/chenlinan_2017/article/details/81590571

21.% 02d,和% 2d差不多,只不过左边补0

%.2d 输出整形时最少输出2位,如不够前面以0占位。如输出2时变成02。200时只输出200;输出浮点型时(%.2f)小数点后强制2位输出

return f'{self.hour:0>2d}:{self.min:0>2d}:{self.sec:0>2d}'

使用f时 ::0>2d与%02d的效果相同

22.使用random模块的sample函数来实现从列表中选择不重复的n个元素。

23.def__repr__(self):

returnf'{self.name}:{self.age}'

#在类中使用__repr__魔术方法来显示所赋予对象的属性,打印时看到的时使用对象的自定义信息,而非对象的地址。

24.property装饰器为“私有”属性提供读取和修改的方法

#使用__name来限制用户对数据的访问

def

__init__(self,name,age):

self.__name=name   self.__age=age

25.装饰器:对象方法、类方法、静态方法都可以通过类名.方法名的方式来调用

类方法(classmethod):对于类方法,第一个参数必须是类对象,一般以cls作为第一个参数。,且在调用时只能使用类对象去访问。

静态方法(statemethod):需要通过装饰器@staticmethod来进行修饰,静态方法既不需要传递类对象也不需要传递实例对象(形参没有self/cls)。

静态方法 也能够通过 实例对象 和 类对象 去访问。

26.子类的初始化方法中,我们可以通过super().__init__()来调用父类初始化方法

27.运算符重载,Python中要实现对<运算符的重载,需要在类中添加一个名为__lt__的魔术方法。很显然,魔术方法__lt__中的lt是英文单词“less than”的缩写,以此类推,魔术方法__gt__对应>运算符,魔术方法__le__对应<=运算符,__ge__对应>=运算符,__eq__对应==运算符,__ne__对应!=运算符。

28.21点游戏的实现:

一、https://zhuanlan.zhihu.com/p/83620775

二、https://blog.csdn.net/weixin_42661269/article/details/102645471

29.Python中没有定义抽象类的关键字,但是可以通过abc模块中名为ABCMeta 的元类来定义抽象类。对于暂时无法实现的方法,我们可以使用abstractmethod装饰器将其声明为抽象方法,所谓抽象方法就是只有声明没有实现的方法声明这个方法是为了让子类去重写这个方法

30.命名关键字参数(*):必须传入参数名,这和位置参数不同。如果没有传入参数名,调用将报错。关键字参数(**    ):可传入多个参数名不同的参数。

31.高阶函数:filter和map函数就是高阶函数,前者可以实现对序列中元素的过滤,后者可以实现对序列中元素的映射;

Lambda函数(匿名函数)!!的关键字是lambda,后面跟函数的参数,如果有多个参数用逗号进行分隔;冒号后面的部分就是函数的执行体,通常是一个表达式,表达式的运算结果就是Lambda函数的返回值,不需要写return 关键字。

32.

相关文章

网友评论

      本文标题:python新知

      本文链接:https://www.haomeiwen.com/subject/aebvyktx.html