《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天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
97 80
|
4天前
|
Python 容器
Python学习的自我理解和想法(9)
这是我在B站跟随千锋教育学习Python的第9天,主要学习了赋值、浅拷贝和深拷贝的概念及其底层逻辑。由于开学时间紧张,内容较为简略,但希望能帮助理解这些重要概念。赋值是创建引用,浅拷贝创建新容器但元素仍引用原对象,深拷贝则创建完全独立的新对象。希望对大家有所帮助,欢迎讨论。
|
7天前
|
数据可视化 算法 数据挖掘
Python量化投资实践:基于蒙特卡洛模拟的投资组合风险建模与分析
蒙特卡洛模拟是一种利用重复随机抽样解决确定性问题的计算方法,广泛应用于金融领域的不确定性建模和风险评估。本文介绍如何使用Python和EODHD API获取历史交易数据,通过模拟生成未来价格路径,分析投资风险与收益,包括VaR和CVaR计算,以辅助投资者制定合理决策。
47 15
|
6天前
|
存储 索引 Python
Python学习的自我理解和想法(6)
这是我在B站千锋教育学习Python的第6天笔记,主要学习了字典的使用方法,包括字典的基本概念、访问、修改、添加、删除元素,以及获取字典信息、遍历字典和合并字典等内容。开学后时间有限,内容较为简略,敬请谅解。
|
10天前
|
存储 程序员 Python
Python学习的自我理解和想法(2)
今日学习Python第二天,重点掌握字符串操作。内容涵盖字符串介绍、切片、长度统计、子串计数、大小写转换及查找位置等。通过B站黑马程序员课程跟随老师实践,非原创代码,旨在巩固基础知识与技能。
|
1天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
13 2
|
9天前
|
程序员 Python
Python学习的自我理解和想法(3)
这是学习Python第三天的内容总结,主要围绕字符串操作展开,包括字符串的提取、分割、合并、替换、判断、编码及格式化输出等,通过B站黑马程序员课程跟随老师实践,非原创代码。
|
6天前
|
Python
Python学习的自我理解和想法(7)
学的是b站的课程(千锋教育),跟老师写程序,不是自创的代码! 今天是学Python的第七天,学的内容是集合。开学了,时间不多,写得不多,见谅。
|
4天前
|
存储 安全 索引
Python学习的自我理解和想法(8)
这是我在B站千锋教育学习Python的第8天,主要内容是元组。元组是一种不可变的序列数据类型,用于存储一组有序的元素。本文介绍了元组的基本操作,包括创建、访问、合并、切片、遍历等,并总结了元组的主要特点,如不可变性、有序性和可作为字典的键。由于开学时间紧张,内容较为简略,望见谅。
|
6天前
|
存储 索引 Python
Python学习的自我理解和想法(4)
今天是学习Python的第四天,主要学习了列表。列表是一种可变序列类型,可以存储任意类型的元素,支持索引和切片操作,并且有丰富的内置方法。主要内容包括列表的入门、关键要点、遍历、合并、判断元素是否存在、切片、添加和删除元素等。通过这些知识点,可以更好地理解和应用列表这一强大的数据结构。