当前位置: 首页 > 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高级知识,祝大家学习愉快!

相关文章:

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

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

deepl翻译的PDF文档保护密码解除

1、首先将后缀名(.docx)修改为压缩包格式(.zip)。 2、修改解密word加密.py里zip的位置&#xff0c;和新生成的zip的位置和名称 import zipfile import xml.etree.ElementTree as ET import os import shutil# 定义文件路径 zip_file_path rC:\Users\Administrator\Desktop\新…...

LeetCode 算法:二叉树的直径 c++

原题链接&#x1f517;&#xff1a;二叉树的直径 难度&#xff1a;简单⭐️ 题目 给你一棵二叉树的根节点&#xff0c;返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由…...

盘立方期货Kdj幅图指标公式源码

盘立方期货Kdj幅图指标公式源码&#xff1a; N:250; WR1:100-100*(HHV(HIGH,N)-CLOSE)/(HHV(HIGH,N)-LLV(LOW,N)),DOT,COLORLIGHTGREEN; EW:EMA(WR1,5); STICKLINE(WR1<20,WR1,20,1,0),COLORYELLOW; STICKLINE(WR1>80,WR1,80,1,0),COLORYELLOW; RSV:(CLOSE-LLV(LOW…...

SkyWalking 极简入门

1. 概述 1.1 概念 SkyWalking 是什么&#xff1f; FROM Apache SkyWalking 分布式系统的应用程序性能监视工具&#xff0c;专为微服务、云原生架构和基于容器&#xff08;Docker、K8s、Mesos&#xff09;架构而设计。 提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体…...

本篇内容:ArkTS开发系列之事件(2.8.1触屏、键鼠、焦点事件)

上篇回顾&#xff1a; ArkTS开发系列之导航 (2.7动画&#xff09; 本篇内容&#xff1a;ArkTS开发系列之事件&#xff08;2.8.1触屏、键鼠、焦点事件&#xff09; 一、知识储备 1. 触屏事件&#xff1a;包括点击事件、拖拽事件、触摸事件。 点击事件 Button()....onClick(…...

测试的基础知识大全【测试概念、分类、模型、流程、测试用例书写、用例设计、Bug、基础功能测试实战】

测试基础笔记 Day01阶段⽬标⼀、测试介绍⼆、测试常⽤分类2.1 阶段划分单元测试集成测试系统测试验收测试 2.2 代码可⻅度划分⿊盒测试&#xff1a;主要针对功能&#xff08;阶段划分->系统测试&#xff09;灰盒测试&#xff1a;针对接⼝测试&#xff08;阶段划分->集成测…...

Power Apps

目录 一、引言1、Power Apps2、应用场景3、Power Apps的优势与前景4、补充 二、数据源介绍1、SharePoint2、Excel3、Dataverse4、SQL5、补充&#xff08;1&#xff09;OneDrive 三、Power Apps应用类型1、画布应用2、模型驱动应用3、网站 Power Pages 四、Power Automate五、Po…...

qt图像处理-将OpenCV的cv::Mat类型转换为QImage类型

在使用Qt进行图像处理时,经常需要将OpenCV的cv::Mat类型转换为QImage类型。以下是几种有效的方法,可以根据具体情况选择合适的方法进行转换。 方法一:直接使用QImage构造函数 这种方法直接使用QImage的构造函数,通过传递cv::Mat的指针和相关参数来创建QImage对象。这种方…...

代码随想录训练营第十八天 530二叉搜索树的最小绝对差 501二叉搜索树中的众数 236二叉树的最近公共祖先

第一题&#xff1a; 原题链接&#xff1a;530. 二叉搜索树的最小绝对差 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 使用中序遍历的方式&#xff1a;左中右。 定义一个pre节点来存放当前节点的前一个节点。 在中序的时候处理递归逻辑&#xff1a; 首先先向…...

微信小程序之横向列表展示

