《Python编程:从入门到实践》学习记录(1-4)基础语法部分

简介: 《Python编程:从入门到实践》学习记录(1-4)基础语法部分

# 第一章 环境



  • 检查python环境
  • 终端输入:python


image.png

  • 退出python命令行,exit();
  • 运行python程序python xx.py


image.png


# 第二章  变量与简单数据类型



  • python文件的后缀为.py
  • python约定的文件名格式:使用小写字母和下划线,如simple_message.py
  • 变量
  • 只能包含数字,字母,下划线。但是不能以数字打头。
  • 命名规范:小写字母和下划线,如name_length
  • 字符串
  • 被双引号"xxx"或者单引号'xxx'包裹起来的文本就是字符串。
  • 返回字符串首字母大写的形式: .title()


image.png

大小写转换.upper(),.lower()


image.png


  • 制表符: \t
  • 换行符: \n
  • 去除字符串的空格
  • 去除两侧的空格: .strip()
  • 去除左边的空格: .lstrip()
  • 去除右边的空格: .rstrip()
  • 注意:去除空格的函数并不会改变这个字符串本身,而是返回一个新的字符串。


image.png

数字

  • 整数
  • 除了+-*/,可以使用**表示乘方


image.png

image.png

浮点数

  • 带有小数点的数字
  • 注意计算机处理小数的通病


image.png


  • 将非字符串转换成字符串: str(xx),如:print("age="+23)会报错,需要改写为print("age="+str(23))
  • 注释
  • 单行注释: # xxx
  • Python之禅(编程规范)
  • 运行import this


image.png

# 第三章 列表


一系列的有序元素,一个列表中可以同时包含数字,字符串,任何东西。

  • 使用[]定义列表。
  • container = [1, 2, 3, 'futao', "喜欢天文的pony站长"]
  • 访问列表元素
  • 由于列表是有序的,可以通过下标来访问(从0开始)
  • 访问倒数第一个元素(索引为-1) / 倒数第二个元素(索引为-2) / 以此类推... : container[-1]
  • 注意索引不可越界


image.png

  • 添加/修改/删除列表元素
  • 列表的长度是动态的,是不断变化的,可以随时添加/修改/删除列表中的元素。
  • 添加
  • append(obj): 追加元素到列表的末尾
  • inser(index, obj): 插入元素到指定的位置,该索引后续的元素向后移动一位


image.png

修改

  • 通过列表索引来修改指定索引位置的值



image.png


删除

  • 通过索引来删除指定位置的值: del container[index]
  • [弹出]删除列表指定索引位置的元素并返回这个元素的值: container.pop(index),当不传index时删除列表末尾元素。


image.png

* 如果不知道要删除的元素的索引,可根据元素的值来删除元素: container.remove(obj)


* 注意:该方法只会删除列表中第一个指定的值。


image.png

