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)

指定函数:

#指定参数:即指定将实参赋值给哪个形参,此时可以不按照顺序来写
时间: 2024-10-13 11:58:03

Python之基础篇(三)的相关文章

Python基础篇(三)

元组是序列的一种,与列表的区别是,元组是不能修改的. 元组一般是用圆括号括起来进行定义,如下: >>> (1,2,3)[1:2]     (2,) 如果元组中只有一个元素,元组的表示有些奇怪,末尾需要加上一个逗号: >>> (1,2,3)[1:2]     (2,) >>> 3*(3)      9      >>> 3*(3,)      (3, 3, 3) tuple函数 tuple函数用于将任意类型的序列转换为元组: >&

问道python之基础篇【二】python入门

问道python之基础篇[二] Python入门 1.python的工作过程 python解释器把源代码转换为字节码的中间形式,然后再把它翻译成机器使用的机器语言并运行. 2.pyc文件 2.1.什么是pyc文件 执行python代码时,如果导入了其他的.py文件,那么在执行过程中会自动生成一个与其同名的.pyc文件,该文件就是python解释器编译之后产生的字节码. ps:代码经过编译可以产生字节码:字节码通过反编译也可以得到代码. Pyc文件一般由3个部分组成: 最开始4个字节是一个Maig

问道python之基础篇【一】 认识python

问道python之基础篇[一] 认识python 1.python的简介 1.1.什么是python? Python是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年. Python语法简洁清晰,特色之一是强制用空白符作为语句缩进. Python具有丰富和强大的库.它常被昵称为胶水语言,能够用其他语言制作的各种模块(尤其是C++)很轻松地联结在一起. 1.2.python的特点 简单,易学,免费.开源,高层语言,移植性,

Python学习基础篇第一篇——快速入门(适合初学者)

一.Python学习基础篇第一篇--(快速入门) 建议从Python2.7开始学习,Python2.7可以支持扩展大量的第三方类库,是目前比较成熟的版本 编写代码的软件推荐将python自带的IDLE和PyCharm集成IDE结合起来使用 1.1 Python命令行 Python命令行将以 >>> 开始,比如 >>>print 'Hello World!' 对于验证简单的命令可以在python自带的IDLE中完成  1.2 在Python自带的IDLE写一段小程序 在所

Python入门基础学习 三

Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形,true就相当于1,false相当于0,可以用来计算 类型转换 转换:整数:int();字符串:str();浮点数:float() 转换例子:(图9) 如果用内置函数当变量名,比如str=123,一旦被赋值,再使用这个函数会被报错. type()函数可以明确告诉我们变量类型. isinstance

python 学习之 基础篇三 流程控制

前言: 一. python中有严格的格式缩进,因为其在语法中摒弃了“{}”来包含代码块,使用严格的缩进来体现代码层次所以在编写代码的时候项目组要严格的统一器缩进语法,一个tab按键设置为四个空格来缩进,防止缩进不规范导致的启动失败. 二.在python中变量(标识符)命名和一般的高级语言没有什么不同都推荐使用,字母.下划线.数字命名,其中数字不能作为标识符的开头,python中变量名是区分大小写的(所以可以使用驼峰命名法去命名,也就是英文单词的字母首字母大写其余的小写).以下划线开头的标识符是有

Python学习-基础篇11 前端知识之HTML内容

HTML介绍 Web服务本质 import socket sk = socket.socket() sk.bind(("127.0.0.1", 8080)) sk.listen(5) while True: conn, addr = sk.accept() data = conn.recv(8096) conn.send(b"HTTP/1.1 200 OK\r\n\r\n") conn.secd(b"<h1>Hello world!</h

python之基础篇(五)——数据类型

防伪码:忘情公子著 前面四篇我们已经讲了许多概念方面的东西,从此篇开始,我们将真正开始学习python. 在上一篇中,我们已经说过python有哪些核心数据类型,接下来我们将一一细说这些数据类型. python数据类型之数字类型 python使用5种数字类型:布尔型.整型.长整型.浮点型和复数,所有数字类型均为不可变对象. math模块是python中专门用来实现高级算术运算的模块. 数字支持以下操作: +:加法 -:减法 *:乘法 /:除法 //:截断除法 **:乘方 %:取模 -=:一元减法

Python学习基础篇—文件操作和集合

这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件file.txt: 我们哭了 我们笑着 我们抬头望天空 星星还亮着几颗 我们唱着 时间的歌 才懂得相互拥抱 到底是为了什么 因为我刚好遇见你 留下足迹才美丽 风吹花落泪如雨 因为不想分离 因为刚好遇见你 留下十年的期许 如果再相遇 我想我会记得你 我们哭了 我们笑着 我们抬头望天空 星星还亮着几颗 我们唱着 时间的歌 才懂得相互