python基础(1)

1、基础数据类型set的介绍

  与dict,list,tuple相比,set,是一个不可有重复元素的,可修改,可循环,无序的集合。创建方式有两种

a={1,21,3}
b=set("ab")
print(a,b)

  list,str,tuple都可以直接转为set,比如列表

l=[1,2,3,1]
s=set(l)
print(s)

   在set里添加元素

e=set()
se.add(44)
print(se)

  求a集合中存在但是b不存在的方法

a={11,22,33}
b={22,55}
c=a.difference(b)
print(c)
{33, 11}

  求a集合中存在但是b不存在并更新自己的方法

a={11,22,33}
b={22,55}
c=a.difference_update(b)
print(c)
print(a)
None
{33, 11}

  删除元素的方法有两种

a={11,22,33}
a.remove(22)
a.discard(22)
print(a)

  如果要求删除的元素在set没有,remove是会报错的,discard不会,pop为移除,可赋值给其他变量,删除则不行。

  取交集,以及取交集并且把交集更新成自己

a={11,22,33}
b={22,44,55}
c=a.intersection(b)
print(c)
a.intersection_update(b)
print(a)

{22}
{22}

  查看a是否是b的子序列,如果是,返回true否则fales

a={11,22,33}
b={22,44,55}
c=a.issubset(b)
print(c)
False

  是否为父序列

a={11,22,33}
b={22,11}
c=a.issuperset(b)
print(c)
True

   取对称并集

a={11,22,33}
b={22,11,44}
c=a.symmetric_difference(b)
print(c)
{33, 44}

  更新一个新的集合

 

a={11,22}
b={44,55,66}
a.update(b)
print(a)
{66, 11, 44, 22, 55}

 2、三元运算的使用result = 1 if 条件 else 2

a="hello" if 1==1 else "world"
print(a)
hello

3、深浅copy

  由于python内部优化的机制下,int和str无论深浅copy,他们的内存不变,对于字典,列表等,浅拷贝只能拷贝最外边一层,如果有嵌套这也可能会导致拷贝之后内存地址不同,深copy除了最后一层,其余完全copy。

import copy
a=["adc","fff",{"k":"v"}]
b=copy.copy(a)
print(a,b)
print(id(a))
print(id(b))

['adc', 'fff', {'k': 'v'}] ['adc', 'fff', {'k': 'v'}]
18408456
10636296

 4、函数

  在学习函数之前,一直遵循:面向过程编程,即:根据业务逻辑从上到下实现功能,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,也就是将之前实现的代码块复制到现需功能处。

def 函数名(参数):
       
    ...
    函数体
    ...
    返回值

  def:创建函数的关键字

  函数名:就是函数的名字 ,创建之后可以根据函数名调用函数

  函数体:函数的可执行程序

  参数:为函数提供具体的数据,分为形参和实参。

  返回值:函数执行完毕之后给调用者返回的数据。

  传参默认是按照顺序传,如果指定形式,比如形参=实参的方式,可以不按照顺序,

  函数可以有默认参数,有默认参数的话,默认参数一定要放在参数的尾部。

  函数动态参数使用方法一,可以穿任意个参数,

def a(*b):
    print(b)
a(123,456)
(123, 456)

  二,接受字典类型数据参数

def a(**b):
    print(b)
a(c=123,b=456)
{'c': 123, 'b': 456}

  直接将字典带入的接收方式为

def f1(**args):
    print(args)
dic={"k1":"v1","k2":"v2"}
f1(**dic)
{'k2': 'v2', 'k1': 'v1'}

   全局变量和局部变量的区别在于一个在全局生效,一个只是在自己代码块的程序里生效,如果要在局部修改全局变量,请加global

a = 123
def f1():
    global a
    a = 456
    print(a)
f1()
456
原文地址:https://www.cnblogs.com/kading/p/5530831.html