2. 初识Python脚本

更新於 發佈於 閱讀時間約 13 分鐘

Python的系列课程是写给零基础的小白看的,如果基础比较好的小伙伴可以暂时先不关注,等待后续课程。

Hi, 大家好,我是茶桁。

之前的课程已经给大家讲解了Python相关特性和基本语法。那么这节课呢,我们尝试着从最简单的脚本来开始认识Python。

在开始这节课之前呢,我是默认大家已经安装好了VSCode,并且配置好了Jupyter环境和Python的基本环境。如果在这一步有疑问的小伙伴,可以留言私信我。

我们在终端里输入:

 $ python -V
 Python 3.10.11

可以看到自己的Python版本。

这个时候,我们其实已经可以在终端里进行Python的代码编辑了,如下:

 $ python
 >>> print("Hello AI Cheats")
 Hello AI Cheats

如下图:

raw-image

我们这里需要理解一下,编写python程序的文件,称为python的脚本或程序。要求我们当前的python脚本的文件后缀名必须是.py,如果是Jupyter的文件,后缀是.ipynb

print() 输出函数

print可以在程序中输出一些内容,如字符串,数字等等。

函数就是为了完成一些功能,例如: print就是为了输出数据。

变量

变量就是用一个英文字符串来记录或标记一些数据,并且这个被标记的数据是可以变化的。

比如 num = 10,就是把数据10赋值给了变量num来使用,之后就可以使用num来代替这个10的数据。

命名规范

这里我们强调一下Python的命名规范,所有在教授编程的教程中最初一定都会强调规范性。

变量的命名规范如下:

  • 变量名可以使用字母,数字,下划线_,
  • 不能以数字开头
  • 严格区分大小写
  • 不要使用中文
  • 不要使用关键字 if else True False print

当然具体关键字并不仅仅是这些,这里列出了Python的关键字,大家可以自行查看一下,命名的时候需要进行避免。

变量的定义方式

在遵循了变量命名规范之下,我们可以有以下几种定义方式:

 # 第一种定义方式
 a = 10
 b = 20
 ​
 # 第二种定义方式
 a,b = 30, 40

这里我们来思考一个问题,如何实现两个变量的数据相互交换呢?

 # 定义两个变量
 a = 10
 b = 20
 ​
 # 交换两个变量的值
 ...


如果使用最普通的方式完成变量数据的交换,那么我们可以使用如下步骤:

  1. 把a变量的值 赋值给c ,此时 c变量中 就是 10
  2. 把b变量的值 赋值给a , 此时 a变量中 就是 20
  3. 把c变量的值 赋值给b , 此时 b变量中 就是 10
 # 普通方式交换数据
 a = 10
 b = 20
 ​
 c = a
 a = b
 b = c
 ​
 print(a, b)

输出结果:

 20, 10


我们还可以利用python定义比变量的语法来实现变量的数据交换

 # 定义比变量的语法方式
 a = 10
 b = 20
 a,b = b,a
 print(a, b)

输出结果:

 20,10

Python的数据类型

数据类型就是数据的表现形式,比如 “你好” 就是一个字符串,200 就是一个数字。

在程序当中除了这种常用的字符和数字外还有很多其它的数据表现形式。

在Python中,我们可以使用type()函数来返回当前数据的数据类型:

 s = 'ilovechaheng'
 res = type(s)
 print(res)

输出结果:

 <class 'str'>

字符串类型

  • 单双引号都可以定义字符串
  • 三引号也可以定义字符串
  • 单双引号定义的字符串不能随意换行,需要在换行时指明换行符
  • 字符串中的引号可以互相嵌套,但是不能嵌套自己(例如不能在单引号中嵌套单引号,除非转义)
  • 字符串中可以使用转义字符,如 \r \n \t ...
  • 如果不想在字符串中实现转义字符可以在字符定义时 加 love = r'\nihao \shijie'
 # 单引号和双引号进行定义
 love = 'iloveyou'
 hello = "你好 世界"
 ​
 # 使用三引号实现大字符串的定义,一般用于大文本字符串的定义,并且大字符串,可以换行
 s = '''
 比如说这一个
 很长很长的文章内容。。。
 '''

