本文用的编辑器是VsCode。
如果你还没有在VsCode中配置好Python
可以查看此篇 👉 在VsCode中配置Python
从基础开始学习Python
什么是Python?
Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。
中文编码
Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错,这时候只需要在文件开头加上 # -*- coding: UTF-8 -*-
或者 # coding=utf-8
即可 注意:’='两边不能有空格
基础语法
实现第一个 hello,world!
print("hello,world!");
标识符
在 Python 里,标识符由字母、数字、下划线组成。
在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。
Python 中的标识符是区分大小写的。
以下划线开头的标识符是有特殊意义的。以单下划线开头_foo
的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。以双下划线开头的__foo
代表类的私有成员,以双下划线开头和结尾的 __foo__
代表 Python 里特殊方法专用的标识,如 __init__()
代表类的构造函数。
Python中可以同行显示多条语句
#中间用 ; 隔开即可
print("hello");print("world");
保留字符
这些保留字不能用作常数或变数,或任何其他标识符名称。所有 Python 的关键字只包含小写字母。
行和缩进
Python最大的区别就是,Python 的代码块不使用大括号 {}
来控制类,函数以及其他逻辑判断。python 最具特色的就是用缩进来写模块。缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。
IndentationError: unindent does not match any outer indentation level 错误表明,你使用的缩进方式不一致,有的是 tab 键缩进,有的是空格缩进,改为一致即可。
如果是 IndentationError: unexpected indent 错误, 则 python 编译器是在告诉你"你的文件里格式不对了,可能是tab和空格没对齐的问题",所有 python 对格式要求非常严格。因此,在 Python 的代码块中必须使用相同数目的行首缩进空格数。建议你在每个缩进层次使用 单个制表符 或 两个空格 或 四个空格 , 切记不能混用 \
多行语句
Python中一般用新行语句作为结束语句。我们可以使用反斜杠 \
将一行的语句拆分为多行,如代码所示:
total = item_one + \
item_two + \
item_three
语句中如果包括 []
{}
()
三种括号就不需要使用多行连接符,如下图所示:
引号
Python 可以使用引号'
、双引号"
、三引号'''
或 """
来表示字符串,引号的开始与结束必须的相同类型的。其中三引号可以由多行组成,编写多行文本的快捷语法,常用于文档字符串,在文件的特定地点,被当做注释。
test = 'test'
helloworld= "这是一个helloworld。"
paragraph = """这是一个段落。
包含了多个语句,可以作为注释"""
注释
分为两种注释
# 单行这样注释
'''多行这样注释'''
#或者
"""多行这样注释也可以"""
换行/不换行的输出
print() 注意:python3之后print后必须要加上括号了
多个语句组成的代码组
缩进相同的一组语句构成一个代码块,我们称之代码组。像if、while、def和class这样的复合语句,首行以关键字开始,以冒号:
结束,该行之后的一行或多行代码构成代码组。我们将首行及后面的代码组称为一个子句(clause)。
变量类型
变量赋值
在变量赋值时不需要声明变量类型
- 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。
- 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
- 等号(=)用来给变量赋值。
- 等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。例如:
counter = 100
miles = 1000.0
name = "John"
print(counter)
print(miles)
print(name)
多个变量赋值
标准数据类型
五个标准的数据类型:
Numbers
(数字)String
(字符串)List
(列表)Tuple
(元组)Dictionary
(字典)
Python数字
数字数据类型用于存储数值
他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。
当你指定一个值时,Number对象就会被创建:
var1 = 1
var2 = 10
您也可以使用del语句删除一些对象的引用。
del语句的语法是:
del var1[,var2[,var3[....,varN]]]]
您可以通过使用del语句删除单个或多个对象的引用。例如:
del var
del var_a, var_b
Python支持四种不同的数字类型:
int
(有符号整型)long
(长整型[也可以代表八进制和十六进制])float
(浮点型)complex
(复数)
字符串
# 它是编程语言中表示文本的数据类型。
s='helloworld'
'''
python的字串列表有2种取值顺序:
从左到右索引默认0开始的,最大范围是字符串长度少1
从右到左索引默认-1开始的,最大范围是字符串开头
如下:
d e m o
0 1 2 3
-4 -3 -2 -1
如果你要实现从字符串中获取一段子字符串的话,可以使用 [头下标:尾下标] 来截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。
[头下标:尾下标] 获取的子字符串包含头下标的字符,但不包含尾下标的字符。
'''
str = 'abcdef'
print(str)
print(str[1:5])
print(str[-4:-2])
print(str[2:])
print(str * 2) # 星号(*)是重复操作
# Python 列表截取可以接收第三个参数,参数作用是截取的步长,以下实例在索引 1 到索引 4 的位置并设置为步长为 2(间隔一个位置)来截取字符串
print(str[1:4:2])
print(str + "HelloWorld") # 加号(+)是字符串连接运算符
列表
'''
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。
列表用 [ ] 标识,是 python 最通用的复合数据类型。
列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。
'''
list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']
print(list) # 输出完整列表
print(list[0]) # 输出列表的第一个元素
print(list[1:3]) # 输出第二个至第三个元素
print(list[2:]) # 输出从第三个开始至列表末尾的所有元素
print(tinylist * 2) # 输出列表两次
print(list + tinylist) # 打印组合的列表
元组
'''
元组是另一个数据类型,类似于 List(列表)。
元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
'''
tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
tinytuple = (123, 'john')
print(tuple) # 输出完整元组
print(tuple[0]) # 输出元组的第一个元素
print(tuple[1:3]) # 输出第二个至第四个(不包含)的元素
print(tuple[2:]) # 输出从第三个开始至列表末尾的所有元素
print(tinytuple * 2) # 输出元组两次
print(tuple + tinytuple) # 打印组合的元组
在元组中,如果给元素进行赋值更新,则在执行是会报错,如下图: