Python基础学习

Python基础学习
九青月Python 基础教程
[TOC]
Python简介
Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。
Python 由 Guido van Rossum 于 1989 年底发明。像 Perl 语言一样, Python 源代码同样遵循 GPL(GNU General Public License) 协议。
- Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。
- Python 是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。
- Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
- Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。
Python 特点
- 1.易于学习:Python 有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
- 2.易于阅读:Python 代码定义的更清晰。
- 3.易于维护:Python的 成功在于它的源代码是相当容易维护的。
- 4.一个广泛的标准库:Python 的最大的优势之一是丰富的库,跨平台的,在 UNIX、Windows 和 Mac 兼容很好。
- 5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片段。
- 6.可移植:基于其开放源代码的特性,Python 已经被移植(也就是使其工作)到许多平台。
- 7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用 C 或 C++ 完成那部分程序,然后从你的 Python 程序中调用。
- 8.数据库:Python 提供所有主要的商业数据库的接口。
- 9.GUI 编程:Python 支持 GUI 可以创建和移植到许多系统调用。
- 10.可嵌入: 你可以将 Python 嵌入到 C/C++ 程序,让你的程序的用户获得”脚本化”的能力。
Python下载
Python最新源码,二进制文档,新闻资讯等可以在Python的官网查看到:
Python官网:https://www.python.org/
你可以在以下链接中下载 Python 的文档,你可以下载 HTML、PDF 和 PostScript 等格式的文档。
Python文档下载地址:https://www.python.org/doc/
集成开发环境(IDE:Integrated Development Environment): PyCharm
PyCharm 是由 JetBrains 打造的一款 Python IDE,支持 macOS、 Windows、 Linux 系统。
PyCharm 功能 : 调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制……
PyCharm 下载地址 : https://www.jetbrains.com/pycharm/download/
PyCharm 安装地址:http://www.runoob.com/w3cnote/pycharm-windows-install.html
执行你的第一个Python程序
对于大多数程序语言,第一个入门编程代码便是 “Hello World!”,以下代码为使用 Python 输出 “Hello World!”:
1 | print("Hello World!") |
输出结果:
1 | Hello World! |
恭喜你,已经成功入门Python这门编程语言了~!
Python 中文编码
刚刚我们已经学会了如何用 Python 输出 “Hello World!”。英文没有问题,但如果你输出中文字符 “你好,世界” 就有可能会碰到中文编码问题。
Python 文件中如果未指定编码,在执行过程会出现报错:
1 | #!/usr/bin/python |
以上程序执行输出结果为:
1 | File "test.py", line 2 |
Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。
解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*- 或者 # coding=utf-8 就行了
注意:# coding=utf-8 的 = 号两边不要空格。
所以如果大家在学习过程中,代码中包含中文,就需要在头部指定编码。
注意:Python3.X 源码文件默认使用UTF-8编码,所以可以正常解析中文,无需指定 UTF-8 编码。
注意:如果你使用编辑器,同时需要设置 py 文件存储的格式为 UTF-8,否则会出现类似以下错误信息:
1
2 SyntaxError: (unicode error) ‘utf-8’ codec can’t decode byte 0xc4 in position 0:
invalid continuation byte
Python注释
Python中单行注释采用 # 开头。
实例:
1 | #!/usr/bin/python |
输出结果:
1 | Hello, Python! |
注释可以在语句或表达式行末:
1 | name = "Runoob" # 这里的内容是一个注释 |
Python 中多行注释使用三个单引号 ’’’ 或三个双引号 “““。
示例:
1 | #!/usr/bin/python |
Python空行
函数之间或类的方法之间用空行分隔,可以表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构,提高代码的可维护性。
记住:空行也是程序代码的一部分。
Python变量
在Python编程中,变量是一个非常重要的概念。
简单来说,变量就是一个用来存储数据的容器。你可以把变量想象成一个盒子,你可以在这个盒子里放任何东西,比如数字、文字、甚至是其他更复杂的数据结构。
而Python会帮你记住这个盒子里放的是什么东西,这样你就可以在程序的其他地方使用这个盒子(变量)里的数据了。
举个例子,假设你有一些苹果,你想在程序中记住这些苹果的数量。你可以用一个变量来存储这个数量,比如:
1 | apple_count = 6 |
这里,apple_count就是一个变量名,=是赋值操作,6是我们想要存储的数据。这行代码的意思就是,我们创建了一个名为apple_count的变量,并把6这个值赋给了它。
声明变量
在Python中,我们不需要像其他一些编程语言那样显式地声明变量的类型。
Python是一种动态类型的语言,这意味着你可以在程序的运行过程中改变变量的类型。
你只需要给变量赋一个值,Python就会自动推断出这个变量的类型。比如:
1 | age = 114514 # 整数类型 |
这里,我们分别创建了三个变量:age、name和is_student,并分别给它们赋了不同的值。Python会自动推断出age是一个整数,name是一个字符串,is_student是一个布尔值。
变量的命名规则
Python的变量命名规范通常遵循以下规则:
1.变量名只能包含字母、数字和下划线(),不能以数字开头。
2.变量名不能使用保留字(例如if、else、while等等)。
3.变量名应该具有描述性,以便代码的可读性更高,例如在代码中使用的名称应该清晰、简洁、有意义,避免使用缩写或单个字符。
4.变量名应该遵循一定的命名约定,例如使用小写字母、下划线分隔单词的方式,例如my_variable_name。
1 | # 初始化变量num_x和num_y |
输出结果如下:
1 | 3 |
Python 变量类型
变量是存储在内存中的值,这就意味着在创建变量时会在内存中开辟一个空间。
基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。
因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。
单变量赋值
1 | height = 100 # 赋值整型变量 |
以上实例中,100,1000.0和”John”分别赋值给counter,miles,name变量。
执行以上程序会输出如下结果:
1 | 100 |
多变量赋值
Python允许你同时为多个变量赋值。例如:
1 | a = b = c = 1 |
以上实例,创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。
您也可以为多个对象指定多个变量。例如:
1 | a, b, c = 1, 2, "john" |
以上实例,两个整型对象 1 和 2 分别分配给变量 a 和 b,字符串对象 “john” 分配给变量 c。
Python标准数据类型
在内存中存储的数据可以有多种类型。例如,一个人的年龄可以用数字来存储,他的名字可以用字符来存储。
Python 定义了一些标准类型,用于存储各种类型的数据。Python有以下五个标准的数据类型:
- Numbers(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Dictionary(字典)
Python 数字
数字数据类型用于存储数值。
他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。
当你指定一个值时,Number 对象就会被创建:
1 | var1 = 1 |
您也可以使用del语句删除一些对象的引用。
del语句的语法是:
1 | del var1[,var2[,var3[....,varN]]] |
您可以通过使用del语句删除单个或多个对象的引用。例如:
1 | del var |
Python常用的数字类型有两种:
- int(整型)
- float(浮点型)
一些数值类型示例:
| int | float |
|---|---|
| 10 | 0.0 |
| 100 | 15.20 |
| -786 | -21.9 |
| 080 | 32.3e+18 |
| -0490 | -90.1 |
Python字符串
字符串或串(String)是由数字、字母、下划线组成的一串字符。
示例 :
1 | s = "Mura's blog" #引号内填写任意字符 |
它是编程语言中表示文本的数据类型。
Python的字串列表有2种取值顺序:
- 从左到右索引默认0开始的,最大范围是字符串长度少1
- 从右到左索引默认-1开始的,最大范围是字符串开头
如果你要实现从字符串中获取一段子字符串的话,可以使用 [头下标:尾下标] 来截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。
[头下标:尾下标] 获取的子字符串包含头下标的字符,但不包含尾下标的字符。
实例:
1 | s = 'abcdefg' |
输出结果:
1 | bcde |
当使用以冒号分隔的字符串,python 返回一个新的对象,结果包含了以这对偏移标识的连续的内容,左边的开始是包含了下边界。
上面的结果包含了 s[1] 的值 b,而取到的最大范围不包括尾下标,就是 s[5] 的值 f。
加号(+)是字符串连接运算符,星号(*)是重复操作。如下实例:
Python 列表截取可以接收第三个参数,参数作用是截取的步长,以下实例在索引 1 到索引 4 的位置并设置为步长为 2(间隔一个位置)来截取字符串。
Python列表
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。
列表用 [ ] 标识,是 python 最通用的复合数据类型。
列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。
加号 + 是列表连接运算符,星号 ***** 是重复操作。如下实例:
1 | lis = ["你", "干", "嘛", "~", "嗨", "哟"] |
输出结果如下:
1 | ['你', '干', '嘛', '~', '嗨', '哟'] |
Python 元组
元组是另一个数据类型,类似于 List(列表)。
元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
实例:
1 | tup = ("What", "can", "I", "say", "Manba", "out") |
输出结果如下:
1 | ('What', 'can', 'I', 'say', 'Manba', 'out') |
Python 字典
字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用”{ }“标识。字典由索引(key)和它对应的值value组成。
实例:
1 | # 定义一个字典,用于存储姓名和对应的年龄 |
输出结果为:
1 | {'小明': 18, '小红': 20, '小刚': 22, '小李': 19, '小王': 21} |
Python数据类型转换
有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。
| 函数 | 描述 |
|---|---|
| int(x [,base]) | 将x转换为一个整数 |
| float(x) | 将x转换到一个浮点数 |
| str(x) | 将对象 x 转换为字符串 |
| eval(str) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
| tuple(s) | 将序列 s 转换为一个元组 |
| list(s) | 将序列 s 转换为一个列表 |
| set(s) | 转换为可变集合 |
| dict(d) | 创建一个字典。d 必须是一个序列 (key,value)元组。 |
| frozenset(s) | 转换为不可变集合 |
| chr(x) | 将一个整数转换为一个字符 |
| unichr(x) | 将一个整数转换为Unicode字符 |
| ord(x) | 将一个字符转换为它的整数值 |
| hex(x) | 将一个整数转换为一个十六进制字符串 |
| oct(x) | 将一个整数转换为一个八进制字符串 |