数字类型

  • int 整型
  • float 浮点类型
  • complex 复数
  • bool 布尔类型(True,False)
 # 数字类型 Number
 varn = 521
 varn = -1111
 varn = 3.1415926
 varn = 0x10  # 十六进制
 varn = b'001100111' # bytes
 ​
 # 复数
 varn = 5+6j  # complex
 ​
 # 布尔类型 bool
 varn = True
 varn = False
 # print(varn,type(varn))
 ​
 # 数值类型可以参与运算
 a = 10
 b = 20
 print(a+b) # 输出结果 30

List列表类型

  • 列表用来表示一系列数据,例如: 需要记录一组数字或其它数据
  • 列表中存储的数据可以是任意类型的
  • 在需要记录多个数据时,可以使用中括号进行定义 [],
  • 并且每个数据之间使用逗号分隔 ,
  • 例如以下数据,定义了几组数字
  • 列表中存储的每一组数据,称为元素
  • 列表中存储的数据,可以通过下标的方式进行获取
  • 那么列表中元素的值可不可以存储一个列表,称为 二级列表(二维列表) 或者 多级列表 (多维列表)

关于列表中的下标,正读和反读的正负号是不一样的:

 # 关于列表中的下标
 '''
  0   1   2   3   4
 ['a','b',521,'pai',3.1415926]
  -5   -4   -3 -2   -1
 '''
 a = ['a','b',521,'pai',3.1415926]
 print(a[-3])

输出结果:

 521

tuple 元组类型的定义

  • 在定义多个数据内容时,可以选择使用List列表类型
  • 还可以使用元组类型来定义,
  • 元组和列表非常像,都时用于存储多个数据时使用
  • 元组使用小括号进行定义(),列表使用中括号进行定义
  • 元组的最大特点就是值不能被改变
 vart = (1,2,3,'a','b')
 # 元组的其它定义方式
 vart = 1,2,3

注意在定义元组时,如果元组中只有一个元素,那么需要加, 不然就不是元组类型了

Dict字典类型

  • 字典也是用于存储一组或多组数据时使用,使用大括号 {}来定义
  • 字典是 键值对 的存储方式 name :admin
  • 键和值之间使用冒号进行分隔,多组键值对之间使用逗号分隔
  • 键必须是字符串或数字类型,值可以是任意类型
  • 键名不能重复,值可以重复
 # 比如需要记录一本书的相关数据 书名,作者,价格,。。。
 vard = {'title':'<<鬼谷子>>','author':'鬼谷子','price':'29.99'}
 # print(vard,type(vard))
 # {'title': '<<鬼谷子>>', 'author': '鬼谷子', 'price': '29.99'} <class 'dict'>
 ​
 # 获取字典中的值
 print(vard['title'])
 # 字典中的键不能重复使用,否则会覆盖
 vard = {'a':10,'b':10,'c':20,'a':'aa',1:'abcdef','2':'2222'}
 print(vard)

输出结果:

 <<鬼谷子>>
 {'a': 'aa', 'b': 10, 'c': 20, 1: 'abcdef', '2': '2222'}

在python之前的版本中,字典是无序的

set集合类型

  • set集合是一个 无序且元素不重复的 集合的数据类型
  • set集合使用 中括号或者set()方法来定义
  • 如果需要定义一个空集合时 只能使用 set()方法,因为大括号时定义的空字典
  • 集合主要用于运算,交集,差集,并集,对称集合
 a = {1,2,3,'a'}
 # 给集合添加元素
 # a.add('b')
 # 无法获取集合中的单个元素,但是可以添加和删除
 # a.discard('a')
 # print(a)
 # 检查当前的元素是否在集合中
 # print(1 in a)
 ​
 ​
 # 集合主要用于运算,交集,差集,并集,对称集合
 a = {1,2,3,'a','b'}
 b = {1,'a',22,33}
 ​
 print(a & b) # 交集 {1, 'a'}
 print(a - b) # 差集 {'b', 2, 3} a 集合有,b集合没有的
 print(a | b) # 并集 {1, 2, 3, 33, 'a', 'b', 22} 两个集合,放到一起,并且去重
 print(a ^ b) # 对称差集 {33, 2, 3, 'b', 22}

