1.布尔值为False的值
b = ""
b = None
b = ()
b = []
b = {}
b = False
b = 0
print(b, bool(b))
2.计算一个范围内,既能被5除,又能被7除的数的个数,和所有这些数的和
# 循环写法
def func(start, end):
ret = []
cnt = 0
sum = 0
while start <= end:
if (start%5 == 0 and start%6 == 0):
cnt += 1
sum += start
print(start)
start += 1
ret.append(cnt)
ret.append(sum)
return ret
res = func(25,90)
print(res)
# 递归写法
def func(start, end, a=0, b=0):
if start % 5==0 and start % 6 ==0:
a += 1
b += start
if start == end:
return a, b
res = func(start+1, end, a, b)
return res
v = func(30,90)
print(v)
3. 函数的默认返回值是None
4. 三元运算书写格式: 变量 = 值一 if条件一 else 值二
5. 通过id()函数查看对象内存地址
6. 判断字符串中大写,小写字母,数字的个数
dic = {"upper":0, "lower":0, "digit":0}
s = "ABcde1234"
for i in s:
if i.isupper():
dic["upper"] = dic.get("upper")+1
if i.islower():
dic["lower"] = dic.get("lower") + 1
if i.isnumeric():
dic["digit"] = dic.get("digit") + 1
print(dic)
7. 简单叙述python函数的参数类型:
位置参数: 按形参的位置传入,也就是普通参数.
关键字参数 **kwargs:
默认参数: 形参直接指定默认值的参数.
可变长参数: *args, ,一个星可以接收没有位置参数的实参或列表,元祖参数。 两个星可以接收关键字参数,和字典格式.
可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。
上图转载:https://www.cnblogs.com/Commence/p/5578215.html
# 错误的写法,两个星的参数必须放到一个星的参数的后面
#def func(**x, *y):
# print(x,y)
8. rang函数在3.x版本和2.7版本的不同
3.x: range不会生成值,只有用的时候才会生成。
2.7: range会直接生成一个列表,值已经生成.
9. 利用with实现同时打开两个文件,一个文件读,一个文件写
with open("三国人物", "r", encoding="utf-8") as rd, open("new","w",encoding="utf-8") as wt:
wt.write(rd.read())