---恢复内容开始---

一、数据类型及变量总结

1、可变与不可变 修改变量的值,id可不可变

可变:id不变   列表,字典

不可变:id变了  字符串,数字,元祖

2、访问顺序

直接访问:数字

顺序访问(索引):字符串 列表 元祖

映射访问:字典

字典比列表速度快,但是占内存大

3、存放元素个数

容器类型:列表 元祖  字典

原子类型:数字  字符串

二、集合定义基本操作方法set

定义:不同元素组成的集合,是一组无序的,元素类型是不可变类型(数据字符串元祖)

s={1,2,3,33,8,9}

s=set{'hello'}                     输出s    {'o','e','l','h'}

1.集合的内置方法

s={1,2,3,4,5,6}

1.添加  adds.add('s')s.add('3')s.add(3)print(s)

3.清空clears.clear()print(s)

4.复制s1=s.copy()

5.随机删pops.pop()

6.指定删除remove discards.remove('sb')s.remove('hellol') #删除元素不存在会报错s.discard('sbbbb')#删除元素不存在不会报错print(s)

2.集合的关系运算交叉并集

有一个笨方法

python_l=['lcg','szw','zjw']
linux_l=['lcg','szw']

python_and_linux_l=[]for p_name in python_l:    if p_name in linux_l:        python_and_linux_l.append(p_name)

print(python_and_linux_l)

python_l=['lcg','szw','zjw','lcg']linux_l=['lcg','szw','sb']p_s=set(python_l)l_s=set(linux_l
1.求交集&print(p_s,l_s)print(p_s.intersection(l_s))print(p_s&l_s)

2.求并集|
print(p_s.union(l_s))print(p_s|l_s)

3.差集print('差集',p_s-l_s)print(p_s.difference(l_s))print('差集',l_s-p_s)print(l_s.difference(p_s))

4.交叉补集^print('交叉补集',p_s.symmetric_difference(l_s))print('交叉补集',p_s^l_s)

python_l=['lcg','szw','zjw','lcg']linux_l=['lcg','szw','sb']p_s=set(python_l)l_s=set(linux_l)print(p_s,l_s)print('差集',p_s-l_s)p_s=p_s-l_sp_s.difference_update(l_s)print(p_s)

5.isdisjoint:如果s1与s2做交集运算,如果没有交集,就返回Trues1={1,2}s2={2,3,5}print(s1.isdisjoint(s2))

6.判断子集父级issubset  issupersetissubset:s1<=s2s1={1,2}s2={1,2,3}print(s1.issubset(s2))#s1 是s2 的子集print(s2.issubset(s1))#False

issuperset:s1>=s2print(s2.issuperset(s1))#s1 是s2 的父集

7.更新updates1={1,2}s2={1,2,3}s1.update(s2) #更新多个值

s1.add(1,2,3,4) #更新一个值s1.union(s2) #不更新

print(s1)

8.frozenset 定义不可集合s=frozenset('hello')print(s)

不考虑顺序进行列表去重names=['alex','alex','wupeiqi']names=list(set(names))print(names)  

三、百分号字符串拼接

1.%s  万能   %d 数字

msg='i am %s my hobby is %s' % ('lhf','alex')

  print(msg)

msg='i am %s my hobby is %s' % ('lhf',1)msg='i am %s my hobby is %s' % ('lhf',[1,2])print(msg)name='lhf'age=19msg='i am %s my hobby is %s' % (name,age)

2.打印浮点数 percent &.f  .后边的保留几位数字  默认保留六位数字tpl = "percent %.2f" % 99.976234444444444444

3.打印百分比  %%tpl = 'percent %.2f %%' % 99.976234444444444444

4.传字典  tpl = "i am %(name)s age %(age)d" % {"name": "alex", "age": 18}print(tpl)

5.%(names)[+-空格0]占有位数 s+右对齐,正数前加正好,负数前加负号—左对齐,正数前无符号,负数前加负号空格右对齐,正数前加空格,负数前无符号0左对齐,正数前无符号,负数前加负号,0填空白处

msg='i am %(name)+60s my hobby is alex' %{'name':'lhf'}

6.加颜色msg='i am \033[43;1m%(name)+60s\033[0m my hobby is alex' %{'name':'lhf'}

四、format字符串格式化

tpl = "i am {name}, age {age}, really {name}".format(name="seven", age=18)

tpl = "i am {name}, age {age}, really {name}".format(**{"name": "seven", "age": 18})

tpl = "i am {:s}, age {:d}".format(*["seven", 18])tpl = "i am {:s}, age {:d}".format("seven", 18) #["seven", 18]

l=["seven", 18]tpl = "i am {:s}, age {:d}".format('seven',18)print(tpl)

tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%},{}".format(15, 15, 15, 15, 15, 15.87623, 2)print(tpl)