列表元素排序


  • 正序: container.sort()/container.sort(reverse=False)
  • 倒序: container.sort(reverse=True


image.png

注意: 如果需要对列表中的元素进行排序,需要保证元素之间是可以比较的。如[1,'futao'],因为intstr无法比较,所以会抛出异常。


image.png


  • 注意:sort()函数改变的是原始列表元素的顺序,而不是返回一个新的列表。所以对列表元素的排序是永久性的。
  • 非永久性排序(不改变原始列表的元素顺序,而是返回一个新的列表): sorted(container, reverse=bool)


image.png


(永久性的)翻转列表元素的顺序,而不是排序:

image.png


  • 从对字符串和列表操作的函数不难发现一个程序设计的规律:对对象的操作,如果无返回值,则会改变被操作对象的状态。如果有返回值,一般不会改变被操作对象的状态,而是返回了一个新的对象。


  • 获取列表长度: len(container)


# 第四章 操作列表



  • 遍历列表元素


for item in list:(注意缩进)


image.png


数值列表


  • 方便地创建一系列数字: range(start, end)函数,注意为左闭右开


image.png


设置range()的步长: range(start, end, step)


image.png

方便地创建数值列表: list(range(start, end)),使用list()函数


image.png

一些对数值列表进行统计计算的函数

image.png

列表解析(将for循环和创建新元素的代码合并为一行)


image.png


  • 切片


获取列表中某一段的值,sub_container=container[start: end],同样为左闭右开

  • container[:end],默认从第一个元素开始,即缺省值=0。
  • container[start:],默认提取从索引为start的元素到列表的最后一个元素。
  • container[:],将返回整个列表的一个副本。
  • container[-start:],如果-start为负数,表示截取列表从后往前的start个元素。

image.png


# 元组



  • 列表是动态的,可以修改的,而元组不可以。不可变的列表被称为元组。
  • 元组的定义: 使用(x,y),而不是[x,y]
  • 不允许修改元组中元素的值

hobby = ("编程", "音乐")
hobby[0] = "胡说"
del hobby[0]


后面两行代码都会报错。

相关文章
|
2天前
|
机器学习/深度学习 人工智能 算法
【Python 机器学习专栏】强化学习在游戏 AI 中的实践
【4月更文挑战第30天】强化学习在游戏AI中展现巨大潜力,通过与环境交互和奖励信号学习最优策略。适应性强,能自主探索,挖掘出惊人策略。应用包括策略、动作和竞速游戏,如AlphaGo。Python是实现强化学习的常用工具。尽管面临训练时间长和环境复杂性等挑战,但未来强化学习将与其他技术融合,推动游戏AI发展,创造更智能的游戏体验。
|
2天前
|
机器学习/深度学习 自然语言处理 语音技术
【Python 机器学习专栏】Python 深度学习入门:神经网络基础
【4月更文挑战第30天】本文介绍了Python在深度学习中应用于神经网络的基础知识,包括神经网络概念、基本结构、训练过程,以及Python中的深度学习库TensorFlow和PyTorch。通过示例展示了如何使用Python实现神经网络,并提及优化技巧如正则化和Dropout。最后,概述了神经网络在图像识别、语音识别和自然语言处理等领域的应用,并强调掌握这些知识对深度学习的重要性。随着技术进步,神经网络的应用将持续扩展,期待更多创新。
|
2天前
|
机器学习/深度学习 运维 算法
【Python机器学习专栏】异常检测算法在Python中的实践
【4月更文挑战第30天】本文介绍了异常检测的重要性和在不同领域的应用,如欺诈检测和网络安全。文章概述了四种常见异常检测算法:基于统计、距离、密度和模型的方法。在Python实践中,使用scikit-learn库展示了如何实现这些算法,包括正态分布拟合、K-means聚类、局部异常因子(LOF)和孤立森林(Isolation Forest)。通过计算概率密度、距离、LOF值和数据点的平均路径长度来识别异常值。
|
2天前
|
机器学习/深度学习 数据采集 算法
【Python机器学习专栏】支持向量机(SVM)在Python中的实践
【4月更文挑战第30天】SVM是一种高效的监督学习算法,适用于分类和回归,尤其擅长处理高维和非线性问题。通过寻找最大边际超平面来分隔数据,SVM具有高效性、鲁棒性、灵活性和稀疏性等特点。
|
2天前
|
机器学习/深度学习 数据采集 算法
【Python机器学习专栏】自动化特征选择与优化的实践
【4月更文挑战第30天】特征选择在机器学习中至关重要,能降低模型复杂度,提高泛化能力和避免过拟合。本文介绍了自动化特征选择的三种方法:过滤法(如SelectKBest)、包装法(如RFE)和嵌入法(如随机森林)。通过结合这些方法,可实现特征优化,包括数据预处理、初步筛选、模型训练与评估、特征优化和结果验证。自动化特征选择能提升模型性能,适应不同数据集和任务需求,为机器学习项目提供坚实基础。
|
2天前
|
机器学习/深度学习 算法 数据挖掘
【Python 机器学习专栏】Python 机器学习入门:基础概念与流程
【4月更文挑战第30天】本文介绍了Python在机器学习中的重要性,机器学习的基础概念和分类,包括监督学习、非监督学习和强化学习。Python因其丰富的库(如Scikit-learn、TensorFlow、PyTorch)、简单易学的语法和跨平台性在机器学习领域广泛应用。文章还概述了机器学习的基本流程,包括数据收集、预处理、特征工程、模型训练与评估等,并列举了常用的Python机器学习算法,如线性回归、逻辑回归、决策树和支持向量机。最后,讨论了Python机器学习在金融、医疗、工业和商业等领域的应用,鼓励读者深入学习并实践这一技术。
|
2天前
|
Python
python中的语法错误
【4月更文挑战第23天】
9 3
|
2天前
|
测试技术 调度 索引
python编程中常见的问题
【4月更文挑战第23天】
13 2
|
3天前
|
网络协议 算法 网络架构
Python网络编程之udp编程、黏包以及解决方案、tcpserver
Python网络编程之udp编程、黏包以及解决方案、tcpserver
|
3天前
|
机器学习/深度学习 数据挖掘 算法框架/工具
Python:编程的艺术与魅力
Python:编程的艺术与魅力
14 3