2019.04.13 python基础
第一节 主要讲python背景 没什么要注意的 了解记住概念就好
python官网 python.org 自带shell 可以运行python代码
在IDLE中怎么运行代码
新建文本 输入代码
保存 随便保存到哪里都可以
Python是一门解释型语言,性能会比较低
解释型那么什么解释呢 当然是python解释器
有很多解释器
一般用Cython 安装后默认也是使用它
第二节 python的安装,官网下载 配置环境 勾选添加到配置环境变量中
还有一个海龟制图的模块 如何去运行python的IDLE
第三节 print(不加双引号,就认为是变量或者数字)所以一定要记得加
IDE 集成环境 IDEL也是一个集成环境 和pycharm是一样的
第四节 建议文件夹都用英文吧 不要随便用空格 在python中表示缩进的
第五节 python用缩进而不是{}表示程序块
第六节 如何学,先把知识体系建立起来 守 破 离
跟老师 去探索 去创新
第七节 开始学习图形化程序设计,为什么先从这个开始呢
视觉表达永远是最直观的。逆时针画圆,参数为半径
第八节 奥运五环
第九节 程序的构成 在IDLE中一定要记得Ctrl +s
python程序---模块---语句 组成的 tab健就是tab健,千万不要和空格混了
使用\行链接符 链接下一行 针对于字符串多长,但是pycharm已经处理好了
第十节 对象的基本组成和内存示意图
Python 中,一切皆对象。每个对象由:标识(identity)、类型(type)、value(值)
组成。
1. 标识用亍唯一标识对象,通常对应亍对象在计算机内存中癿地址。使用内置凼数 id(obj)
可迒回对象 obj 癿标识。
2. 类型用亍表示对象存储癿“数据”癿类型。类型可以限刢对象癿叏值范围以及可执行癿
操作。可以使用 type(obj)获得对象癿所属类型。
3. 值表示对象所存储癿数据癿信息。使用 print(obj)可以直接打印出值。
对象的本质就是:一个内存块,拥有特定的值,支持特定类型的相关操作。
为什么在pycharm执行不了 在IDEL中又可以执行呢
对象 3 ==== id:153
type:int
value:3 一个对象包括这么多东西的
说的赋值 a = 3 其实是 对象3的地址给了a 指向了这个
记住这个图和对象
第十一节 引用的本质-栈内存和堆内存示意图
变量也叫对象的引用 python是动态类型语言 不需要声明类型
因为在堆中的变量有type 变量在栈中,对象在堆中
是强类型语言 因为每个对象都有数据类型
第十二节 标识符-命名规则
help的使用,记得命名规则是由什么组成的
F1会调出官方帮助文档 不只是变量 还有模块和包名 函数名 类名 常量名
第十三节 变量的声明-初始化,垃圾回收机制
变量的声明和赋值用于讲一个变量绑定到一个对象上
删除变量 del = a 3这个对象仍然在 对象没有变量引用,就会
被垃圾回收器回收
第十四节 链式赋值,系列解包赋值-常量
x = y = 123
a,b,c = 4,5,6(个数必须要保持一致)
使用系列解包赋值实现变量交换
a,b = 1,2
a,b = b,a
print(a,b) Python不支持常量
第十五节 内置数据类型,基本算数运算符
内置?后面还可以自己创建 还有基本的和高级的
/浮点数除法 8/2 = 4.0 整数除法 7/2 = 3 记得零不能做除数
divmod(13,3) 是一个函数,返回一个元祖 (4,1)
第十六节 整型-不同进制-转型
print(0B101) 还有这种东西的 位运算的是时候用到
第十七节 浮点数-转换
就是我们说的小数,float 四舍五入round(value)
不会改变原有值,而是产生新的值
第十八节 时间表示 time模块
unix时间点 1970年1月1日 00:00:00
import time time.time()获取当前时间
整型除 //
第十九节 多点坐标-绘出折线图
练习,海龟会自己有中心会制点的。然后可以根据这些画的
math 平方的使用 sqrt
第二十节 布尔值,比较,逻辑运算符
a = True
b = 3
print(a+b) 这就很凶了,布尔值加数字 布尔值都是0和1
这个得注意一下
第二十一节 同一运算符_整数缓存问题
is 与 == 区别:前者是比较对象的地址
后者是对象的值是否相等,默认__eq__()方法
[-5,256] 整数缓存的话,他们的值地址是一样的
超过之后地址是不一样的了,返回的是false
第二十二节 unicode字符集 三种创建字符串方法
字符串应该是打交道最多的了吧 而不是数字
在python中没有字符,只有字符串,单个字符,也是字符串
字符串的第一个问题就是编码的问题,记住啊在python3中的编码格式
ASCll码指表示一些数字和英文 2**8 次方只有256个,表示的就很少了
编码就是把字符和数字连接起来 两个内置函数 chr ord
'' "" """ """ 这三种的使用 len()计算字符串含多少字符
第二十三节 转义字符 ,拼接,复制
拼接的三种 使用*可以试想字符串复制
a = 'Sxt'*3 不换行 print 参数 end = “”就可以了
print()是有默认的换行/n 从控制台读取字符串
myname = input("请输入名字")
会等待控制台对你的输出,输出完后,会复制给这个变量
阻塞等待
第二十四节 字符串_str(),replace()替换,[]提取字符串
还要注意一下这个True 不是字符串
最后开始是-1,-2过来 字符串不能直接修改,但我们要修改字符怎么办
只能创建新的字符串了
a.replace('c','高') 不能用a[]直接添加a[] ='d' 也可以叫索引 ,偏移量
第二十五节 切片slice操作,逆序
slice不是方法吗?为什么不显示 都是整数好理解
有负数呢 要从后面开始数倒数第几个
第二十六节 分割split(),合并join()
a.split('be') be会消失 成逗号 返回的是一个数组
join 这个是可以的 列表对象是可变得 字符拼接用“+”的话,每次都会生成对象的
所有可以使用join 拼接一定要记住都是字符串
第二十七节 字符串_驻留机制_内存分析 字符串比较
如果都包含有字母下划线数字 则他们会引用同一的地址
这就是驻留机制 值比较 == is 比较是不是同一个对象
成员操作符 in/not in 关键字,判断某个字符(子字符串)是否存在于字符串中
第二十八节 常用的查找方法
len(a) a.startswith("") a.endswith("") a.find("") a.rfind("") 这个是从最后出现的
位置,find返回的是索引 a.count("")出现的次数
strip 去除首尾信息 lstrip rstrip 什么都不写就是空白的
a.capitalize() a.title() a.upper() a.lower() a.swapcase() 大小写
格式排版 center ljust() rjust() 这个需要注意的是字符也要占位置的
第二十九节 format格式化 数字格式化操作 填充与对齐
基本语法是通过{} 来代替以前的%
可以接受不限个参数,位置可以不按顺序
我们可以通过{索引}{参数名},直接映射参数值,实现字符串的格式化
这两种表达方式,参数名是顺序可以换的
占位符 先占这位置
第三十节 可变字符串_io.StringIO
当遇到频繁修改的字符串的时候可以考虑使用
第三十一节 运算符总结_位操作符-优先级问题
在python中位运算符拿来干嘛 异或 相同的是零,不相同的是1
左移右移 操作比一般的乘法快吗 乘法的本质就重复嘛
与C和java不一样,python不支持自增(++)和自减(--)
字符串和编辑基础完结