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×tamp=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×tamp=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.
网友评论