零基础入门学习Python【已关闭】

零基础入门学习Python【已关闭】

97课时 |
76020人已学 |
(43 评论)

课程还未发布
不允许加入和购买
课程还未发布
不允许加入和购买

elif  =  else if

 

三元操作符

small = x if x < y else y

x, y = 5, 9

if x < y:

    small = x

else:

    small = y

 

断言 assert 

当这个关键字后边的条件为假的时候,系统会自动崩溃并抛出AssertionError的异常。

[展开全文]
azurewei · 2018-07-31 · 008了不起的分支和循环2 0

数据类型

 整形 int()  

浮点型  float() 

 e记法 

布尔类型(ture false)

 

数据类型的转换

字符串 str()  

 整形 int()  

浮点型  float() 

 

 获取数据格式

type()

isinstance()

[展开全文]
azurewei · 2018-07-28 · 005闲聊之Python的数据类型 0

Python

每个语言都是打飞机入门

 

[展开全文]
日_升 · 2018-07-21 · 000愉快的开始 0

协议

 

在python中,协议是指南。

所有可迭代的数据类型,都属于容器类型

 

容器的协议:

 

目前看来 有一些方法 是可以利用的:

比如

制作 长度不可变的容器

制作长度可变的容器

[展开全文]
杨超凡 · 2018-07-17 · 047魔法方法:定制序列 0

第47课没听懂。

 

描述符存在的意义是什么?

为什么要将a类的实例指派给另一个类?

 

这跟a类对象持有b类对象有什么区别?

这个跟一个类持有另一个类的引用。有什么区别呢?

 

java里有AOP思想,用于解决当前类持有其他类对象的替代做法。

python难道没有?

或者说描述符就能解决这个问题?

 

[展开全文]

通过property

属性访问

setattr  被触发的原理

什么情况下会被触发?

有什么风险?

object.x会触发settr方法

如果在setattr方法里 继续设置对象的属性,可能会无限递归 调用setattr自身。

解决办法有,找到一种条件,向setattr返回 super().setattr(),这样会真的走python底层的赋值方法。

 

解决办法2:

通过object.__dict_[name]字典的方式赋值

 

 

 

 

 

 

[展开全文]
杨超凡 · 2018-07-17 · 045魔法方法:属性访问 0

object.method()

会默认将object自身传递给method函数

注意区分object是类对象 还是实例对象

魔法方法

被双下划线包围

面向对象Python编程

1. __init__

该函数禁止复写的时候春娣返回值

 

对象实例化过程第一个魔法方法

1. __new__(cls[,...])

可以在这个方法里,复写,设置返回值。

这一步早于__init__初始化

2.__del__(self)

del object 时,触发的方法

注意:不是必然触发。

必须保证所有同时指向它的对象都调用了del。

最后一个调用del销毁的对象引用,会触发__del__方法。

也就是说 del object。并不会立即执行销毁某个对象的操作。

 

 

[展开全文]
杨超凡 · 2018-07-17 · 041魔法方法:构造和析构 0

 组合?

c类持有a类和b类的实例化对象。称为组合。

self:调用者,属性、方法的所有者。

 

绑定:

属性和方法属于类,不属于实例对象。

通过dict关键字打印可以看出。

 

类、类对象、实例对象

python的变量不需要声明。直接调用并复制,就相当于初始化

1.覆盖关系。

类对象的属性,与类定义的属性绑定。

实例对象的属性,会覆盖类对象的属性

属性和方法名字相同,属性会把方法覆盖掉

2.生命周期问题

类定义的属性和方法,不随着类对象的销毁、创建而存在。

即:类对象创建,类中属性和方法都创建了;

类通过del 销毁、删除,类中属性和方法依然存在。依然存在于内存中。之前创建的对象却依然存。

 

c语言中:

静态属性 只有在程序退出的时候,才会背释放

 

 

 

 

[展开全文]
杨超凡 · 2018-07-12 · 039类和对象:拾遗 0

self是什么

对象的方法,必须传递self

对象会将自身,传给方法的第一个形参。

 

魔法仓鼠

 

公有和私有

python命名技术:

name mangling 名字改编,名字重整技术

在python中定义私有变量只

[展开全文]
杨超凡 · 2018-07-11 · 037类和对象:面向对象编程 0

pass 占位符

如果你什么都不想写,可以写pass占位

相当于java的 //todo

 

 

普通员工月薪3500
ceo月薪1000000
项目经理月薪20000

[展开全文]
杨超凡 · 2018-07-11 · 036类和对象:给大家介绍对象 0

gui编程

easygui

模块导入的三种方式

1.

import esaygui

easygui.method

2.

