先用iter()函数将可迭代对象转化成一个迭代器,然后用 next()函数对迭代器进行逐一访问。
先用iter()函数将可迭代对象转化成一个迭代器,然后用 next()函数对迭代器进行逐一访问。
1. 可迭代对象
__iter__ 方法
lst = [1,2,3]
dir(lst)
2. python 中的可迭代对象
列表、元组、字典、字符串、文件
3. 可迭代器(包含以下2个方法,就是可迭代器)
4. for 循环的实现原理
一、类成员:
(1)类变量
(2)类方法
二、实例成员
(1)实例变量
形参
实参
if 90 <= score <=100: print("a") elif 80 <= score: print("b") elif 70 <= score: print("c") else: print("d")
输入 运算/处理 (存储) 输出
多继承
子类可以继承多个父类
魔术方法查看子类所有的父类
访问子类的属性或者方法的路径顺序一下程序先从谁那里要钱呢????
此时是先访问的父亲类,原因是因为父亲这个类放在前面的(继承类的时候先写母亲类就会先访问母亲类)。
更复杂一点点
先找到父类的父类,如果前一个所有父类都没有才会找调用第二个父类
子类查找同名的属性或方法的调用的魔术方法
万事万物的类就是object,object是所有对象的父类。
菱形继承
import this
#python之禅
在cmd里面退出python坏境
1. exit()
2. ctrl + Z 然后再回车
查看————文件扩展名
python hello.py #去到文件的目录
Pure Python 打开 尽量用英文命名
再命名项目名称。Vitualenv(是一个虚拟环境的工具,可以把我们安装好的python复制一份到本地的项目里面。这样方便把项目拷贝给其他人,她直接就可以用)但是会增加一部分存储空间
可以直接使用现存的 Existing interpreter 不新建,可是
Create a main.py welcome script欢迎脚本,
显卡:连接显示器
not 高于 and 高于 or
print(1>2 or 4>3 and not 6<5)
1运行: not 6<5
2运行:4>3 and
3运行:1>2 or
输入:话筒、摄像头、遥控器、烟雾报警器
输出:电子白板、蓝牙耳机、投影仪、vr
处理:服务器机房
存储:服务器机房、二维码
传输:app软件、遥控器
#1.变量的定义
#因python是区分大小写的,故建议:驼峰命名法给变量名命名
驼峰命名法:ZhangsanAge = 10
下划线命名法:zhangsan_age = 10
#虽然可以实现中文给变量命名,但由于不同的操作系统对于中文的支持不一样,故不建议这么操作.
年龄 = 3
名字 = "咯咯"
print("小狗的名字:",名字)
#2.变量的赋值与类型
age = 10
name = "张三"
money = 2000.00
#类型
print(type(age))
print(type(name))
print(type(money))
#赋值
a = b = c = 100
print(a)
print(b)
print(c)
#赋值,了解一下
a,b,c = 1,100,"hello"
print(a)
print(b)
print(c)
#变量命不能和关键字相同
#关键字:python语言中定了具体含义的特殊标识符
TODO将备注变成蓝色 更明显
__all__['']指定可以被访问的内容(只对import*的引入方式有效from 。。。 import*全部引用 )
from.import(相对导入) 模块内导入 必须先有绝对导入才能用.
魔术方法:
在Python中,所有以“_ _”双下划线包裹起来的方法,都被统称“魔术方法”。
1. __new__
对象初始化:
先执行__new__(cls)——分配内存空间,并返回构建好的对象的地址,若不返回地址,则后续的__init__不会被执行。
__init__(self)——为构建好的对象赋予初始值,object.__new__(cls)的地址即__init__(self)函数中self的地址。
2.__del__
从内存中清除对象的时候,对象会默认执行的方法
(1)调用类且所有程序执行完毕,释放内存时。
(2)执行del指令删除指向类的所有对象时。只有当指向对象的所有对象都被删除的时候,对象的空间才会被释放。
3. __call__将对象当作函数执行的时候会被默认调用
class Fight:
def __call__(self, *args, **kwargs):
print("__call__方法被调用了")
f = Fight()
f(实际参数)
4.__str__
(1)返回值必须为字符串。打印对象的时候,默认会被调用__str__,打印内容是返回的字符串。
(2)使用str(对象)后,默认会被调用__str__。
5.__repr__
返回值必须为字符串,打印可变容器中的对象时会默认调用__repr__,打印内容是返回的字符串。
sys.path.append(追加路径)
import sys import os
sys.path.append(os.path.dirname(__file__)+r"/lib") (获取前缀路径进行拼接 再将路径追加进入sys模块)
导入模块中指定函数 from...import...)
引入全部函数from...import *
as 起别名(模块和函数都可以起别名,用于防止重名和简便编写)
import 引入模块(ctrl+左键打开源文件)
调入函数 模块名称.函数名
模块方式:引入模块就会执行模块 打印模块名称
脚本方式:打印__main__
脚本模式:自身模块开发时,作为独立程序由计时器直接运行。__name__的内容为字符串:__main__
模块模式:被其他模式导入,为其他模块提供资源(变量,函数,类的定义)
utf一个汉字3个字节,gbk两个字节