当前位置: 首页 > news >正文

Python基础系列教程:从零开始学习Python

Python有很多功能强大的机器学习和大数据分析包,适合对大数据和人工智能感兴趣的同学学习。要想了解一门语言,首先需要了解它的语法。本文将介绍Python的一些基础语法,包括数据类型、变量类型、条件控制、循环结构等内容。废话少说,Here we go!
Coverview blog cover.png

目录

    • 快速开始
      • Hello, World!
    • 数据类型
      • 数字 (Number)
      • 字符串 (String)
        • 常用字符串操作
    • 数据结构
      • 列表 (List)
        • 常用内置函数
      • 元组 (Tuple)
      • 字典 (Dictionary)
        • 常用内置函数
      • 集合 (Set)
    • 条件判断
    • 循环控制
      • `for...in`循环
      • `while`循环
      • `break`和`continue`
    • 迭代器和生成器
      • 列表生成式
      • 生成器
      • 迭代器

快速开始

首先,你需要在你的电脑上安装Python。安装过程非常简单,访问Python官网下载适合你系统的版本并安装。安装好后,你可以在命令行中键入命令python进入交互模式,也可以使用你喜欢的文本编辑器编写Python脚本,然后在命令行中执行。
image.png

Hello, World!

image.png

几乎所有的编程语言的第一个程序都是打印"hello, world!"。以下是Python中的实现代码:

greeting = input("Enter your greeting: ")  # 从键盘中输入
print(greeting)  # 打印输入内容

在Python3中,print后面一定要加括号。你也可以将脚本保存为hello.py,然后在命令行中执行python3 hello.py。输出如下:

hello, world!

数据类型

Python的语法简单的一个方面是它不需要声明变量类型。直接用=给变量赋值后,变量就被创建了。以下是Python中常见的数据类型:
image.png

数字 (Number)

Python支持整数(int),浮点型(float),布尔型(bool)以及复数型(complex)。可以用type()函数来判断变量类型:

a, b, c, d = 10, 5.5, False, 2+5j
print(type(a))  # 输出:<class 'int'>
print(type(b))  # 输出:<class 'float'>
print(type(c))  # 输出:<class 'bool'>
print(type(d))  # 输出:<class 'complex'>

字符串 (String)

image.png

字符串用单引号' '或者双引号" "括起来的任意字符表示。例如:

str1 = 'hello, world'
str2 = "hello, world"
常用字符串操作
  • 切片:字符串可以方便地截取其中一部分。索引从0开始,负索引从-1开始。
str = "python"
print(str[0])     # 输出:p
print(str[2:4])   # 输出:th
  • 连接和复制:用+连接两个字符串,用*复制字符串。
str1 = "hello"
str2 = "world"
print(str1 + " " + str2)  # 输出:hello world
print(str1 * 3)           # 输出:hellohellohello
  • 多行输出:用'''...'''格式输出多行字符串。
print('''line1
line2
line3''')
  • 格式化输出:类似C语言的printf
name = "Mike"
age = 16
print("My name is %s and I'm %d years old" % (name, age))

数据结构

列表 (List)

列表是Python中最重要的类型之一,用方括号[]表示,元素用逗号隔开。列表的常用操作包括:

list = [10, "python", 8.2]
list1 = list[0:2]
list2 = list[1:]
list3 = list * 2
print("python" in list)  # 输出:True
常用内置函数
list = [10, 20, 30, 40]
print(len(list))   # 列表长度
print(max(list))   # 最大值
print(min(list))   # 最小值
list.append(50)    # 添加元素
list.pop()         # 删除末尾元素
print(list)

元组 (Tuple)

元组和列表类似,但元组中的元素不能修改,用小括号()表示。

tuple1 = (8, "tuple", 6.6)
print(tuple1[1])  # 输出:tuple

字典 (Dictionary)

字典是无序的键值对集合,用大括号{}表示。

dic = {"name": "John", "age": 25}
print(dic["name"])  # 输出:John
常用内置函数
dic = {"name": "John", "age": 25}
print(dic.keys())    # 输出所有键
print(dic.values())  # 输出所有值
dic.pop("age")       # 删除键"age"
print(dic)

集合 (Set)

集合是无序且不重复的元素集合,用大括号{}或者set()函数创建。

num = {1, 2, 3, 4}
num.add(5)         # 添加元素
num.remove(3)      # 删除元素
print(num)

条件判断

条件判断非常简单,例如:

num = 10
if num > 0:print("positive number!")
elif num < 0:print("negative number!")
else:print("zero!")

循环控制

Python主要有两种循环:for...in循环和while循环。
image.png

for...in循环

可以遍历列表、元组、字符串等。

names = ["John", "Mike", "Bob"]
for name in names:print(name)sum = 0
for i in range(101):sum += i
print(sum)

while循环

n = 10
sum = 0
while n > 0:n -= 1sum += n
print(sum)

breakcontinue

for i in range(10):if i == 5:breakprint(i)for i in range(10):if i == 5:continueprint(i)

迭代器和生成器

image.png

列表生成式

list1 = [2 * a for a in range(10)]
list2 = [a * b for a in range(3) for b in range(4)]
list3 = [2 * a for a in range(10) if a % 2 == 1]
print(list1)
print(list2)
print(list3)

生成器

generator1 = (2 * a for a in range(10))
for n in generator1:print(n)def cube(num1, num2):for i in range(num1, num2):yield i ** 3g = cube(3, 8)
for n in g:print(n)

迭代器

image.png

from collections import Iterableprint(isinstance([], Iterable))           # 输出:True
print(isinstance(iter([]), Iterable))     # 输出:True

以上是Python3最核心最基本的语法,后面会继续更新Python高级知识,祝大家学习愉快!

http://www.lryc.cn/news/382286.html

相关文章:

  • deepl翻译的PDF文档保护密码解除
  • LeetCode 算法:二叉树的直径 c++
  • 盘立方期货Kdj幅图指标公式源码
  • SkyWalking 极简入门
  • 本篇内容:ArkTS开发系列之事件(2.8.1触屏、键鼠、焦点事件)
  • 测试的基础知识大全【测试概念、分类、模型、流程、测试用例书写、用例设计、Bug、基础功能测试实战】
  • Power Apps
  • qt图像处理-将OpenCV的cv::Mat类型转换为QImage类型
  • 代码随想录训练营第十八天 530二叉搜索树的最小绝对差 501二叉搜索树中的众数 236二叉树的最近公共祖先
  • 微信小程序之横向列表展示
  • 无人机巡检小羊仿真
  • springboot redission 分布式锁
  • Vuex中的重要核心属性
  • Redis哨兵集群搭建
  • 网络爬虫requests库使用指南
  • VSCODE 配置C++ 与OPENCV
  • C语言小例程28/100
  • WPF文本绑定显示格式StringFormat设置-特殊格式时间日期和多数据绑定
  • Java包介绍
  • 【2024.6.21】今日科技时事:科技前沿大事件
  • LeetCode:经典题之1491、896 题解与延伸
  • 2024三掌柜赠书活动第二十五期:Rust 游戏开发实战
  • 基于Java蛋糕甜品商城系统设计和实现(源码+LW+调试文档+讲解等)
  • Tomcat get请求传数组集合参数
  • 信息学奥赛初赛天天练-34-CSP-J2021完善程序-按位异或、模拟算法、数组模拟环、约瑟夫问题应用
  • 【计算机视觉】人脸算法之图像处理基础知识(六)
  • 仓颉编程语言入门
  • 在前端项目中,如何处理错误和异常?
  • Ubuntu系统下修改网卡IP地址
  • Scrapy如何对爬虫数据进行清洗和处理?