python第五天

  • 传值:对于简单数值采用传值
    传值的参数类型:数字,字符串,元组
  • 传址:复杂变量采用地址操作
    传址的参数类型:列表,字典
  • 关于列表的函数
    pop弹出操作把最后一个元素踢掉,返回值式弹出的值
    remove:在列表里删除指定值的元素,如果不在list里,就报错,所以要先行判断,remove是在原列表上操作,clear:操作也是一样的
    reverse()翻转内容
    extend用来拼接列表
    count用来查找列表中指定值或者元素的个数
    copy:浅拷贝* b=a.copy() b的地址和a的地址不一样
    深拷贝和浅拷贝的区别:当列表里还有列表式,列表中的列表地址并没有发生改变,属于直接指向,因此需要深拷贝,比如l=[1,2,3,[1,2,3]],m=l.copy(),m的地址和l的地址不一样,但是里面的[1,2,3]是同一个地址,所以在更改值的时候就会出现问题,因此需要深拷贝,深拷贝即deepcopy()

元祖(tuple)不可更改的list(内容不可更改,地址可以更改)

创建元祖:

 - 用小括号,l=(1,2,3,4,5)或者l=1,2,3,4,5
 - 用tuple()转化比如l=[1,2,3,4,5],a=tuple(l),a就从列表变成了元祖

性质:元祖有序,元组的数据值可以访问,不能修改,不能修改,不能修改,元祖数据可以是任何类型,list所有特性除了可修改,元祖具有一切的性质
索引:下标不可超标,不像list切片是可以超标
相加是可以相加的但是不可以改变内容,比如l=(1,2,3),l[1]=3是不可以的 ,但是元祖之间是可以运算的
集合
便利操作:for循环遍历
s = {4,5,6,7,8,9,10}
for i in s
print(i)
集合的内涵:集合初始化后过滤掉重复的元素,
带条件的集合内涵: 可以加条件,可以加循环
比如:s2= {i for i in s1 if s1 %2 ==00} s3={m*n for m in s1 for n in s2}
集合的函数:add向集合内添加元素,clear原地清空数据,copy拷贝,
remove移除指定的值,删除的不存在,报错,discard移除指定的值,删除的不存在不报错
pop 弹出第一个元素
intersection:交集
difference:差集
union:并集
issubset:检查一个集合是否为另一个子集
issuperset:检查一个集合是否为另一个超集,s1是s2的子集,s2就是s1的超集
frozen set:冰冻集合,无法修改的集合,s = frozenbset,是一种特殊的集合
字典(dict)
字典的创建:

  • 创建空字典d={}
  • 创建有值的字典:d={“one”:1,“two”:2,“three”:3}
    d=dict({“one”:1,“two”:2,“three”:3}) 利用构造函数
    d=dict(one=1,two=2,three=3) 利用关键字参数

特征:字典是序列类型,但是是无序序列,所以没有分片和索引
字典中的数据每个都有键值对组成,kv对,key:可哈希的值,比如int string float tuple但是list,set,dict不行value:任何值
可哈希:改变值地址也变化,即可以通过判断地址id变化情况,判断值是否变化,可以由地址定位值的唯一性
items:返回字典的键值对组成的元祖形式
keys:返回字典的键的组成的结构
values:返回字典的值的组成的结构
get(key,默认值):根据指定键返回相应的值,好处是可以设定默认值,找到的话就返回对应的值,找不到就返回默认值
fromkeys:使用指定的序列作为键,使用一个值作为字典的所有的值

面向对象编程:基础,公有私有,继承,组合mixin
魔法函数:概述,构造类魔法函数,运算类魔法函数
面向对象概述:opp思想:首先想到的是任务这个世界的构成,是由模型构成
OO:面向对象 objectoriented
OOA:面向对象分析
OOD:面向对象设计
OOI:面向对象的实现
OOP:面向对象的编程
OOA->OOD->OOI:
名词有属性,有动作(方法),任何一个对象找到它的属性和方法,把这个名词设计成一个类
每一个名词包含一个类,包括如何实现这个类
类和对象的概念:
类:抽象名词,代表一个集合,共性的事物,
对象:具体的事物,单个个体
类和对象的关系:
一个是具象代表一类的事物的某一个个体
一个是抽象代表的是一大类事物
类的内容:
表明事物的特征,叫做属性(变量)
表明事物的功能,动作叫做方法(函数)
类的实现:
1.遵守命名规范
2.大驼峰(一个或者多个单词构成,单个单词首字母大写,单词跟单词直接相连)
3.尽量避开和系统相似的命名
声明一个类:
1.class关键字
2.类由属性和方法构成

class Student():
 pass
class PythonStudent():
   name = None
  age = 18 
  course = "Python"
  def doHomework(self):
	 print ("我在做作业")
         return None

注意缩进
实例化:yueyue=PythonStudent()–变量=类名
注意成员函数的调用没有传递进入参数

anaconda基本使用
是一个虚拟环境管理器
还是一个安装包
conda list :显示anaconda安装的包
conda env list:显示anaconda的虚拟环境列表
conda create -n xxx python=3.6 :创建python环境版本为3.6的虚拟环境xxx

访问对象成员:使用"."操作符
obj.成员属性名称
obj.成员方法
可以通过默认内置变量检查类和对象的所有成员
对象所有成员检查:dict前后有两个下划线obj.dict
类所有成员:dict前后由两个下划线

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值