效果图 参考微信小程序可看 代码&#xff1a; <view class"lbtClass"><view class"swiper-container"><scroll-view class"swiper" scroll-x"true" :scroll-left"scrollLeft"><block v-for"(six…...

无人机巡检小羊仿真

详细视频地址 仿真效果 可视化三维仿真 gazebo物理仿真 px4 飞控仿真 仿qgc简易地面站 详细视频地址...

springboot redission 分布式锁

Spring Boot中使用Redisson实现分布式锁的方法如下&#xff1a; 1. 首先&#xff0c;需要在项目中引入Redisson依赖。在pom.xml文件中添加以下依赖&#xff1a; xml <dependency> <groupId>org.redisson</groupId> <artifactId>redisson<…...

Vuex中的重要核心属性

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态&#xff0c;并以相应的规则保证状态以一种可预测的方式发生变化。 Vuex 的核心属性包括&#xff1a; State: State 是 Vuex 存储数据的地方&#xff0c;类似于组件中的 data。它…...

Redis哨兵集群搭建

一、安装Redis 1.安装依赖 yum install -y gcc tcl2.将Redis压缩包解压到对应的目录 tar -zxvf redis-2.8.0.tar.gz mv redis-2.8.0 /usr/local3.编译 cd /usr/local/redis-2.8.0 make && make install4.配置redis.conf # 任意ip都可以访问 bind 0.0.0.0 # 关闭保…...

网络爬虫requests库使用指南

目录 引言 安装requests库 基本用法 发送GET请求 发送POST请求 处理请求头和Cookies 设置请求头 使用Cookies 会话管理 异常处理 流式上传和下载 结语 引言 在Python中进行HTTP请求时&#xff0c;requests库是一个强大且易于使用的第三方库。它允许你发送各种HTTP请…...

VSCODE 配置C++ 与OPENCV

主要是两个json设置 c_cpp_properties.json {"configurations": [{"name": "Win32","includePath": ["${workspaceFolder}/**"],"defines": ["_DEBUG","UNICODE","_UNICODE"],&qu…...

C语言小例程28/100

题目&#xff1a;利用递归方法求5!。 程序分析&#xff1a;递归公式&#xff1a;fnfn_1*4! #include <stdio.h>int main() {int i;int fact(int);for(i0;i<6;i){printf("%d!%d\n",i,fact(i));} } int fact(int j) {int sum;if(j0){sum1;} else {sumj*fac…...

WPF文本绑定显示格式StringFormat设置-特殊格式时间日期和多数据绑定

WPF文本绑定显示格式StringFormat设置 特殊格式设置日期/时间使用系统默认样式自定义格式&#xff1a; 绑定多个属性&#xff08;多重绑定&#xff09;多重绑定中的特殊字符示例&#xff1a; 特殊格式设置 在Textblock等文本控件中&#xff0c;我们经常要显示一些日期和时间&a…...

Java包介绍

今天看jdk文档&#xff0c;顺便写一下java几个包的作用。 java.applet 主要用于创建java applet小应用程序&#xff0c;可以嵌入到网页中能够呈现出特殊的效果&#xff0c;现在基本已经被废弃&#xff0c;很少使用。 java.awt AWT 是Abstract Window ToolKit (抽象窗口工具包…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了&#xff0c;报错如下四、启动不了&#xff0c;解决如下 总结 问题原因 在应用中可以看到chrome&#xff0c;但是打不开(说明&#xff1a;原来的ubuntu系统出问题了&#xff0c;这个是备用的硬盘&a…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...

Linux nano命令的基本使用

参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时&#xff0c;显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

Python 训练营打卡 Day 47

注意力热力图可视化 在day 46代码的基础上&#xff0c;对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...

云原生周刊:k0s 成为 CNCF 沙箱项目

开源项目推荐 HAMi HAMi&#xff08;原名 k8s‑vGPU‑scheduler&#xff09;是一款 CNCF Sandbox 级别的开源 K8s 中间件&#xff0c;通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度&#xff0c;为容器提供统一接口&#xff0c;实现细粒度资源配额…...