Python-head-first 前6章

chapter1

  • 官网下载Python3的安装包

  • 安装python,下载相应的版本。安装成功,Windows控制行使用

    python -V
    
  • Python注重空格,一般情况使用Tab按键

  • 处理复杂数据——电影数据列表

    • 创建简单的Python列表

      #	简短的电影列表
      movies = ["taoteman","Japan"]
      #	Python变量符没有类型
      
    • 列表就像其他语言的数组,但不完全是,列表是完备的Python集合对象

    • 使用中括号访问列表数据

    • Python列表增加更多数据

      • 混合类型——Python列表是高层集合,并不关心列表是类型是什么
    • 处理列表数据

      • 使用for while处理迭代结构

      • 问答:Python中单引号和双引号的区别——>单引号双引号都可以用来创建字符串,但是注意,字符串后面不能不能混合使用字符串

        movie = ["nihao",'wrong writing']
        
    • 在列表中存储列表

      • 访问时按照下标进行访问
      • for 循环如何处理嵌套列表?
        • 使用 内置的isinstance()函数
      • Python 3中内置了70多种BIF(build in function)函数
      • 查看方法[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9Ygo8LEt-1610447790550)(photo/builtin-内置函数.png)]
    • 复杂数据很难处理

      • 处理多层嵌套列表

        • 如果是嵌套列表再嵌套的话,应该如何遍历迭代?

          不重复代码:创建一个函数——把重复代码变成一个函数

          解决之道:递归

  • Linux 安装 python 参考

chapter2

函数转换为模块

Python包索引(Python Package Index,PyPI)为Internet上的第三方Python模块提供了一个集中的存储库

注释:使用三个双引号表示

准备发布
  1. 把函数保存为py文件

  2. 为模板创建一个文件夹

  3. 新文件夹中创建一个名为“setup.py"的文件

    from distutils.core import setup
    
    setup(
        name='comewei',
        version='1.0.0',
        py_modules=['nester'],
        author='laixxxxxi',
        author_email='xxxxxlai@gmail.com',
        url='http://www.headfirstlabs.com',
        description='diss'
    )
    
构建发布

构建发布文件

python3 setup.py sdist

将发布安装到你的Python本地副本中

python3 setup.py install
发布速览

发布速览

导入模块
import nester
cast = ["laixxxx",1002]
print_lol(cast)

在程序中,导入模块后可以运行。但是,在IDLE的编辑窗口不能运行

Python 的模块实现命名空间

定义命名空间,从而使得python可以找到目标函数

如果我们使用

#	不用进行命名限定即可使用print_lol()函数,但是其会覆盖我们自定义print_lol()函数
from nester import print_lol
Python共享代码

共享模块:如果出现需要修改的功能和兼容之前的功能——>使用额外的参数控制行为

写代码之前,先考虑BIF。避免重复造轮子

range()BIF迭代固定次数

BIF不在在__main__命名空间,它们有自己独特的命名空间为__builtins__

Python会尽力运行代码

和编译型语言不同,Python在运行不全面检查代码的合法性。这样可以带来很多好处,比如运行时动态定义函数,也会带来很多弊端,比如传统静态类型的编译型语言捕获和标志的"错误"

使用可选参数——兼容之前版本

为函数提供一个缺省值

chapter3

元组与列表的差别(元组即为不可变列表)

open() readline() close() split() find() pass使用

异常处理

chapter4

持久化存储:基于内存的数据存储到磁盘中

strip()除去字符串不想要的空白符

Python变量赋数据、实际上变量并不包含所赋的数据

locals() BIF 会返回当前作用域中定义的所有名集合

str() BIF 把异常对象强制转换为字符串

with 代替 finally

sys.stdout是Python中所谓的"标准输出",可以从标准库的sys模块访问

in操作符 用于 检查成员关系

chapter5

教员成绩统计——>数据处理——>列表推导——>列表分片——>迭代删除重复项——>使用set()工厂函数

列表处理

chapter6

键与值(使用字典关联数据)

字典(内置的数据结构,允许将数据与键而不是数字关联)

映射、散列、关联数组——字典(可以动态扩大)

#创建 字典
palin = {'Name':'Laxingwei','Significant-day':[2,3,4]}
x={}
y=dict()

与列表不同,Python字典不会维持插入的顺序,这会导致一些意外的行为。但是字典的重点并不在顺序

修改教练成绩,使用字典表示 ——> 代码冗余——>加入函数处理——>数据与代码关联——>定义一个类——>添加类方法

#	使用class定义类
class Athlete:
    def __init__(self):
self的重要性
#	目标标识符赋至self参数,方法是共享的,而属性不共享

类继承

#	继承list
class NamedList(list):
    def __init__(self,a_name):
        list.__init__([])
        self.name = a_name

语法记录

min =[1, 2, 3, 4]
#	列表推导  遍历 min,对min每一个元素乘以60并返回sec

sec = [m*60 for m in min]  

#	列表分片  去前三元素
min[0:3]

#	range() 函数使用
for i in range(4)

#	split()按照符号分类
#	strip()表示去除空格
data.strip().split(',')

#	异常处理
try:
    
except:
    
finally:
    
#如果是打开文件,上述的finally中的close()代码可以替换为Tab
try:
    with open('xxxx') as xx:
        xxxx
except:
#	字典中使用.keys() .values() 获得键与值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值