b二进制  o八进制  d 整型 x小写十六进制 X大写十六进制   %百分号

五、函数

def test(x):    '''    2*x+1    :param x:整形数字    :return: 返回计算结果    '''    y=2*x+1    return y

def test():    '''    2*x+1    :param x:整形数字    :return: 返回计算结果    '''    x=3    y=2*x+1    return ya=test()print(a)

过程:就是没有返回值的函数

def test01():    msg = 'test01'    print(msg)


def test(x,y,z):#x=1,y=2,z=3    print(x)    print(y)    print(z)

位置参数,必须一一对应,缺一不行多一也不行test(1,2,3)

关键字参数,无须一一对应,缺一不行多一也不行test(y=1,x=3,z=4)

混合使用的话:位置参数必须在关键字参数左边test(1,y=2,3)#报错test(1,3,y=2)#报错test(1,3,z=2)test(1,3,z=2,y=4)#报错test(z=2,1,3)#报错

默认参数:def handle(x,type='mysql'):    print(x)    print(type)handle('hello')handle('hello',type='sqlite')handle('hello','sqlite')

def install(func1=False,func2=True,func3=True):    pass

参数组:**字典 *列表def test(x,*args):    print(x)    print(args)

test(1,2,3,4,5)        输出args=(2,3,4,5)  当做元祖的方式来处理test(1,{'name':'alex'})test(1,['x','y','z'])    整个列表变成了一个整体放入args里test(1,*['x','y','z'])   元祖方式处理test(1,*('x','y','z'))

def test(x,**kwargs):    print(x)    print(kwargs)test(1,y=2,z=3)test(1,1,2,2,2,2,2,y=2,z=3) 报错test(1,y=2,z=3,z=3)#会报错 :一个参数不能传两个值

def test(x,*args,**kwargs):    print(x)    print(args,args[-1])    print(kwargs,kwargs.get('y'))test(1,1,2,1,1,11,1,x=1,y=2,z=3) #报错

test(1,*[1,2,3],**{'y':1})
 


转载于:https://www.cnblogs.com/wangxiaoyienough/p/9255776.html