输出结果:

 {1, 'a'}
 {2, 3, 'b'}
 {1, 2, 3, 'a', 33, 22, 'b'}
 {33, 2, 3, 22, 'b'}


总结

最后,让我们来进行总结一下,关于Python的数据类型可以查看如下列表:

 字符串 string
 数字类型 Number
    整型 int
    浮点 float
    复数
    布尔 bool
 列表 list
 元组 tuple
 字典 dict
 集合 set
 ​
 可变数据类型:列表,字典,集合
 不可不数据类型: 字符串,数字,元组
 ​
 容器类型数据 : 字符串,列表,元组,集合,字典
 非容器类型数据: 数字,布尔类型

数据类型转换

什么是数据类型转换?

把一个数据类型转换为另一个数据类型,例如 字符串转为数字

为什么需要数据类型转换?

因为不同的数据类型之间不能运算

数据类型转换的形式?

  • 自动类型转换
  • 强制类型转换

自动类型转换

当两个不同的值进行运算时,结果会向更高的精度进行计算:True ==> 整型 ==> 浮点 ==> 复数

 a = 123
 b = True  # 在和数字运算时 True转为数字1,False转为数字 0
 print(a+b)
 print(12.5+22)
 print(True+3.14)

输出结果:

 124
 34.5
 4.140000000000001

强制类型转换

python中的每个数据类型都有对应的方法,可以对数据类型进行转换

  • str()可以把所有的其它数据类型转换为字符串类型
  • int()字符串转数字类型时,如果字符串中是纯数字,可以转换,其它容器类型不能转为数字int类型
  • float()浮点类型的转换和int类型一样,不过转换的结果是浮点类型
  • bool() 可以把其它类型转换布尔类型的True或False
    • 以下情况转bool的结果是 False: '',0,0.0,False,[],{},(),set()
  • list()列表
    • 数字类型是 非容器类型,不能转换为列表
    • 字符串 转换为列表时 会把字符串中的每一个字符当做列表的元素
    • 集合 可以转换为 list列表类型
    • 元组 可以转换为 list列表类型
    • 字典 可以转换为 list列表类型,只保留了字典中的键
  • tuple()元组
    • 数字类型 非容器类型,不能转换为元组
    • 其它容器类型的数据进行转换时,和列表一样
  • set()集合
    • 数字类型 非容器类型,不能转换为 集合
    • 字符串,列表,元组 可以转为 集合 结果是无序的
    • 字典转换为集合时,只保留了字典的键 key
  • dict()字典
    • 数字类型 非容器类型,不能转换为 字典
    • 字符串不能直接转换为 字典
    • 列表可以转换为字典,要求是一个二级列表,并且每个二级元素只能有两个值
    • 元组可以转换为字典,要求是一个二级元组,并且每个二级元素只能有两个值
