7天入门python系列之第二天python 基础语法
第2天主要是学习Python的基础知识
编者打算开一个python 初学主题的系列文章,用于指导想要学习python的同学。关于文章有任何疑问都可以私信作者。对于初学者想在7天内入门Python,这是一个紧凑的学习计划。但并不是不可完成的。第二天开始python 基础知识的学习。
变量和数据类型:
了解Python中的变量,它们用于存储数据。
python 定义变量
在Python中,你可以通过简单的赋值语句来定义变量。以下是定义变量的基本语法:
variable_name = value
variable_name 是你要定义的变量的名称,通常使用有意义的名称来描述变量的用途。
value 是你要分配给变量的值,可以是数字、文本、布尔值、对象等,具体取决于变量的用途。
下面是一些示例:
name = "John" # 定义一个字符串变量 name,赋值为 "John"
age = 30 # 定义一个整数变量 age,赋值为 30
is_student = True # 定义一个布尔变量 is_student,赋值为 True
pi = 3.14159 # 定义一个浮点数变量 pi,赋值为 3.14159
在Python中,你不需要显式地声明变量的数据类型,Python会自动根据所赋的值来确定变量的数据类型。这种特性称为动态类型。
你可以在程序中随时更改变量的值,例如:
age = 35 # 将 age 变量的值更改为 35
Python支持的常见数据类型
Python支持多种常见数据类型
以下是Python中基础数据类型的声明示例:
- 整数(int):
age = 25
count = -10
- 浮点数(float):
pi = 3.14159
temperature = 98.6
- 字符串(str):
name = "Alice"
message = 'Hello, World!'
- 布尔值(bool):
is_student = True
has_license = False
- 列表(list):
fruits = ["apple", "banana", "cherry"]
numbers = [1, 2, 3, 4, 5]
- 元组(tuple):
point = (3, 5)
coordinates = (-2.5, 7.0, 1.5)
- 字典(dict):
person = {"name": "John", "age": 30, "city": "New York"}
book = {"title": "Python Programming", "author": "Guido van Rossum"}
- 集合(set):
colors = {"red", "green", "blue"}
prime_numbers = {2, 3, 5, 7, 11}
- NoneType(None):
result = None
- 复数(complex):
z = 3 + 2j
w = -1.5 - 0.5j
- 字节串(bytes) 和 字节数组(bytearray):
binary_data = b'\x48\x65\x6c\x6c\x6f'
byte_array = bytearray([72, 101, 108, 108, 111])
这些示例演示了如何声明不同类型的变量,并为每种类型提供了相应的值。在Python中,你可以直接赋值给变量而无需显式声明变量的类型。根据所赋的值,Python会自动确定变量的数据类型。
这些数据类型在Python中非常常用,根据需要选择合适的数据类型来存储和操作数据。Python的灵活性和动态类型系统使得处理各种数据类型非常方便。
运算符
理解和熟练使用运算符是编写Python代码的关键。以下是有关Python中常见运算符的简要介绍:
算术运算符:
- 加法运算符(+):用于执行加法操作。
- 减法运算符(-):用于执行减法操作。
- 乘法运算符(*):用于执行乘法操作。
- 除法运算符(/):用于执行除法操作,返回浮点数结果。
- 取整除运算符(//):用于执行整数除法,返回整数结果。
- 取余运算符(%):用于获取除法的余数。
- 幂运算符(**):用于执行幂运算。
a = 10
b = 3
result1 = a + b # 13
result2 = a - b # 7
result3 = a * b # 30
result4 = a / b # 3.333...
result5 = a // b # 3
result6 = a % b # 1
result7 = a ** b # 1000
比较运算符:
- 等于运算符(==):检查两个值是否相等。
- 不等于运算符(!=):检查两个值是否不相等。
- 大于运算符(>):检查左侧值是否大于右侧值。
- 小于运算符(<):检查左侧值是否小于右侧值。
- 大于等于运算符(>=):检查左侧值是否大于或等于右侧值。
- 小于等于运算符(<=):检查左侧值是否小于或等于右侧值。
x = 5
y = 10
result1 = x == y # False
result2 = x != y # True
result3 = x > y # False
result4 = x < y # True
result5 = x >= y # False
result6 = x <= y # True
逻辑运算符:
- 与运算符(and):如果两个条件都为真,返回真。
- 或运算符(or):如果至少一个条件为真,返回真。
- 非运算符(not):用于取反条件的值。
p = True
q = False
result1 = p and q # False
result2 = p or q # True
result3 = not p # False
这些运算符是编写条件和表达式时的基本工具。你可以使用它们来执行各种计算和逻辑操作。在实际编程中,运算符的组合非常常见,以满足复杂的需求。
条件语句:
条件语句是编程中的基本构建块之一,用于根据条件执行不同的代码块。在Python中,最常见的条件语句是if语句。
以下是关于条件语句的基本概念和示例:
if语句:
if语句用于根据一个条件执行相应的代码块。如果条件为真,执行代码块;否则,代码块将被跳过。
x = 10
if x > 5:print("x 大于 5")
在上面的示例中,如果x的值大于5,那么条件为真,print语句将执行。
else语句:
else语句可用于在if条件不满足时执行另一个代码块。
x = 3
if x > 5:print("x 大于 5")
else:print("x 不大于 5")
在这个示例中,因为x的值不大于5,所以if条件为假,else块中的代码将执行。
elif语句:
elif语句是else if的缩写,用于测试多个条件。你可以使用多个elif来检查不同的条件。
x = 5
if x > 10:print("x 大于 10")
elif x > 5:print("x 大于 5,但不大于 10")
else:print("x 不大于 5")
在这个示例中,根据x的值,第一个条件为假,第二个条件为真,因此执行第二个条件下的代码块。
条件表达式:
条件表达式(也称为三元运算符)是一种紧凑的方式来根据条件为真或假选择不同的值。
x = 8
message = "x 大于 5" if x > 5 else "x 不大于 5"
print(message)
在这个示例中,如果x大于5,message变量将包含"x 大于 5",否则它将包含"x 不大于 5"。
条件语句允许你根据不同的情况执行不同的代码块,这在编程中是非常有用的。你可以使用它们来实现程序的控制流和逻辑分支。
循环结构
循环结构是编程中常用的工具,用于重复执行一组代码,直到满足某个条件或达到特定的次数。在Python中,有两种主要的循环结构:for循环和while循环。
for循环:
for循环用于迭代遍历一个序列(如列表、元组或字符串)中的元素,或者执行特定次数的操作。以下是for循环的基本语法:
for 变量 in 序列:# 执行代码块
示例1:使用for循环遍历列表中的元素。
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:print(fruit)
示例2:使用for循环执行特定次数的操作。
for i in range(5):print("Iteration", i)
while循环:
while循环用于在条件为真的情况下重复执行一组代码。以下是while循环的基本语法:
while 条件:# 执行代码块
示例1:使用while循环打印一系列数字,直到达到某个条件。
count = 1
while count <= 5:print(count)count += 1
示例2:使用while循环处理用户输入,直到用户输入特定的值。
user_input = ""
while user_input != "quit":user_input = input("请输入命令或输入'quit'退出:")
在这两种循环结构中,你可以根据需要执行重复的操作。for循环适用于遍历序列,而while循环适用于根据条件来控制迭代。循环结构对于处理重复性任务非常有用,可以帮助你编写更灵活和高效的程序。
基本输入和输出:
学习如何使用input()函数接收用户输入和print()函数输出文本和变量的值是Python编程的基本部分。下面是关于这两个函数的详细介绍:
接收用户输入 - input()函数:
input()函数用于从用户获取输入。它会暂停程序的执行,等待用户输入文本,用户按下回车键后,输入的文本将作为字符串返回。你可以选择将输入存储在变量中以后使用。
示例:
user_name = input("请输入您的名字:") # 提示用户输入名字
print("您的名字是:" + user_name)
在上述示例中,input()函数用于获取用户的名字输入,然后将输入存储在user_name变量中,并通过print()函数输出。
输出文本和变量的值 - print()函数:
print()函数用于在终端或控制台上显示文本和变量的值。你可以将文本和变量组合在一起输出,以便向用户显示信息。
示例:
name = "Alice"
age = 30
print("姓名:" + name + ", 年龄:" + str(age))
在这个示例中,print()函数用于输出姓名和年龄的值。注意,在输出年龄时,我们使用str(age)来将整数age转换为字符串,以便与其他字符串一起输出。
除了字符串拼接,你还可以使用字符串插值(f-strings)来更清晰地输出文本和变量的值:
name = "Alice"
age = 30
print(f"姓名: {name}, 年龄: {age}")
在Python 3.6及更高版本中,f-strings是一种方便的方式来将变量的值嵌入到字符串中。
通过使用input()和print()函数,你可以与用户进行交互,并输出程序的结果。这对于编写用户友好的程序和调试代码非常有用。
练习内容
编写一些简单的Python代码来练习上述概念。例如,你可以编写一个程序,接收用户的输入并判断一个数字是否是偶数或奇数,然后输出相应的消息。
当接收用户的输入并判断一个数字是偶数还是奇数的Python程序可以如下所示:
# 接收用户输入
user_input = input("请输入一个整数: ")# 尝试将用户输入的值转换为整数
try:number = int(user_input)# 判断数字是偶数还是奇数if number % 2 == 0:print(f"{number} 是偶数。")else:print(f"{number} 是奇数。")except ValueError:print("请输入有效的整数。")
完整代码:

运行效果 一:

运行效果二:

这个程序首先使用input()函数接收用户的输入,然后尝试将输入的值转换为整数。如果输入不是有效的整数,程序会输出一个错误消息。如果输入是整数,程序将使用取余运算符(%)来判断数字是奇数还是偶数,并输出相应的消息。
示例运行:
请输入一个整数: 6
6 是偶数。
请输入一个整数: 7
7 是奇数。
请输入一个整数: abc
请输入有效的整数。
这个程序演示了如何接收用户的输入,进行条件判断,然后输出相应的消息,根据输入的数字是奇数还是偶数。
相关文章:
7天入门python系列之第二天python 基础语法
第2天主要是学习Python的基础知识 编者打算开一个python 初学主题的系列文章,用于指导想要学习python的同学。关于文章有任何疑问都可以私信作者。对于初学者想在7天内入门Python,这是一个紧凑的学习计划。但并不是不可完成的。第二天开始python 基础知…...
【星海出品】flask 与docker
import os from flask import Flask, request from flask import Response, make_response, jsonify import cv2 import base64 import io import uuid from main import eye app Flask(__name__) app.route(/, methods[GET, POST]) # 添加路由blend def upload_file():…...
Oracle的to_date()函数解决sql语句日期格式问题
项目场景: 提示:oracle中sql语句日期格式: 如:to_date(‘2023-01-01 13:14:20’,‘yyyy-MM-dd HH:mm:ss’) //错误写法 问题描述 改变一:24小时制 to_date(‘2005-01-01 13:14:20’,‘yyyy-MM-dd HH24:mm:ss’) //错…...
Vue实现面经基础版案例(路由+组件缓存)
一、面经基础版-案例效果分析 1.面经效果演示 2.功能分析 通过演示效果发现,主要的功能页面有两个,一个是列表页,一个是详情页,并且在列表页点击时可以跳转到详情页底部导航可以来回切换,并且切换时,只有…...
uniapp打开外部链接方式
uniapp打开外部链接方式 1、H5,打开方式 window.location.href url 2、APP,打开方式 plus.runtime.openURL(url)...
SecureCRT安装、注册教程
SecureCRT保姆级安装教程!!! 安装包与注册机自取。 链接:https://pan.baidu.com/s/1IrFkHlrtCoc67QnQ_z1TWQ?pwdt25m 提取码:t25m 一 前期准备 1.1 关闭病毒查杀(如果有其他杀毒软件也要关闭࿰…...
音乐免费下载mp3格式+音频格式转换+剪辑音频+合并音频教程
1.在qq音乐网页版搜索想要的歌曲 qq音乐网站:https://y.qq.com/ 如果你是vip可以直接下载vip的歌曲,如果不是选择不是vip的歌曲进行第一步的操作 2.点击播放进入页面后F12拿到音频地址 然后双击src里面的音频地址复制 网页新标签打开赋值的这个链接&a…...
腾讯云16核服务器配置有哪些?CPU型号处理器主频性能
腾讯云16核服务器配置大全,CVM云服务器可选择标准型S6、标准型SA3、计算型C6或标准型S5等,目前标准型S5云服务器有优惠活动,性价比高,计算型C6云服务器16核性能更高,轻量16核32G28M带宽优惠价3468元15个月,…...
什么是屏蔽机房?
屏蔽机房是一种用于保护数据中心设备的安全和可靠的措施。通过屏蔽机房,可以防止电磁干扰、防止物理入侵以及提供更好的隔离和安全性。下面是一些关于屏蔽机房的常见做法: 电磁屏蔽:为了防止电磁干扰对数据中心设备的影响,可以在屏…...
wsl2 ubuntu22.04安装docker
1. 安装 docker 官网的步骤一步一步安装即可 Install Docker Engine on Ubuntu | Docker Docs 2. 安装完毕之后,不出意外的话当你运行docker version或者其他命令的时候你会报如下错误: Cannot connect to the Docker daemon at unix:///var/run/docke…...
【Java SE】详解数组
前言:在C语言中我们已经学习过数组,接下来,我们再主要学习一下Java中的数组,在Java中,数组变得更加高效和使用。 1. 数组的基本概念 1.1 什么是数组? 数组:可以看成是相同类型元素的一个集合。…...
windows下直接把文件夹打包成war包
windows下直接把文件夹打包成war包 在windows中把一个文件夹打成war包 一般开发打war包时都是用MyEclipse或IntelliJ IDEA等直接导出war文件,这里介绍一种如何把一个文件夹打成war包的方式, 如下 例如要打包的文件在D:\testWar 打开 cmd命令行窗口, 进入文件所在目录D:\testWa…...
搭建嵌入式GDB调试环境以及VSCode+gdbserver 图形化调试
目录 1 搭建嵌入式gdb调试环境 1.1 交叉编译工具链自带的gdb和gdbserver 1.2 使用gdb进行嵌入式程序调试 1.2.1编写简单测试程序 1.2.2 gdb调试程序 1.3 源码编译gdb和gdbserver 1.3.1 下载gdb和gdbserver源码 1.3.2 编译gdb 1.3.3 移植gdbserver 2 VSCodegdbserver 图…...
深入理解 Django 模板系统
概要 在任何 Web 开发过程中,渲染和展示数据是不可或缺的一部分。Django 作为一个高效的 Python Web 框架,提供了一个强大且灵活的模板系统。本文将详细介绍 Django 模板系统的核心概念、语法和高级功能。 一、Django 模板系统简介 Django 的模板系统允…...
Flutter:安装依赖报错doesn‘t support null safety
项目中需要引用http依赖,在pubspec.yaml文件中添加如下信息: 当同步时,报错信息如下: [myflutter] flutter pub upgrade Resolving dependencies... The current Dart SDK version is 3.1.3. Because myflutter depends on http &…...
MS2111多点低压差分(M-LVDS)线路驱动器和接收器
MS2111 是多点低压差分 (M-LVDS) 线路驱动器和接收器。经过 优化,可运行在高达 200Mbps 的信号速率下。所有部件均符合 M LVDS 标准 TIA / EIA-899 。该驱动器的输出支持负载低至 30Ω 的多 点总线。 MS2111 的接收器属于 Type-2 , 可在 -1…...
flink的起源、概念、特点、应用
flink的起源 Flink的起源可以追溯到2010年,当时它作为一个研究项目开始。该项目最初由德国柏林工业大学(Berlin Institute of Technology)的一群研究人员发起,包括Matei Zaharia、Kostas Tzoumas和Stephan Ewen等。 项目最初被称为…...
11月第1周榜单丨飞瓜数据B站UP主排行榜榜单(B站平台)发布!
飞瓜轻数发布2023年10月30日-11月5日飞瓜数据UP主排行榜(B站平台),通过充电数、涨粉数、成长指数、带货数据等维度来体现UP主账号成长的情况,为用户提供B站号综合价值的数据参考,根据UP主成长情况用户能够快速找到运营…...
Modbus入门
Modbus入门 ModbusModbus模拟工具模拟工具使用配置Slave配置Poll C#使用ModBus通讯在无法使用 SerialPort类 的情况下使用TCP进行 Modbus modbus使用范围广泛,广泛应用于各类仪表,PLC等。它属于应用层协议,底层硬件基于485/以太网。 Modbus的…...
Sysmon 日志监控
系统监视器 (Sysmon) 是一个 Windows 日志记录加载项,它提供精细的日志记录功能并捕获默认情况下通常不记录的安全事件。它提供有关进程创建、网络连接、文件系统更改等的信息。分析 Sysmon 日志对于发现恶意活动和安全威胁至关重要。 在不断…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...