from easygui import *

method

3.

import easygui as g

g.method

 

方式三的好处是避免同名。避免抛出异常。

[展开全文]
杨超凡 · 2018-07-11 · 035图形用户界面入门:EasyGui 0

else

- if:如果怎样、如果不怎样

- for、while:循环结束,进入else

- except:没有异常就怎样

i=10
while i>0:
    print("%s在循环体里" %(i))
    i = i - 1
else:
    print("进入else了,i是%s" %(i))

with

- with open:文件操作

[展开全文]

assert 断言测试

assert len()>0

为假,抛出异常

为真,正常执行

 

异常处理

Exception

error

- oserror

- indexerror

- keyerror

 

[展开全文]

模块:

是一个包含所有你定义的函数和变量的文件。

识别模块的方法是:模块的后缀是.py

模块可以被别的程序引入。用来调用该模块中的函数等功能。

 

常见模块:

os模块:代指操作系统

import os

os.remove

os.rmdir

os.listdir

os.mkdir

os.mkdirs

os.linesp

os.system()调用shell命令

 

 

模块2:

os.path模块:代指路径操作

basename 去掉目录路径,单独返回文件名

dirname 去掉文件名,单独返回目录路径

join 

splite

splitext分离目录名与文件扩展名

isabs 判断是否是绝对路径

exists 判断路径(文件或文件目录)是否存在

isfile

isdir

islink

 

filepath=r"D:\workspace\codespace\python\webapps\test17.py"
print(filepath)

import  os.path as pt

print(pt.dirname(filepath))

 

[展开全文]

字典内置方法

fromkeys()

keys()

values()

items()

判断是否存在

get(keyname)  判断某位置是否存在item

keyname in dictname

 

清空

dict1.clear()

del dict1

dict1={}  不安全,存在隐患

 

赋值与

[展开全文]
杨超凡 · 2018-07-10 · 026字典:当索引不好用时2 0

汉诺塔

 

 

 审题

如果为64个盘子。从左到右,棍子编号依次为x,y,z。

解题移动过程为:

将(从上往下数,第1,第2...)前63个盘子从x移动到y

将y上的63个盘子移动到z上。

限制条件1:大盘子必须在小盘子下面;大盘子不可以在小盘子上面

 

步骤1:借助z,将x上的前63个盘子移动到y上。

步骤1.2:将第64个移动到z上

步骤2:借助x,将y上63个盘子移动到z上。

 

将步骤1拆解:(将63个盘子从x移动到y)

- 将前62个盘子从x移动到z

- 将第63个从x移动到y

- 将z上的62个盘子移动到y

将步骤2拆解:(将y上的63个盘子从y移动到z)

- 将前62个盘子从y移动到x

- 将第63个盘子移动到z

- 将x上的62个盘子移动到z上

 

[展开全文]
杨超凡 · 2018-07-10 · 024递归:汉诺塔 0

浮点型和整数型  在Python里面形式只有一个小数点的区别,

浮点型转换为整数型的时候, 截断小数点之后

int(5.9)=5

判断一个变量类型

两个函数:

type   isinstance 函数

type(var) 

isinstance(var, 变量类型)

>>> isinstance(1,int)
True
>>> isinstance(2,float)
False

 

[展开全文]
壹加恩 · 2018-07-09 · 005闲聊之Python的数据类型 0

递归

1.自身调用自身

2.停止的条件

例子:

1.汉诺塔游戏

2.树结构的定义

3.谢尔宾斯基三角形

4.阶乘的原理

5.递归是一个台阶,进阶高级程序的必备。

 

递归非常消耗内存、浪费cpu时间。很容易无限递归。

用在恰到好处的地方。

Python默认限制了递归层数为100层。

如何解除递归限制?

import sys

sys.setrecursionlimit(1000000)

[展开全文]
杨超凡 · 2018-07-09 · 022函数:递归是神马 0

最重要的是迭代器的概念

python提供的iteratior对象

len()

max()

min()

append()

pop()

sum()

reversed()

enumerate()//重要

zip()//重要

 

 

[展开全文]
杨超凡 · 2018-07-09 · 016序列!序列! 0

元组

1.最大区别,列表可以任意修改其中的元素;数组不可以修改其中的元素,不可改变

2.元组的关键是逗号,

tupe1=(2)不是创建元组,是number变量

tupe2=(2,)才是创建一个元组

3.拼接的时候,必须用同一个数据类型

[展开全文]
杨超凡 · 2018-07-07 · 013元组:戴上了枷锁的列表 0

授课教师

鱼C-工作室
阿里云开发者社区全面升级
一站式体验,助力云上开发!
进入新社区