Python作为当下最受欢迎的语言之一,可优雅地用于web开发、机器学习、数据分析等等。如果准备开启码农生涯,那么学Python吧,她会保护你的秀发😁!
从零开始学习一门新语言,有时不知所措,偶尔彷徨。本文将打消你内心的疑虑,展示快速编写Python程序是多么的简单。冲吧!少年!!!未来很美👏。
本文主要介绍入门python的5大知识点:
- 变量及数据类型,编程的基石
- 条件控制语句,随你所想
- 函数,封装细节透明调用
- 循环控制,再来1万次不是梦
- 数据结构,计算机的灵魂
行文过于浮夸,见谅见谅!
1. 数据类型和变量
使用Python之前时,需要牢固掌握python支持的数据类型,以及如何定义变量。变量允许你存储不同类型数据,然后方可在整个代码中使用。
与许多其它语言不同,Python并不十分强调定义变量的数据类型,这让编码变得Happy!(让编程关注重点,繁琐交给机器)。
总体来说,Python有三种主要数据类型:
- 数字
Number
- 字符串
String
- 布尔
Bool
数字Number
数字有三种主要类型:
- 整数
Integer
- 浮点数
Float
- 复数
Complex Number
整数:
整数是由所有数学上的-10、-9、..、1、2、...、999
之类的整数组成。每个整数占用一定内存,如0
占用24
个字节,1
占用28
个字节。
浮点数:
类似正负十进制小数(但也不全是,毕竟有精度的限制),如3.1
,5.0
,-3.24543
。
复数:
复数两个值: 实数部分和虚数部分(用j
表示)。
声明复数语法: complex(real, imaginary)
。
复数通常占用约32
字节内存。
字符串
字符串是一个封闭在单引号'
或双引号"
内的字符集合(字符串也可以是空的)。比如经典的'Hello, World'
就是一个字符串。
注意这里使用单引号'
,但如果你想说 "Hello world it’s me!"
就需要使用双引号"
,因为 "it's "
这个词里有一个单引号'
。如果尝试使用单引号'
,python直接报错!。
字符串中的每个字符都有一个与之相关的索引(index)。以字符串 "Hello"
为例,如图所示:
有了索引,那么获取字符串长度以及访问其中的字符就变得easy了。
获取一个字符串的长度,可简单地使用len
函数(python内置函数),如下代码:
random_string = "I am Pythontip"
print (len(random_string))
字符串"I am Pythontip"
长度14
,总共有14
个字符。
访问其中某个字符,可使用string[index]
获取索引index
处的字符。如上例子:
random_string = "I am Pythontip"
print (len(random_string))
print(random_string[0]) # I
print(random_string[13]) # p
注意:索引从
0
开始,学习就喜欢从0
开始🤪。
Bool布尔型
布尔(也被称为bool
)数据类型允许在两个值之间选择:真True
和假False
。布尔型数据用于确定一个表达式或比较的逻辑是否正确。它在代码比较中发挥了巨大的作用。但本质上Bool
也可抽象成两个数字0
和1
,所以某种角度上也是整数。
“假作真时真亦假, 无为有处有还无” 扯远了,只不过《红楼梦》真是本好书,强烈建议入门Python者从《红楼梦》开始😇
变量
变量有自己的标识(命名),并且存储了特定的值,使你的代码更加清晰。所以如果有人阅读你的代码,他们会知道发生了什么,每个变量意味着什么。
为变量赋值的最简单方法是通过=
操作符:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-922ZZGIE-1637132210034)(http://cdn.py2fun.com/course_edu/course/assets/143befdca7b7bf89a137ce65a22147d0.svg)]
变量的一大优势是,它允许我们 存储数据,以便以后可以在代码中访问使用。
变量是可变的(mutable)。因此,一个变量的值总是可以被更新或替换。
在Python中为一个变量取名时,必须遵循一些规则:
- 名字可以以大写字母或小写字母开头
- 数字可以出现在名称中,但不能出现在开头
_
字符可以出现在名称的任何地方- 空格是不允许的。建议使用驼峰命名增加可读性。
- 变量的名称应该是有意义的,而不是随机的字符。
2. 条件控制语句
条件语句是一个布尔表达式,如果为 True
,则执行一段代码。这给程序提供了控制代码分支逻辑的能力。
三种类型的条件语句是:
if
if-else
if-elif-else
if语句
if
是最简单的条件语句,但却是Python条件控制的基础。If
语句是在想达到一个期望的结果时使用,如果结果没有达到,那么就不执行相关代码。If
语句大声朗读就是:
如果条件为"真",则执行该代码。否则,跳过它,继续前进。
下面是if
语句例子:
num = 5
if (num == 5):
print ("数字为 5")
if (num > 5):
print ("数字大于 5")
输出为数字为 5
。
If-else
语句
if-else
语句允许对程序进行更强大的控制。该语句乐死:“如果这个条件为真,就执行代码,否则就执行其他代码片段”。现在你有能力根据条件的值执行两个不同的动作,无论它是真还是假。
如下示例:
num = 60
if num <= 50:
print ("数字小于等于 50")
else:
print ("数字大于 50")
# 数字大于 50
If-elif-else
语句
在编程中,并不总是 True
或 False
的情况,一个问题可能有多种结果。这就是 if-elif-else
语句发挥作用的地方。它是最全面的条件语句,允许你轻松创建多个条件。elif
代表 else if
,表示如果前一个条件失败,就尝试这个条件。
直接看例子:
light = "Red"
if light == "Green":
print("绿灯行")
elif light == "Yellow":
print("黄灯注意")
elif light == "Red":
print("红灯停")
else:
print("信号灯不正确")
# 红灯停
上面条件语句满足所有可能的light
值(三种情况,红、黄、绿)。
试着改变这个值,看看输出如何变化。
3. 函数
函数是可重复使用的代码片段,它有助于组织和维护代码,也让调试和编写代码变得更容易。Python有两种主要的函数:
- 内置函数
- 自定义函数
函数的语法如下:
def function name (parameters):
# 函数的主体代码
简单分解下函数语法:
Python 中的函数是用 def
关键字声明。函数名可以是任意的,但最好的做法是为这段代码的作用命名,可读性更强。
最后,函数有参数,也就是输入。它们是向函数传递数据的一种手段;传入参数的值或变量被称为参数。请注意,参数是可选的。
现在来看看一个完整函数:
def minimum (first, second):
if (first < second):
print (first)
else:
print (second)
num1 = 10
num2 = 20
minimum (num1, num2)
# 10
函数的主体代码包含了将执行的一系列操作。它总是向右缩进。如果它没有缩进到右边,函数将不会执行,python提示语法错误。如前所述,这个函数可在你的代码中重复使用。
当创建一个函数时,必须定义参数的数量和名称。这些名称只与该函数有关,不会影响代码中其他地方的变量名。参数用圆括号()
括起来,用逗号,
隔开。
4. 循环控制
循环是一种控制结构,用于将一组特定指令重复执行一定的次数
循环:有效地解决了必须反复编写同一组指令的问题。
循环的最大应用之一是遍历数据结构,如列表、元组、集合等。在这种情况下,循环在数据结构的元素上进行迭代,同时每次执行一组操作。
两种主要类型的循环:
For
循环While
循环
for循环使用一个迭代器来遍历一个序列,例如,列表的元素,等等。迭代器从序列的开头开始,遍历每个索引,直到条件得到满足。在for
循环中,需要定义三个主要部分:
- 迭代器
iterator
- 遍历的序列
- 要执行的代码
循环总是以for
关键字开始,如下例子:
float_list = [2.5, 16.42, 10.77, 8.3, 34.21]
count_greater = 0
for num in float_list:
if num > 10:
count_greater += 1
print (count_greater)
# 3
while循环只要某条件为True
,就会在某一组操作上不断迭代。它的操作逻辑如下:
当这个条件为真时,保持循环运行。
与for
循环相比,在创建while
循环时应该更加小心。因为while
循环有可能永远不会结束,导致程序崩溃。
在while
循环常用如下关键字,以避免程序崩溃:
break
中断循环continue
继续循环pass
当需要遍历一个数据结构或多次执行某个操作时,循环就非常有用。
5. 数据结构
数据结构是一种按照某种格式或结构来存储和组织数据的方式。
Python的四个主要数据结构:
- 列表
list
- 元组
tuple
- 字典
dict
- 集合
set
列表
列表可能是Python 中最常用的数据结构。允许你在一个容器中存储不同数据类型的元素。列表是有序的,就像字符串一样,里面的元素被线性地存储在一个特定的索引中,这使得它们易于遍历和访问。
正如下面的例子中看到的,列表的内容由方括号[]
括起来:
jon_snow = ["Jon Snow", "Winterfell, 30"]
print (jon_snow) # 输出整个列表
# ['Jon Snow', 'Winterfell, 30']
print (jon_snow[0]) # 输出第一个元素
# Jon Snow
print (len(jon_snow)) #输出列表长度
# 2
元组
元组与列表非常相似(即线性、有序),除了它的内容不能被改变,因为它的状态是不可改变的。然而,元组可以像列表一样包含可改变的元素。
元组的内容被括在小括号里()
,而不是方括号:
car = ("Ford", "Raptor", 2019, "Red")
print (car)
# ('Ford', 'Raptor', 2019, 'Red')
print (len(car))
# 4
print (car[1])
# Raptor
print (car[2:])
# (2019, 'Red')
字典
字典存储键值对,其中每个唯一的键是一个索引,它持有与之相关的值。字典是无序的,因为条目不是以线性结构存储的。
在 Python 中,必须把字典的内容放在大括号里{}
:
empty_dict = {}
print (empty_dict)
# {}
phone_book = {"Batman": 468426,
"Cersei": 237734,
"Ghostbusters": 44678}
print(phone_book)
# {'Ghostbusters': 44678, 'Cersei': 237734, 'Batman': 468426}
集合
集是一个无序数据项的集合。当仅仅需要跟踪某个数据是否存在时,集合特别有用。它不允许重复,意味着可以将一个数据结构转换为集合,从而删除任何重复的数据。但需要注意的是,你只能将不可变数据结构转换为集合,比如元组,但列表或字典就不行。
集合,像字典一样,利用大括号{}
来存储数值:
random_set = {"pythontip", 1408, 3.142, (True, False)}
print (random_set)
# {1408, 'pythontip', (True, False), 3.142}
每种数据结构都各自好处和取舍。例如,列表可以保持数据的顺序,所以如果顺序很重要,那么列表将是首选的数据结构。如果需要将值与键相关联,在以后有效地(按键)查找它们,那么字典将是最有用的。使用那种数据结构,取决于你想解决的问题。
小节
Python是一种强大的语言,它的应用是无穷的。上面只是简单介绍Python 5大知识点,希望对你有用🤪。
如果想深入学习Python,可以看看笔者呕心制作的python从零到一课程,有更详细地讲解,并且代码可在线运行,配套了大量测试练习(不小心打了一个广告👏)。
pythontip出品,Happy coding!
公众号:夸克编程。