Python笔记基础篇-Day3

一.  集合 (无序,去重复,关系)
1. 创建集合

test = {"abc","def"}
test = set() #创建空集合
test = set([aa,bb,cc,dd]) #创建集合
2. 集合(set)方法

# add方法
s = set()
s.add(abc)
s.add(abc)
s.add(abc)
print(s)
#==> {abc}
# set不保存重复的项目,当add存在的项目,则不去添加

# 比较方法
# difference方法
s1 = {aa,bb,cc}
s2 = {bb,cc,dd}
diff = s1.difference(s2)
print(diff)
#==> {aa}
# s1对比s2,输出s1中存在且s2不存在的

# symmetric_difference
s1 = {aa,bb,cc}
s2 = {bb,cc,dd}
s = s1.symmetric_difference(s2)
print(s)
#==> {aa, dd}
# s1与s2对比,输出s1与s2互相不存在的值

# difference_update
s1 = {aa,bb,cc}
s2 = {bb,cc,dd}
s = s1.difference_update(s2)
print(s,s1,s2)
#==>None {aa} {cc, dd, bb}
# 此方法并不返回值,所以s值为none,直接将s1中存在s2中不存在值重新赋值给s1

# symmetric_difference_update
s1 = {aa,bb,cc}
s2 = {bb,cc,dd}
s = s1.symmetric_difference_update(s2)
print(s,s1,s2)
#==> None {aa, dd} {cc, dd, bb}
# 同样Update方法不返回值,将s1与s2互相不存在的值重新赋值给s1

# 移除方法
# discard
s1 = {aa,bb,cc}
s1.discard(aa)
s1.discard(dd)
print(s1)
# ==> {cc, bb}
#移除元素方法,移除不存在元素时,不报错

# remove
与discard相同,移除不存在元素,报错
所以建议使用discard

# pop
s1 = {aa,bb,cc}
s = s1.pop()
print(s)
print(s1)
#==> cc {aa,bb}
# 随机移除某个元素,并且获取这个元素

# 交集
# intersection 交集,求两set的交集
s1 = {aa,bb,cc}
s2 = {bb,cc,dd}
s = s1.intersection(s2)
print(s,s1,s2)
#==> {cc, bb} {cc, aa, bb} {cc, dd, bb}

# 并集
# union 并集
s1 = {aa,bb,cc}
s2 = {bb,cc,dd}
s = s1.union(s2)
print(s,s1,s2)
#==> {cc, bb, aa, dd} {cc, aa, bb} {cc, dd, bb}

# set集合可迭代更新
# update方法
s1 = {aa,bb,cc}
s1.update([dd,ff,66])
print(s1)
# ==> {cc, 66, aa, dd, bb, ff}
# Update方法可传入一个可迭代的对象

二.  函数(复用,返回值)

def s1():
print(‘hello world‘)
s1()
#显示:hello world

#函数的参数传入
def s1(name):
print(‘my name is %s‘%name)

s1(‘alax‘)
#显示:my name is alax

#函数的多参数调用(实参与形参相对应)
def s1(name,age,what):
print(‘my name is %s,age is %s, is %s‘%(name,age,what))
s1(‘alax‘,23,‘good man‘)
#显示:my name is alax,age is 23, is good man

#函数的不同位置实参的传入(需要给实参指定对应形参)
def s1(name,age,what):
print(‘my name is %s,age is %s, is %s‘%(name,age,what))

s1(age=18,what=‘good man‘,name=‘alax‘)
#显示:my name is alax,age is 18, is good man

#函数形参的默认值(含有默认值的形参必须放在最后)
def s1(name,age,what=‘good man‘):
print(‘my name is %s,age is %s, is %s‘%(name,age,what))

s1(age=18,name=‘alax‘)
#显示:my name is alax,age is 18, is good man

s1(age=18,what=‘bad man‘,name=‘alax‘)
#显示:s1(age=18,what=‘bad man‘,name=‘alax‘)

#函数的动态参数,会将实参放入元组中
def test(*args):
print(args,type(args))

test(‘abc‘)
#显示(‘abc‘,) <class ‘tuple‘>

#函数的动态参数,传入的实参为一组元素,将li整个列表放入元组中
def test(*args):
print(args,type(args))

li=[aa,bb,cc,de]
test(li)
#显示([aa, bb, cc, de],) <class ‘tuple‘>

#传入带一个*的列表,将li列表中的每个元素放到元组中
def test(*args):
print(args,type(args))

li=[aa,bb,cc,de]
test(*li)
#显示:(aa, bb, cc, de) <class ‘tuple‘>
test(*‘alex‘)
#显示:(‘a‘, ‘l‘, ‘e‘, ‘x‘) <class ‘tuple‘>
#总结:实参前加个‘*’相当于加了个for循环遍历实参的每个元素,并一一放入元组中

#动态参数形参含两个*,将键值对传入,并保存成字典的形式
def f2(**kwargs):
print(kwargs)

f2(n1=‘alex‘,n2=18)
#显示:{‘n1‘: ‘alex‘, ‘n2‘: 18}