留言
avatar-img
留言分享你的想法!
avatar-img
茶桁的沙龍
9會員
62內容數
从基础开始,再到Python,然后是CV、BI、NLP等相关技术。从头到尾详细的教授一边人工智能。
茶桁的沙龍的其他內容
2023/08/22
虽然是最后一节课了,但是本节课的任务却是一点也不轻松。相比较而言,如果你以后从事的是数据治理和分析工作,那么本节课的内容可能会是你在今后工作中用到的最多的内容。我们需要学习行列索引的操作,数据的处理,数据的合并,多层索引,时间序列,数据的分组聚合(重点)。最后,我们会有一个案例的展示。
Thumbnail
2023/08/22
虽然是最后一节课了,但是本节课的任务却是一点也不轻松。相比较而言,如果你以后从事的是数据治理和分析工作,那么本节课的内容可能会是你在今后工作中用到的最多的内容。我们需要学习行列索引的操作,数据的处理,数据的合并,多层索引,时间序列,数据的分组聚合(重点)。最后,我们会有一个案例的展示。
Thumbnail
2023/08/21
Hi,大家好。我是茶桁。 上一节课中,我们学习了matplotlib. 实际上,我们已经进入了数据可视化阶段。 可是在上一节课中,所有的数据都是我们固定写好的,包括两个电影的数据展示的案例(柱状图和直方图),都是我们将数据手动写成了数据列表,然后直接使用。 在我们平时的工作中,不太有那么多的机
Thumbnail
2023/08/21
Hi,大家好。我是茶桁。 上一节课中,我们学习了matplotlib. 实际上,我们已经进入了数据可视化阶段。 可是在上一节课中,所有的数据都是我们固定写好的,包括两个电影的数据展示的案例(柱状图和直方图),都是我们将数据手动写成了数据列表,然后直接使用。 在我们平时的工作中,不太有那么多的机
Thumbnail
2023/08/21
Hi, 大家好。我是茶桁。 在上一节课中,我们结束了Python正式的所有内容,但是咱们的Python课程还未结束。从这节课开始,我们要来学习一下Python的第三方库。 Python的生态非常完善也非常活跃,我们不太可能讲目前所有的第三方库全部都介绍一遍,只介绍几个有影响力并且和处理数据相关的
Thumbnail
2023/08/21
Hi, 大家好。我是茶桁。 在上一节课中,我们结束了Python正式的所有内容,但是咱们的Python课程还未结束。从这节课开始,我们要来学习一下Python的第三方库。 Python的生态非常完善也非常活跃,我们不太可能讲目前所有的第三方库全部都介绍一遍,只介绍几个有影响力并且和处理数据相关的
Thumbnail
看更多
你可能也想看
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
本文詳細解說了 Python print() 函數的各種隱藏語法,包括 value、sep、end、file 和 flush。作者以清晰的範例和解說,讓從未接觸程式語言的人也能夠理解。而最後提到了訂閱房間的付費方式,並歡迎大家訂閱。文章內容較為詳細,提供了豐富的資訊。
Thumbnail
本文詳細解說了 Python print() 函數的各種隱藏語法,包括 value、sep、end、file 和 flush。作者以清晰的範例和解說,讓從未接觸程式語言的人也能夠理解。而最後提到了訂閱房間的付費方式,並歡迎大家訂閱。文章內容較為詳細,提供了豐富的資訊。
Thumbnail
Hi, 大家好。我是茶桁。 这一段Python之旅怎么样?还算顺利吧? 之前我们都学习了些什么?有基本常识,流程,函数,不同类型的数据以及一些模块对吧?并且还做了一些练习来巩固所学过的内容。 那么今天,我们接着来学习模块。不过今天要学的模块和以往不太一样了,以前我们学习的都是Python内
Thumbnail
Hi, 大家好。我是茶桁。 这一段Python之旅怎么样?还算顺利吧? 之前我们都学习了些什么?有基本常识,流程,函数,不同类型的数据以及一些模块对吧?并且还做了一些练习来巩固所学过的内容。 那么今天,我们接着来学习模块。不过今天要学的模块和以往不太一样了,以前我们学习的都是Python内
Thumbnail
Hi,大家好。我是茶桁。 不知不觉中,咱们针对人工智能的Python课程已经过去了一半。相信大家这段时间也都有所进步了。 今天这节课呢,我给大家划一个重点。不仅仅是Python,很多语言里都是通用的,而且非常的强大。这就是我们的正则表达式。 说起正则表达式,很多程序员其实对其都不是很重视,但是
Thumbnail
Hi,大家好。我是茶桁。 不知不觉中,咱们针对人工智能的Python课程已经过去了一半。相信大家这段时间也都有所进步了。 今天这节课呢,我给大家划一个重点。不仅仅是Python,很多语言里都是通用的,而且非常的强大。这就是我们的正则表达式。 说起正则表达式,很多程序员其实对其都不是很重视,但是
Thumbnail
Hi,大家好。我是茶桁。 系统内置模块就是安装完Python解释器之后,系统本身所提供的模块。我知道,咱们之前的课程里有学习系统的内置函数,这个模块和函数不是一个东西。模块这种东西,是需要导入后才可以使用的,比如:json, re, os等等。
Thumbnail
Hi,大家好。我是茶桁。 系统内置模块就是安装完Python解释器之后,系统本身所提供的模块。我知道,咱们之前的课程里有学习系统的内置函数,这个模块和函数不是一个东西。模块这种东西,是需要导入后才可以使用的,比如:json, re, os等等。
Thumbnail
在第五堂課中,我們將探討 Python 中的函式(functions)。 函式是一種讓我們可以將程式碼塊組織成一個獨立、可重複使用的單元的方式。 函式可以接受參數 (arguments) 並返回一個結果。 讓我們在新的文件 functions.py 中學習如何定義和使用函式。
Thumbnail
在第五堂課中,我們將探討 Python 中的函式(functions)。 函式是一種讓我們可以將程式碼塊組織成一個獨立、可重複使用的單元的方式。 函式可以接受參數 (arguments) 並返回一個結果。 讓我們在新的文件 functions.py 中學習如何定義和使用函式。
Thumbnail
在第五課中,我們將探討 Python 中的函式(functions)。 函式是一種讓我們可以將程式碼塊組織成一個獨立、可重複使用的單元的方式。函式可以接受參數 (arguments) 並返回一個結果。
Thumbnail
在第五課中,我們將探討 Python 中的函式(functions)。 函式是一種讓我們可以將程式碼塊組織成一個獨立、可重複使用的單元的方式。函式可以接受參數 (arguments) 並返回一個結果。
Thumbnail
Python的系列课程是写给零基础的小白看的,如果基础比较好的小伙伴可以暂时先不关注,等待后续课程。 Hi, 大家好,我是茶桁。 之前的课程已经给大家讲解了Python相关特性和基本语法。那么这节课呢,我们尝试着从最简单的脚本来开始认识Python。 在开始这节课之前呢,我是默认大家已经安装好
Thumbnail
Python的系列课程是写给零基础的小白看的,如果基础比较好的小伙伴可以暂时先不关注,等待后续课程。 Hi, 大家好,我是茶桁。 之前的课程已经给大家讲解了Python相关特性和基本语法。那么这节课呢,我们尝试着从最简单的脚本来开始认识Python。 在开始这节课之前呢,我是默认大家已经安装好
Thumbnail
Python 基本語法 python 語法的後綴名是以.py 結尾 python 執行方式 使用交互介面執行 使用 python test.py 命令執行 使用./test.py 執行 python 標示符 以單下劃線開頭的屬性,表示是類的私有屬性(包括方法,變量)。如:_foo表示不能直接訪問的類
Thumbnail
Python 基本語法 python 語法的後綴名是以.py 結尾 python 執行方式 使用交互介面執行 使用 python test.py 命令執行 使用./test.py 執行 python 標示符 以單下劃線開頭的屬性,表示是類的私有屬性(包括方法,變量)。如:_foo表示不能直接訪問的類
Thumbnail
不間斷 Python 挑戰 Day 2 - 註解、變數與資料型態
Thumbnail
不間斷 Python 挑戰 Day 2 - 註解、變數與資料型態
Thumbnail
該篇文章首要為 1.下載python與文字編輯器vs code (Visual Studio Code) 2.撰寫第一支python程式
Thumbnail
該篇文章首要為 1.下載python與文字編輯器vs code (Visual Studio Code) 2.撰寫第一支python程式
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News