阅读文本大概需要 6.6 分钟
写在前面
新的一周开始了,昨天故事也听了,酒也喝了,希望能对您有所帮助。在开始之前先提个建议:在每周的周末大家都可以给自己充波电,出去和家人、好友一起玩玩走走,看一篇心灵鸡汤、一部励志电影或一些搞笑的视频也行。懂得如何在这个焦躁的时代为自己减压充电,毕竟人还是需要鼓励的。
Mark 昨天下午就去打了一场酣畅淋漓的篮球,虽然很累但是心情很舒畅,今天一早起来精力充沛,准备以一种更加饱满的状态为大家带来今天的分享。
对了,再插个题外话。这两天篮球的东西部决赛是不是很精彩呢。看了今天的东部抢七决赛,我想替广大球友说一句:“三旬老汉,牛逼!” 。还有一个好消息,明天 Mark 要去休斯顿和周琦一起看西部抢七决赛,有上车的吗?(机票钱我出,好吧)
所以,在这里喜欢篮球的小伙伴们可以和 Mark 加个好友(要是还喜欢编程就更好了),我们可以一起聊球看比赛(学习Python),说不定日后相遇还能切磋一下呢。
Python
接下来我们正式开始Python的学习。关于 Python 的学习在这里还是想要向大家解释一下,因为每个人的学习情况、编程水平不同,可能是编程大佬,也可能是入门小白,所以 Mark 在这里提个建议:
您如果学习的进度已经赶超 Mark 更新的速度了,您可以每日抽上三分钟,以一种复习的状态去回顾今天所介绍的知识;如果是刚入门,可以认真学习一下 Mark 今日分享的知识,要学以致用,勿要走马观花。
既然是做技术公号,就要保证所更新内容是一个体系框架,从基础到进阶循序渐进,希望大家多多支持,给 Mark 一点时间。Mark 不够优秀,但会保证足够努力,用心为大家做好每一篇分享。
今天要介绍的知识主要是是关于函数的,因为之前忘记 set 的介绍了,在这里先给大家补充下,之后大家记得把 list、tuple、dict、set 四种数据结构的相同与区别详细做个笔记。好了,我们开始吧。
1
代码块与笔记
Set
1
Set 简介
set 类似于 dict,是一组 key 的集合,不存储 value , 本质是无序和无重复元素的集合,并且元素是不可变对象
2
常用操作
创建 set 集合
1
# 自动过滤重复元素
s1 = {1,"A", (2,3),1}
print(s1)#
# 使用 set 函数
l1 = [1,2,3,4]# list
s1 = set(l1)
t1 = (1,2,3,4)# tuple
s1 = set(t1)
print(s1)#
# 只存储key,不存储value
s1 = set({"Iu":98,"Mark":98})
print(s1)# {'Mark', 'Iu'}
增删元素
2
s1 = set((1,2,3))
# set的元素不能是列表,因为列表是可变的
# s1.add([4, 5])
# set的元素不能是字典,因为字典是可变的
# s1.add({"Tom": 100})
s1.add((4,5))
#
print(s1)
# 插入整个list tuple 字符串,打碎插入
s1.update([6,7])
s1.update((8,9))
s1.update('Iu')
# 无序
print(s1)
# 删除对应元素,无索引
s1.remove((4,5))
#
print(s1)
交并集
3
# set可以做数学意义上的交集、并集等操作
s1 = set((1,2,3))
s2 = set((3,4,5))
# 取交集,得到一个新的set
print(s1 & s2)#
# 取并集
print(s1 | s2 )#
互相转换
4
# set 与 list、tuple 数据结构之间的相互转换
# list --> set
l1 = [1,2,3,4]
s1 = set(l1)
# tuple --> set
t1 = (1,2,3,4)
s1 = set(t1)
# set --> list
l1 = list(s1)
# set --> tuple
t1 = tuple(s1)
小练习
5
# 去掉list里的重复元素
l = [1,2,3,4,1,2,3]
s = set(l)
l = list(s)
print(l)# [1, 2, 3, 4,]
函数
1
函数介绍
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段,本质是对功能的封装
优点:简化代码结构,增加了代码的复用度
分类:内置函数:print() 用户自定义函数 myPrint()
2
常用操作
内置函数
1
# 常见的一些内置函数
input("input()是内置函数")
a, b =-1,2
print(abs(a))
print(max(a, b))
print(pow(2,5))# 幂 2的5次方
print(round(5.9,2))# 四舍五入,保留2位
s ="Mark"
print(len(s))
自定义函数
2
# 无参无返回值的函数
defprint1():
print("To be a better man !")
# 函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回
# return 等价于 return None 表示返回值为 None 也可以省略
return
print1()
# 有参无返回值的函数
# 形参:本质上为变量 参数顺序传递,个数对应
defprint2(name, age):
print(name, age)
# 实参:本质是值
print2("Mark",18)
# 有参有返回值的函数
defsum1(a, b):
# return语句结束函数,返回信息
returna + b
# 不会被执行
print("我想被打印")
sum1 = sum1(1,2)
print(sum1)
空函数
3
# pass语句什么都不做,那有什么用?
# 实际上pass可以用来作为占位符,比如现在还没想好怎么写函数的代码,
# 就可以先放一个pass,让代码能运行起来。
defnop():
pass
默认参数
4
# 幂函数,一般进行平方的次数比较多,所以可以默认将幂设为 2 ,一般放在最后
def_power(x, n=2):
s =1
whilen >:
n -=1
s = s * x
returns
print(_power(5))# 25
print(_power(4,3))# 64
关键字参数
5
# 关键字参数,传参顺序可以改变
defprint2(name, age):
print(name, age)
print2(age=26, name="Iu")# Iu 26
可变参数
6
# args为元组类型,包含多个参数
deff(name, *args):
print(name)
print(args)# ('Mark', 'Tom')
f("Iu","Mark","Tom")
def_sum(*l):
_sum =
foriinl:
_sum += i
return_sum
print(_sum(1,2,3,4))# 10
# **kwargs 为字典类型,包含多个参数
deff(**kwargs):
print(kwargs)
f(x=1, y=2, z=3)# {'x': 1, 'y': 2, 'z': 3}
# 接受任意参数
deff(*args, **kwargs):
pass
2
练习题
今天的练习要求有两点,一是把之前分享的4种数据结构的相同与区别之处做详细笔记;二是搞懂今天介绍的函数知识,并把以前写过的功能用函数封装一下,明天我们继续函数的学习。
好了,今天的分享就到这了,觉得写得不错的,点赞转发支持下。
点赞转发、留言鼓励是对于原创作者最大的鼓励,您的一次点赞、留言也许在您看来没有什么,可是在 Mark看 来那是大家对自己的肯定与鼓励。未来,我们一起努力!
原创不易,感谢分享
「点赞是一种态度」
领取专属 10元无门槛券
私享最新 技术干货