默认的python2 不支持中文
python3 支持中文
退出解释器 快捷键ctrl+d 或者exit()
Ipython是一个python的交互式shell,比默认 python shell好用的多
·支持自动补全
·支持缩进
·支持bash shell命令
·内置了许多很有用的功能和函数
cd .. 只能回到上一级
cd~
clear 屏幕清空
Python 的IDE----Pycharm
1)Pycharm是Python的一款非常优秀的集成开发环境
2)除了具有一般IDE所必备功能外,还可以在Windows Linux macos下使用
3) Pycharm适合开发大型项目
·一个项目通常会包含很多源文件
·每个源文件的代码行数是有限的
·每个源文件各司其职,共同完成
算数运算符的优先级
** 幂(最高优先级)
* / % // 乘 除 取余数 取整除
+ - 加法 减法
ls -lh /usr/bin/python (查看Python的大小)
数据的的类型
一、数字型
·整型(int)
·浮点型(float)
·布尔型(bool)
--非零即真
·复数型(complex)
非数字型(字符串)
·字符串
·列表
·元组
·字典
布尔类型()非零既真
浮点型与其他类型运算 结果是浮点型
字符串不能加数字
纯数字的字符串才能强制转换
列表
·append 在末尾追加数据
·extend 在列表1的末尾追加列表2
·修改 列表【索引】= 数据
·删除 del列表[索引]删除指定索引数据
列表.remve[数据] 删除第一个出现的指定数据
列表.pop 删除末尾数据
列表.clear 清空列表
·统计 len(列表) 列表长度
列表.count(数据) 数据在列表中出现的次数
·排序 列表.sort()升序排序
列表.sort(reverse=True)降序排序
列表.reverse 逆序、反转
循环遍历
for 循环内部使用的 in 列表
元组
·元组中只包含一个元素时,需要在元素后面添加逗号
info_tuple = (50,)
·len(元组)获取元组的长度
·元组.count(数据) 数据在元组中出现的次数
·元组[索引]从列表中取值
·元组.index(数据)获取数据第一次出现的索引
for 循环遍历所有非数字类型的变量:列表,元组,字典以及字符串,在实际开发中,对元组的循环遍历需求并不多
字典
·和列表的区别
列表是有序的对象集合
字典是无序的对象集合
·字典用{}定义
·字典中使用键值对存储数据,键值对之间使用“,”分隔
键key是索引
值value是数据
键值之间使用:分隔
键必须是唯一的
值可以取任何数据类型,但键只能使用字符串、数字或元组
·len(字典)获取字典的键值对数量
·字典.keys() 所有key;列表
·字典.values() 所有value列表
·字典.items()所有(key,value)元组列表
·字典[key] 可以从字典中取值,key不存在会报错
·字典.get(key)
·del 字典[key]
·字典.pop(key)
·字典.popitem()
·字典.clear
·字典[key] = value
字符串
·string.isspace() 如果string中只包含空格,则返回True
·string.isalnum()如果 string至少有一个字符并且所有字符都是字母或数字则返回True
string.isdecimal() 如果string只包含数字则返回True
string.islower() 如果string中包含至少一个区分大小写的字符,并且所有这些字符都是小写,则返回True
string.isupper()如果string中,并且所有这些字符否是大写,则返回True
类属性和类方法
·使用类名()创建对象,创建对象的动作有两步:
。在内存中为对象分配空间
。调用初始化方法_init_为对象初始化
·创建出来的对象就做类的实例
·创建对象的动作叫做实例化
·对象的属性叫做实例属性
·对象调用的方法叫做实例方法
·调用对象方法,可以通过self.
。访问自己属性
。访问自己方法
·每一个对象都有自己的独立的内存空间,保存各自不同的属性
·多个对象的方法,在内存中只有一份,在调用方法时,需要把对象的引用传递到方法内部
·类是一个特殊的对象--类对象
·在程序运行时,类对象在内存中只有一份,使用一个类可以创建出很多个对象实例
·除了封装实例的属性和方法外,类对象还有自己的属性和方法
。类属性
。类方法
·类属性就是给类对象定义的属性
·通常用来记录与这个类相关的特征
·类属性不会用于记录具体对象的特征
·如果使用 对象.类属性 = 值 赋值语句,只会 给对象添加一个属性,而不会影响到 类属性的值
类方法
·类方法需要用修饰器@classmethod来标识,告诉解释器这是一个类方法
·类方法的第一个参数应该是cls
。由哪一个类调用的方法,方法内的cls就是哪一个类的引用
。这个参数和实例方法的第一个参数是slef类似
·通过类名.调用类方法,调用方法时,不需要传递cls参数
·在方法内部
。可以通过cls.访问类的属性
。也可以通过cls。调用其他的类方法
静态方法
·既不需要访问实例属性或者调用实例方法
·也不需要访问类属性或者调用类方法
这个时候,可以把这个方法封装成一个静态方法
@staticmethod
通过类名.调用静态方法
def 名字():
继承
·单继承
·多继承
面向对象的三大特性
1.封装根据职责将属性和方法封装到一个抽象的类中
2.继承实现代码的重用,相同的代码不需要重复的编写
3.多态 不用的对象调用相同的方法,产生不同的执行结果,增加代码的灵活性
1.1单继承
概念:子类拥父类的所有的方法和属性
·重写
。父类方法有两种情况:
1. 覆盖 父类的方法
2. 对父类方法进行 扩展super().bark()
父类的私有属性和私有方法
1.子类对象不能在自己的方法内部,直接访问父类的私有属性或者私有方法
2.子类对象可以通过父类的公有方法直接访问到私有属性或者私有方法
1.2多继承
·子类可以拥有多个父类,并且具有所有的属性和方法
。语法:class 子类名(父类名1,父类名..)
pass
提示:开发时,应该尽量避免这种容易产生混淆的情况! —— 如果 父类之间 存在 同名的属性或者方法,应该 尽量避免 使用多继承
|
|