python学习day-4 集合与函数相关推荐

  1. Python学习笔记:集合(set)

    Python学习笔记:集合(set) 1.集合概念 集合是互异元素的无序集合.类似于只有键没有值的字典. 2.创建集合 有两种方法创建集合:一个是利用set函数,一个是利用花括号创建集合字面量. 3. ...

  2. SIGIA_4P python学习 列表 字典 集合 面对对象编程 闭包 装饰器 函数式编程 作用域 异常处理

    SIGIA_4P python学习 列表 字典 集合 面对对象编程 闭包 装饰器 函数式编程 作用域 异常处理 本文连接 简介 SIGIA_4P 网址 a. 课程OKR Objectives and ...

  3. 【Python学习笔记】第八章 函数

    [Python学习笔记]第八章 函数 文章目录 [Python学习笔记]第八章 函数 前言 8.1 定义函数 8.2 调用函数 8.2.1 使用位置参数调用函数 8.2.2 使用关键字参数调用函数 8 ...

  4. Python遍历字典、集合与函数

    Python遍历字典.集合与函数 一.遍历字典 代码块 意义 keys() 该⽅法返回字典所有的key values() 该⽅法返回⼀个序列,序列中保存有字典的值 items() 该⽅法会返回字典中所 ...

  5. python学习——函数式编程——高阶函数

    python学习--函数式编程--高阶函数 函数式编程(高阶函数):1:map && reduce; 2 : filter; 3: sorted; ------------------ ...

  6. python学习总结1—高阶函数

    python 高阶函数学习 高阶函数 介绍python 高阶函数的使用方法 map/reduce函数 map函数 利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字. ...

  7. Python学习日志10 - 高阶函数和高级应用

    Python学习日志 RBHGO的主页欢迎关注 温馨提示:创作不易,如有转载,注明出处,感谢配合~ 目录 文章目录 Python学习日志 目录 前言 进入正题 Python学习日志10课 - 高阶函数 ...

  8. python学习笔记(五)——函数基础和函数参数

    学函数的目的是什么?函数是做什么的? 学函数目的: ①不学函数容易造成:1.复杂度增大:2.组织结构不够清晰:3.可读性差:4.代码冗余:5.可扩展性差 ②学函数后可以: 1.使用函数可以提高编写的效 ...

  9. Python学习笔记(七)函数的使用

    python中的函数使用较简单,这里列出值得注意的几点: 内嵌函数 例如: # coding: utf-8def foo():def bar():print 'bar() called.'print ...

  10. Python学习-03(集合,文件,编码)

    上周复习: 列表增删改查  元祖是可读列表 字符串操作 字典是无序的,通过key来找值.字典可以嵌套列表和字典 本周内容:集合--文件---字符编码 集合引入: #随机生成20个小于20的数,输出所有 ...

最新文章

  1. angular2初入眼帘之-搭个环境
  2. 设计模式(一)-单例模式
  3. 成功有感之给年轻人的10个忠告
  4. Jmeter之线程组详解
  5. 【多线程】1.条件变量--std::condition_variable
  6. 针对媒体不实报道误导大众--抹黑C#工资垫底
  7. mongodb or and 条件拼凑 Query.And Query.Or
  8. QML工作笔记-界面登录框设置(方便其他控件居中)
  9. OJ1031: 判断点在第几象限
  10. C#LeetCode刷题之#867-转置矩阵(Transpose Matrix)
  11. 数字信号处理——DFT的一些理解
  12. YUV序列下采样以及彩色4:2:0与灰度4:0:0转换---基于matlab实现
  13. [深入Python]Alex Martelli的Borg类
  14. 重拾C++之虚函数和虚基类以及抽象类
  15. gimp 架构_GIMP 2.10正式发布,史无前例的改动
  16. 邮箱服务器满了foxmail,foxmail邮箱的容量满了,应该怎样删除-上海腾讯企业邮箱[foxmail]...
  17. 关于TI公司DSP工程调用DELAY_US()进入非法中断问题的解决
  18. 25 Creative Ways to Promote Your App for Free
  19. 安装docker桌面版(Windows)
  20. 大型互联网支付公司职位--朝阳

热门文章

  1. 前端javascript经典面试题集合(2020年最新)
  2. photoshop cs5快捷键的用法总结
  3. JavaScript算法(实例三)数组排序--冒泡排序 / sort() / reverse() / 比较函数
  4. JavaScript 面向对象编程(三) —— 函数进阶 / 严格模式 / 高阶函数 / 闭包 / 浅拷贝和深拷贝
  5. 入门机器学习(十九)--推荐系统(Recommender Systems)
  6. AC日记——阶乘和 openjudge 1.6 15
  7. HttpUtility.UrlEncode 方法 (String) 对 URL 字符串进行编码 NET Framework 4.6 and 4.5
  8. (转)c++模版:包含模型、显式实例化、分离模型
  9. Windows下Maven 环境配置
  10. Linux下如何从普通用户切换到root用户