原创

Python基础

温馨提示:
本文最后更新于 2024年07月14日,已超过 279 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

1.简介

1.1Python是什么?

Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。它的设计哲学强调代码的可读性和简洁的语法,同时它还拥有一个庞大而全面的标准库。Python 由荷兰人吉多·范罗苏姆(Guido van Rossum)于1989年底发明,并在1991年首次公开发布。

1.2Python能做什么?

Python 的应用非常广泛,几乎涵盖了软件开发的各个领域,包括但不限于:

  1. Web 开发:利用 Django 或 Flask 等框架可以构建动态网站和 Web 应用。
  2. 数据科学与分析:使用 Pandas、NumPy、SciPy 等库进行数据处理和统计分析。
  3. 机器学习与人工智能:通过 TensorFlow、Keras、PyTorch 和 Scikit-Learn 等库进行模型训练和预测。
  4. 自动化脚本:用于服务器管理、文件操作、网络请求等任务的自动化。
  5. 游戏开发:使用 Pygame 库可以开发 2D 游戏。
  6. 系统管理:编写系统监控和维护脚本。
  7. 网络爬虫:抓取和解析网页数据,如使用 Beautiful Soup 或 Scrapy。
  8. 图形用户界面 (GUI) 开发:使用 Tkinter 或 PyQt 创建桌面应用程序。
  9. 教育:Python 由于其易学性,常被用于教学和学习编程的基础概念。

1.3Python的优缺点

优点

  1. 易学易用:Python 语法简洁明了,适合新手入门。
  2. 可移植性:可以在多种操作系统上运行,如 Windows、macOS 和 Linux。
  3. 强大的标准库和第三方库:提供大量的预封装功能,减少重复工作。
  4. 动态类型:变量无需显式声明类型,增加了编程的灵活性。
  5. 自动内存管理:Python 自动处理内存分配和回收,减少了内存泄漏等问题。
  6. 面向对象:支持面向对象编程,有助于构建大型复杂项目。
  7. 社区支持:拥有活跃的社区和丰富的资源,便于学习和解决问题。

缺点

  1. 性能问题:Python 相较于 C 或 Java 等编译型语言,执行速度可能较慢,尤其在 CPU 密集型任务中。
  2. 全局解释器锁 (GIL):限制了多线程的效率,在多核处理器上无法充分利用硬件资源。
  3. 移动设备开发局限:虽然有 Kivy 等库可用于移动应用开发,但相比原生开发,Python 在此领域的支持相对较少。

1.4环境

运行环境:Python,下载地址https://www.python.org/downloads/

开发环境:PyCharm,下载地址https://www.jetbrains.com.cn/pycharm/

2.基础语法

<font size="4" face="微软雅黑">'''
Python通过缩进来写模块,而不是使用大括号
条件语句
'''
if True:
    print('True')
else:
    print('False')

# Python的变量不需要类型声明
counter = 100
money = 123.55
name = 'zhangsan'

print('counter:' + str(counter))
print('money:' + str(money))
print('name:' + name)

# 字符串
my_str = 'Hello World!'
print('输出字符串中的第一个字符:' + my_str[0])
print('输出字符串第三个字符开始的字符串:' + my_str[2:])
print('输出字符串中第三个到第九个之间的字符串,包括第三个字符不包括第九个字符:' + my_str[2:8])

# 列表,可以包含不同的数据类型
list = ['zhangsan', 123, 3.14, 'lisi']
print('输出列表第一个元素:' + list[0])
list.append('wangwu')
list[1] = 1000
print(list)

# 元组,类似于列表,但是元素不能更新和删除
tuple = ('zhangsan', 123, 3.14, 'lisi')
print('输出元组中的第一个元素:' + tuple[0])
# 修改元组元素的值,报错TypeError: 'tuple' object does not support item assignment
# tuple[1] = 1000
del tuple
print(tuple)

# 字典,字典的每一个键值key:value使用":"分割,每个键值对用","分割
dict = {'zhangsan':23, 'lisi':38, 'wangwu':18}
print('lisi的年龄:' + str(dict['lisi']))
# 访问不存在的键,报错KeyError: 'zhaoliu'
# print(dict['zhaoliu'])
dict['zhangsan'] = 22
del dict['lisi']
print(dict)

# while循环,Python continue 语句跳出本次循环,而break跳出整个循环。
count = 0
while (count < 8) :
    count = count + 1
    if (count == 3):
        continue  if (count == 5):    # pass用户创建合法的占位符代码,以满足语法要求,同时不执行任何实际操作<br/>    pass    if (count == 6):
        break
    print('当前count的值:' + str(count))

# for循环
for item in list:
    print("当前元素的值:" + str(item))

# 函数
def single_return(x, y):
    print('单返回值:' + str(x))
single_return(y=2, x=5)

def multi_return(x):
    return x,10
print('多返回值:' + str(multi_return(5)))

# 异常处理
try:
    print(dict['zhaoliu'])
except(KeyError):
    print('获取字典值报错')
else:
    print('获取字典值没有报错')
finally:
    print('无论是否出现异常都会执行')</font>

输出内容

<font size="4" face="微软雅黑">True
counter:100
money:123.55
name:zhangsan
输出字符串中的第一个字符:H
输出字符串第三个字符开始的字符串:llo World!
输出字符串中第三个到第九个之间的字符串,包括第三个字符不包括第九个字符:llo Wo
输出列表第一个元素:zhangsan
['zhangsan', 1000, 3.14, 'lisi', 'wangwu']
输出元组中的第一个元素:zhangsan
&lt;class 'tuple'&gt;
lisi的年龄:38
{'zhangsan': 22, 'wangwu': 18}
当前count的值:1
当前count的值:2
当前count的值:4
当前count的值:5
当前元素的值:zhangsan
当前元素的值:1000
当前元素的值:3.14
当前元素的值:lisi
当前元素的值:wangwu
单返回值:5
多返回值:(5, 10)
获取字典值报错
无论是否出现异常都会执行</font>


正文到此结束