易忘python基础知识回顾

本文深入探讨Python编程的多个核心技巧,包括列表操作、字典遍历、函数参数管理、类与继承、错误处理等,提供了实用的代码示例,帮助读者提升Python编程能力。

1. 列表方法sort与内置函数sorted:
都按字母由a-z排序,但是sort方法若传递参数sort(reverse=true)可进行逆序排列;
cars.sort(reverse=True) == cars.reverse()
2.列表的删除元素操作有三个:
首先方法pop,
其次内置函数del、remove,其中remove是对字符串操作remove(‘duci’)
del是对索引进行操作del(list[0]);
3.range()创建的并不是一个列表,而是一个迭代器
若要使用range()创建的列表,则需要加list(range());
4.切片的使用

str = 'abcdefg'
 
print(str[1:])
print(str[:-1])
print(str[-1:])
print(str[::-1])
print(str[::-2])
print(str[:])

结果:


bcdefg
abcdef
g
gfedcba
geca
abcdefg

5.复制列表
如果令两个列表friend_foods=my_foods,
则对my_foods进行添加元素操作时,friends_foods列表也被修改了,因此我们复制列表应该使用切片,
即friends_foods=my_foods[:]
6.删除键值对
del alien[‘points’]
7.遍历字典
for x,y in user.items():
遍历字典会默认遍历所有的键
遍历键:for x in user: == for x in user.keys()
遍历值:for y in user.values()
8.在循环中使用continue
在循环中使用continue意味着不再执行continue下面的语句,进而进行下一轮的循环,一般配合if语句来使用;
9.函数中参数传递包括位置实参,和关键字实参
如果输入参数包含默认值,则定义时可这样
def describe_pet(pet_name, animal_type=‘dog’):
调用时,如果不指定参数animal_type则使用默认dog,即describe_pet(‘hahags’)
若定义describe_pet(pet_name=‘hahags’, animal_type=‘cat’),则将忽略给定的默认值,而使用新的参数;
10.函数如何让实参变得可选
只需将需要变得可选的参数默认定义为空即可,如果是字符串,则‘’,这样在函数内部定义一个if语句,(python认定所有非空字符串为True)判断是否为空
例子:
def get_formatted_name(first,last,middle):
if middle:
进行拼接3元素操作
else:
进行拼接2元素操作

11.传递任意数量的实参

def make_pizza(*toppings):
   		for x in toppings:
   			print(x)

这里*让python创建一个toppings的空元祖,然后将收到的所有值都封装到这个元祖中;
12.传递任意数量关键字实参

*def build_profile(first,last,\*\*user_info):
		profiles={}
		profiles['first_name'] = first
		profiles['last_name']=last
		for keys,values in user_info.items():
			profiles[key]=value
	    	return profile*

调用:
build_profile(‘albert’,‘einstein’, location=‘princeton’, field=‘physics’)
**让python创造一个名为user_info的字典,然后再将输入的关键字实参放入到这个字典中;
13.类中给属性定义默认值

class Dog():
	def __init__(self, make,mode):
		self.make=make
		self.model=model
		self.odometer_reading=0

14.类的继承

#首先将父类Car写在子类的前面
class ElectricCar(Car):
	def __init__(self, make, model, year):
		super().__init__(make, model, year)

#这里的super()相当于将父类中的self.make=make
self.model=model, self.year=year,也可以理解为将父类的方法和属性转移到子类上;

15.当父类的方法与子类方法名相同时,子类的方法覆盖父类的方法
相当于重写父类的方法
注意一个类的属性也可以是一个类,例如一个电动车,它有一个电池battery的属性,因为battery包含的东西太多,所以可以将其重写为类,再赋给ElectricCar的battery属性

16.如果要继承另一个模块中的某一个类
例如car.py中的Car()
则from car import Car 这里类Car后不需要括号

17.python内置函数zip()使用说明

a = [1, 2, 3]
b=['a', 'b', 'c']
list(zip(a,b))
>>[(1, 'a'), (2, 'b'), (3, 'c')]

zip(a,b)将列表a和b的元素按顺序一对儿一对儿封装在一个的元祖中,再将这些元祖存在列表中,zip本身返回的是zip类,可迭代,如果转化为列表,则list()操作即可,相当于range(1,10);

18.对于字符串,有方法str.replace(a, b)
表示用b代替str中的a

19.对列表的元素进行替换,可以使用列表解析

str = ['a', 'b', 'c']
replace_str = [‘d’ if  x=='a'  else x  for x in str]
print(replace_str)

将列表中的a代替为d

20.try…except…else与try…else…finally的区别
try…else是如果有异常则不执行else块
try…finally是不管有没有异常,都会执行finally块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值