Python之基础篇

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python之基础篇相关的知识,希望对你有一定的参考价值。

基础篇之三:

一,数据类型之set.

总结:set无序,不重复。

1,创建set:

s = {1,2,3}
print(s,type(s))
list1 = [1,2,3]
s1=(list1)
print(s1,type(list1))
s2 = set()
print(s2,type(s2))
{1, 2, 3} <class ‘set‘>
[1, 2, 3] <class ‘list‘>
set() <class ‘set‘>

2,set方法

1,添加元素:(s.add)

2,清除元素:(s.clear)

3,s1中存在,s2中不存在:(s3=s1.difference(s2))

4,移除元素并不报错:(s.discard())注:删除的元素不在集合里也不会报错

5,移除并报错:(s.remove())注:删除的元素不在集合里会报错

6,移除某个元素,且随机移除:(s.pop)

7,取交集:(s.intersection)

8,取并集:(s.union)

#实例:
s = {1,2,3,4,5}
s.add(123)#1,添加元素.add
print(s)
#显示结果:
{1, 2, 3, 4, 5, 123}
02:清除元素 .clear
s = {1,2,3,4,5}
s.clear()
print(s)
#显示结果:
set()
#03:s1中存在,s2中不存在:
s1 = {11,22,33}
s2 = {22,33,44}
s3=s1.difference(s2)
print(s3)
#显示结果:
{11}
#04:移除指定元素不报错
s = {33,4,55,66}
s.discard(66)  #移除指定元素 b不报错
print(s)
#显示结果:
{22,4,55}
#06:取交集:
s1={11,22,33,44}
s2={33,44,55}
#s.intersection()#取交集
s3= s1.intersection(s2)
print(s3)
#显示结果:
{33,44}
#07:取并集
s1={11,22,33,44}
s2={33,44,55}
# set.union()#取并集
s3= s1.union(s2)
print(s3)
#显示结果:
{33,22,55,11,44}
#08:instersection_updete
s1 = {11,22,33,44,55}
s2 = {11,22,33,44}
s1.intersection_update(s2)
print(s1)
#显示结果:
{33, 11, 44, 22}
#09集合issubset和issuperset的使用
s1 = {11,22,33,44,55}
s2 = {11,22,33,44}
s3 = {66,77,88}
s4 = s2.issubset(s1)
s5 = s1.issuperset(s2)
print(s4)
print(s5)
#显示结果:
True
True

二:集合的应用:

CMDB

old_dict = {
    "#1":8,
    "#2":4,
    "#4":2,
}
new_dict = {
    "#1":4,
    "#2":4,
    "#3":2,
}
 
renew_dict = {
    "#1":4,
    "#2":4,
    "#3":2,
}

思路:

应该删除哪几个槽位:old中存在的new不存在  old.difference(new)
应该更新哪几个槽位:new中存在old中不存在  new.difference(old)
应该增加哪几个槽位:old和new中都存在      old.intersection(new)
old:  new:  第一步:将第二步:更新old_dict存在,new不存在
old_keys = old_dict.keys()
new_keys = new_dict.keys()
old_set = (old_keys)
new_set = (new_keys)
remove_set = old_set.difference(new_set)
new中存在,old中不存在
remove_set = new_set.difference(old_set)
new和old中都存在
update_set = old_set.intersection(new_set)

代码:

old_keys = old_dict.keys()
old_set = set(old_keys)
new_keys = new_dict.keys()
new_set = set(new_keys)
print(new_set)
print(old_set)
 
remove_set = old_set.difference(new_set)
add_set = new_set.difference(old_set)
update_set = new_set.intersection(old_set)
print(remove_set)
print(add_set)
print(update_set)

三:函数

函数:自定义函数与内置函数.

函数:

1,def关键字,创建函数。

2,函数名 函数的名称,日后根据函数名调用函数

3,参数 为函数体提供数据

4,函数体 函数中进行一系列的逻辑计算,如:发送邮件、计算出 [11,22,38,888,2]中的最大数等...

5,返回值 当函数执行完毕后,可以给调用者返回数据。

例子:

def 函数名(参数):
     
    ...
    函数体
    ...
    return

返回值:函数是一个功能块,该功能到底执行成功与否,需要通过返回值来告知调用者。

def 发送短信():
     
    发送短信的代码...
 
    if 发送成功:
        return True
    else:
        return False
 
 
while True:
     
    # 每次执行发送短信函数,都会将返回值自动赋值给result
    # 之后,可以根据result来写日志,或重发等操作
 
    result = 发送短信()
    if result == False:
        记录日志,短信发送失败...

参数:

#函数的基本参数

#1,形式参数

#2,实际参数

#3,默认参数   必须放在参数列表末尾

#4,指定参数

#5,动态参数   *   **  args   kwargs

# ######### 定义函数 #########

# name 叫做函数func的形式参数,简称:形参
def func(name):
    print(name)

# ######### 执行函数 #########
#  ‘anka‘ 叫做函数func的实际参数,简称:实参
func("anka")
def func(name, age = 18):
    print("%s:%s" %(name,age))

# 指定参数
func(‘anka‘, 19)
# 使用默认参数
func(‘leo‘)

注:默认参数需要放在参数列表最后

默认参数
#显示结果:
anka:19
leo:18
ef func(*args):

    print(args)


# 执行方式一
func(11,33,4,4454,5)

# 执行方式二
li = [11,2,2,3,3,4,54]
func(*li)

#动态参数一
#显示结果:
(11, 33, 4, 4454, 5)
(11, 2, 2, 3, 3, 4, 54)

指定函数:

#指定参数:即指定将实参赋值给哪个形参,此时可以不按照顺序来写


本文出自 “小虫的快乐” 博客,请务必保留此出处http://bughapply.blog.51cto.com/744579/1795455

以上是关于Python之基础篇的主要内容,如果未能解决你的问题,请参考以下文章

python之基础篇——类与面向对象

python3之Django基础篇

Python之基础开始篇

python基础篇之面向对象

Python基础知识之二

“随机更新的Python入门笔记”之排序基础篇