dic={‘k1‘:‘v1‘,‘k2‘:‘v2‘}
f2(kk=dic)#{‘kk‘: {‘k1‘: ‘v1‘, ‘k2‘: ‘v2‘}}
#显示{‘kk‘: {‘k1‘: ‘v1‘, ‘k2‘: ‘v2‘}}

#万能参数
def f1(*args,**kwargs):
print(args)
print(kwargs)
f1(aa,bb,cc,dd,ff,k1=‘aa‘,k2=‘bb‘)
#运行结果(aa, bb, cc, dd, 123)
{‘k1‘: ‘aa‘, ‘k2‘: ‘bb‘}

#formate传参方式
#方式1
s1=‘i am {0},age{1}‘.format(‘alex‘,18)
print(s1)
#显示:i am alex,age18

#方式2
s2=‘i am {0},age{1}‘.format(*[‘alex‘,18])#传列表
print(s2)
#显示i am alex,age18

#方式3
s1=‘i am {name}, age{age}‘.format(name=‘alex‘,age=18)#字符串中name与age后面一定要加上name=‘’,age=进行指定
print(s1)
#显示:i am alex, age18

#方式4
dic={‘name‘:‘alex‘,‘age‘:18}
s2=‘i am {name},age{age}‘.format(**dic)#传字典要加**
print(s2)
#显示:i am alex,age18

#传过来的形参可使用方法不能重新赋值 ,建议全局变量名需大写
#传的是引用 不是复制
def f5(a1):
a1.append(‘abc‘)
li=[aa,bb,cc,dd]
f5(li)
#显示:[aa, bb, cc, dd, ‘abc‘]

1 #全局变量,所有的作用域,都可读,对全局变量进行【重新赋值】,需要加上global,特殊:列表,字典,可修改,不可重新赋值
2 def f1():
3 global name#表示name为全局变量
4 name=‘abc‘
5 print(name)
6
7 name=‘de6‘
8 f1()
9 #显示:abc

时间: 2024-10-12 21:35:23

Python笔记基础篇-Day3的相关文章

Python笔记基础篇-Day6

面向过程 VS 面向对象 编程范式编程是 程序 员 用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程 , 一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大路通罗马,实现一个任务的方式有很多种不同的方式, 对这些不同的编程方式的特点进行归纳总结得出来的编程方式类别,即为编程范式. 不同的编程范式本质上代表对各种类型的任务采取的不同的解决问题的思路, 大多数语言只支持一种编程范式,当然也有些语言可以同时支持多种编程范式. 两种最重要的编程范式分别是面向过程

Python笔记基础篇-Day4

一.生成器 生成器generator 如果函数中包含yield语法,那这个函数就会变成生成器,这个yield的主要效果,就是可以使函数中断,并保存中断状态,中断后,代码可以继续往下执行,过一段时间还可以再重新调用这个函数,从上次yield的下一句开始执行. 示例:import timedef consummer(name): print("%s开始吃包子" % name) while True: baozi =yield #yield既可以返回暂停一下,也可以接受send发过来的值,包

Python学习笔记基础篇——总览

Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列表.字典.主文件判断.对象 Python学习笔记——基础篇1[第三周]——set集合 Python学习笔记——基础篇2[第三周]——计数器.有序字典.元组.单(双)向队列.深浅拷贝.函数.装饰器 Python学习笔记——基础篇[第四周]——迭代器&生成器.装饰器.递归.算法.正则表达式 Python

渗透学习笔记--基础篇--sql注入(字符型)

环境:dvwa1.7数据库:mysql前置知识:sql语句(Click me)      在进行sql注入前,我们先熟悉熟悉select语句.一.打开我们的sql终端 二.进入之后可以看到有mysql>我们输入sql语句,即可返回我们想要的结果,注意分号哟!我们使用的dvwa,在我们前几章设置的时候,会在数据库中生成一个dvwa的database:这里我们使用它来进行我们的select 语句:(1)使用dvwa数据库use dvwa;(2)在users表里查询用户名为'admin'的所有信息se

问道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写一段小程序 在所

iOS开发学习笔记:基础篇

iOS开发需要一台Mac电脑.Xcode以及iOS SDK.因为苹果设备都具有自己封闭的环境,所以iOS程序的开发必须在Mac设备上完成(当然,黑苹果应该也是可以的,但就需要花很多的精力去折腾基础环境),Xcode是一个集成开发环境,包括了编辑器.调试.模拟器等等一系列方便开发和部署的工具,iOS SDK则是开发应用所必需,不同的SDK分别对应不同的iOS版本或设备,通常我们需要下载多个iOS SDK以确保我们开发的程序能够在不同版本的iOS上正常运行. 创建新工程 Xcode提供了很多种工程模

C#笔记——基础篇

C#笔记——基础篇 一.入门知识 VS中的常用快捷键 Ctrl+K+D:快速对齐代码 Ctrl+Z:撤销 Ctrl+S:保存(一定要经常保存!) Ctrl+J:快速弹出智能提示 Shift+End .Shift+Home Ctrl+K+C:注释所选代码 Ctrl+K+U:取消对所选代码的注释 F1:转到帮助文档 折叠冗余代码:#Region 和#EndRegion 新建空的  tab键 新增子节点   回车键 新增兄弟节点 F7快捷截图 F8预览 .net/dotnet:一般指.Net Fram