Python基础语法篇(上)

news2024/12/23 22:56:41

Python基础语法(上)

  • 一、基知
  • 二、基本数据类型
    • (一)标准数据类型
    • (二)数据类型转换
  • 三、字符串基本操作
    • (一)字符串的索引和切片
    • (二)字符串的拼接
  • 三、运算符
  • 四、复合数据类型
    • (一)列表 [ ]
    • (二)元组 ()
    • (三)字典 { }
    • (四)运算符在复合数据类型中的运用
  • 五、条件语句和循环语句
    • (一)if条件判断
    • (二)for循环
    • (三)while循环

一、基知

  1. 标识符
  • 第一个字符必须是字母表中字母或下划线_。标识符的其他的部分字母、数字和下划线组成。
  • 标识符对大小写敏感
  1. 保留字

‘False’、‘None’、‘True’、‘and’、‘as’、‘assert’、‘break’、‘class’、‘continue’、‘def’、‘del’、‘elif’、‘else’、‘except’、‘finally’、‘for’、‘from’、‘global’、‘if’、‘import’、‘in’、‘is’、‘lambda’、‘nonlocal’、‘not’、‘or’、‘pass’、‘raise’、‘return’、‘try’、‘while’、 ‘with’、‘yield’

  1. 注释
  • 单行注释以#开头
  • 多行注释可以用多个#号,或 ''' / """(三个单引号/三个双引号)
# 第一个注释

'''
使用 3 个单引号分别作为注释的开头和结尾
可以一次性注释多行内容
这里面的内容全部是注释内容
'''

"""
使用 3 个双引号分别作为注释的开头和结尾
可以一次性注释多行内容
这里面的内容全部是注释内容
"""
  1. 缩进
  • 使用缩进来表示代码块,不需要使用大括号 { }
  • 缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数,对比以下输出结果

在这里插入图片描述
在这里插入图片描述

  1. 保留字
  • print 默认输出是换行的,如果要实现不换行需要在变量末尾加上end=" "
  • input 用的比较少

在这里插入图片描述
在这里插入图片描述


二、基本数据类型

(一)标准数据类型

  • Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建
  • 在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型
# 整形变量
counter = 100
print(type(counter))
# 浮点型变量
miles = 1000.0
print(type(miles))
# 布尔型变量
Var = True
print(type(Var))
# 字符串
a = 'a'
b = "b"
c = "run"
print(type(a))
print(type(b))
print(type(c))
# 复数
d = 1+2j
print(type(d))

counter = False # 允许

在这里插入图片描述

(二)数据类型转换

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,一般情况下只需要将数据类型作为函数名即可。Python 数据类型转换可以分为两种

  • 隐式类型转换-自动完成
  • 显式类型转换-需要使用类型函数来转换
a = 100
b = 100.0
ab = a + b
print("ab的数据类型",type(ab)) # 可多段内容拼接
ab = a + int(b)
print("ab的数据类型",type(ab))
ab = int(a + b)
print("ab的数据类型",type(ab))

d = '0'
# 不强制类型转换,会报错
# unsupported operand type(s) for +: 'int' and 'str'
ad = a + int(d) 
print(ad)
print("str(a)=",str(a))
ad = str(a) + d # 字符串的拼接
print(ad)

h = "100.5"
bh = b + float(h)

在这里插入图片描述


三、字符串基本操作

(一)字符串的索引和切片

什么是字符串?
字符串是由字符组成的序列,可以使用单引号 ' 或双引号 " 括起来。例如:name =‘Alice’

  • 字符串中的每个字符都有一个索引,可以使用索引访问特定位置的字符,索引从0开始。例如:print(name[0])将输出第一个字符A
  • 切片是指通过指定起始索引和结束索引提取子字符串。例如:print(name[1:3])将输出 ‘li’
    :从起始位置开始取,结束位置不取,最终输出的长度结束索引 - 起始索引
    在这里插入图片描述
name = "Alice"
print(name[0])
print(name[1:4])
# -1?
print(name[-1]) # 负的会从后往前输,相当于一个循环
print(name[-4:-2])

在这里插入图片描述

(二)字符串的拼接

什么是字符串?
字符串是由字符组成的序列,可以使用单引号 ' 或双引号 " 括起来。例如:name='Alice’

字符串的拼接:
使用加号可以将两个字符串拼接在一起。例如:greeting= “Hello”+ name

name = "Alice"
greeting = "Hello"
print(greeting + " " + name)

print("1" + "1")
print("1" * 2)
print("Alice" * 5)

str = "iloveu"
print(str[-3:-1]*2 + str[2:4])

在这里插入图片描述


三、运算符

(1)算数运算符
在这里插入图片描述

a = 2
b = 5
print("a + b =", a + b)
print("a - b =", a - b)
print("a * b =", a * b)
print("a / b =", a / b)
print("a ** b =", a ** b)
print("a // b =", a // b)
print("a % b =", a % b)

在这里插入图片描述

(2)比较运算符
在这里插入图片描述
所有比较运算符,返回1表示T rue,0表示F alse(注意首字母要大写

a = 2
b = 2.0
print("a > b :", a > b)
print("a < b :", a < b)
print("a >= b :", a >= b)
print("a <= b :", a <= b)
print("a == b :", a == b) # 即使数据类型不同,数值一样,就是一样
print("a != b :", a != b)

在这里插入图片描述
另:
在这里插入图片描述
浮点数存储的有效位数有限,小数部分只能存储一部分,在存储范围内a也是等于b的

(3)赋值运算符
在这里插入图片描述

(4)逻辑运算符
在这里插入图片描述

a = 1
b = 2
print(a == 1 and b == 3)
print(a == 1 or b == 3)
print(not b == 3)

print(1 and 0)
print(1 or 0)
print(not 0)

在这里插入图片描述

(5)成员运算符
在这里插入图片描述

string = "hello alice"
char = "o a"
print(char in string)

在这里插入图片描述
练习:加法器

# a,b 得到的结果应该是字符串
a = input("请输入第一个数字")
b = input("请输入第二个数字")

print("输入的两个数字之和是:", a + b)
print("输入的两个数字之和是:", int(a) + int(b))

在这里插入图片描述


四、复合数据类型

(一)列表 [ ]

列表是最常用的 Python 数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型。创建一个列表只要把 逗号 分隔的不同的数据项使用方括号括起来可
在这里插入图片描述

ist0 = [1, '2', 3.0, True, "大家好"]
print(list0)
print(list0[1])
print(list0[1:4]) #index2 - index1 = 3
list0[2] = 5.0
print(list0)

在这里插入图片描述

(二)元组 ()

Python 的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号(),列表使用方括号[ ]。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可
在这里插入图片描述

(三)字典 { }

字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值 key=>value 对冒号分割,每个对之间用逗号分割,整个字典包括在花括号中(key值必须唯一)

在这里插入图片描述

dict0 = {"第一个元素": 1, "第二个元素": '2', "第三个元素": 3.0, "第四个元素": True, "第五个元素": "大家好"}
print(dict0)
#字典中不可以通过索引序号来索引,只能通过key来索引
print(dict0["第二个元素"])  #print(dict0[1]) KeyError: 1
dict0["第三个元素"] = 5.0
print(dict0)

dict0 = {"第一个元素": 1, "第二个元素": 1, "第三个元素": 3.0, "第四个元素": True, "第五个元素": "大家好"}
# 字典中如果出现重复的key,以第二次赋值为最后的赋值 --> key值必须唯一
dict0 = {"第一个元素": 1, "第一个元素": '2', "第三个元素": 3.0, "第四个元素": True, "第五个元素": "大家好"}

在这里插入图片描述

另:数组 { }(value值必须唯一)

#集合: 不允许重复的元素出现 True == 1  --> value值必须唯一
set0 = {1,2,3.0,True,"大家好"}
print(type(set0))
print(set0)

(四)运算符在复合数据类型中的运用

(1)

a = "hello"
b = "alice"
print(a + b)
a = [1,3,4,"2","alice"]
b = [100.0,"23",True]
print(a + b)
print(a * 2)
a = (1,3,4,"2","alice")
b = (100.0,"23",True)
print(a + b)
print(a * 2)
#a = {"第一个元素": 1, "第二个元素": 1, "第三个元素": 3.0, "第四个元素": True, "第五个元素": "大家好"}
#b = {"第一个元素": 1, "第二个元素": '2', "第三个元素": 3.0, "第四个元素": True, "第五个元素": "大家好"}
#print(a + b)  不允许
#print(a * 2)  不允许

在这里插入图片描述
(2)

a = [1,3,4,"2","alice"]
b = 1
print(b in a)
c = "li"
print(c in a)  # 最后执行的判断 c == "alice"
d = [4,"2"]
print(d in a) # a 中要有[4,"2"]此子列表才会返回True

在这里插入图片描述
(3)列表的快速去重
在这里插入图片描述


五、条件语句和循环语句

(一)if条件判断

在这里插入图片描述

(二)for循环

在这里插入图片描述

for i in range(5): # ==range[0,1,2,3,4]
	print(i)

for i in ["red","blue","green","black"]:
	print("当前的颜色是",i)

num = 0
for i in range(5):
	for j in range(5):
		num += 1
		print("这是第",num,"次循环",i,j,i*j)

在这里插入图片描述

(三)while循环

在这里插入图片描述

target = 99
predict = 0
# 字符串的数字可以进行不相等的比较,可以一直不相等 --> 不加int(),循环就永远不可能结束
while not int(predict) == target: # 相当于 while predict != target:
	predict = input("请进行一次猜测:")
	if int(predict) > target: # 注:input 得到的是字符!!!
		print("猜大了!")
	elif int(predict) < target:
		print("猜小了!")
	else:
		print("两者相等")
print("恭喜猜中!")

在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1931095.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

51单片机嵌入式开发:11、 STC89C52RC 实现一个滑动的led点阵程序

STC89C52RC 实现一个滑动的led点阵程序 1 概述2 LED点阵介绍2.1 LED概述2.2 LED点阵注意事项 3 LED点阵原理3.1 Led点阵内部电路3.2 原理图电路 4 软件实现点阵图案的滑动4.1 软件工程代码4.2 Protues仿真 5 扩展74HC595&#xff08;后续专题开展&#xff09;6 总结 第十一节 1…

MySQL篇:主从复制

概述 话不多说&#xff0c;直接上概念&#xff1a; DDL&#xff08;Data Definition Language&#xff09;语句&#xff1a; 数据定义语言&#xff0c;主要是进行定义/改变表的结构、数据类型、表之间的链接等操作。常用的语句关键字有 CREATE、DROP、ALTER 等。 DML&#xff…

Redis实战—附近商铺、用户签到、UV统计

本博客为个人学习笔记&#xff0c;学习网站与详细见&#xff1a;黑马程序员Redis入门到实战 P88 - P95 目录 附近商铺 数据导入 功能实现 用户签到 签到功能 连续签到统计 UV统计 附近商铺 利用Redis中的GEO数据结构实现附近商铺功能&#xff0c;常见命令如下图所示。…

逻辑漏洞-支付漏洞

【实验目的】 通过本次实验&#xff0c;掌握最基础的支付漏洞 【实验环境】 win7操作机&#xff1a;10.0.0.2 centos7靶机&#xff1a;10.0.0.3 【实验步骤】 1. 启动实验环境 点击“启动场景”按钮&#xff0c;成功启动后&#xff0c;点击操作机按钮进入操作界面。 打开浏…

景区客流统计系统提升服务精准度

在当今旅游业蓬勃发展的时代&#xff0c;景区面临着越来越多的挑战和机遇。如何在保障游客良好体验的同时&#xff0c;实现景区的高效管理和可持续发展&#xff0c;成为了摆在景区管理者面前的重要课题。景区客流统计系统的出现&#xff0c;为解决这一问题提供了有力的支持&…

如何通过成熟的外发平台,实现文档安全外发管理?

文档安全外发管理是企业信息安全管理的重要组成部分&#xff0c;它涉及到企业向外发送的文件&#xff0c;需要进行严格的控制和管理&#xff0c;防止敏感或机密信息的泄露。以下是一些关键考虑因素&#xff1a; 文件外发的挑战&#xff1a;企业在文件外发时面临的主要挑战包括…

Python数据分析-植物生长数据分析(机器学习模型和神经网络模型)

一、研究背景 植物生长受多种环境因素的影响&#xff0c;包括土壤类型、日照时间、浇水频率、肥料类型、温度和湿度等。这些因素不仅影响植物的生长速度和健康状况&#xff0c;还对植物在不同生长阶段的表现有显著影响。随着气候变化和环境污染问题的加剧&#xff0c;研究如何…

【NLP实战】基于TextCNN的新闻文本分类

TextCNN文本分类在pytorch中的实现 基于TextCNN和transformers.BertTokenizer的新闻文本分类实现&#xff0c;包括训练、预测、数据加载和准确率评估。 目录 项目代码TextCNN网络结构相关模型仓库准备工作项目调参预测与评估 1.项目代码 https://github.com/NeoTse0622/Te…

数电基础 - 硬件描述语言

目录 一. 简介 二. Verilog简介和基本程序结构 三. 应用场景 四. Verilog的学习方法 五.调式方法 一. 简介 硬件描述语言&#xff08;Hardware Description Language&#xff0c;HDL&#xff09;是用于描述数字电路和系统的形式化语言。 常见的硬件描述语言包括 VHDL&…

如何落地实际场景,解决跨境传输共性需求?免费白皮书可下载

在全球化的背景下&#xff0c;海外市场对于数据驱动的产品和服务的需求不断增加&#xff0c;各行业数据跨境传输也日趋频繁&#xff0c;在这种前景下&#xff0c;越来越多的企业寻求更深度的跨国业务及合作&#xff0c;因此&#xff0c;企业数据跨境流动也成为了势不可挡的趋势…

LabVIEW异步和同步通信详细分析及比较

1. 基本原理 异步通信&#xff1a; 原理&#xff1a;异步通信&#xff08;Asynchronous Communication&#xff09;是一种数据传输方式&#xff0c;其中数据发送和接收操作在独立的时间进行&#xff0c;不需要在特定时刻对齐。发送方在任何时刻可以发送数据&#xff0c;而接收…

Internet 控制报文协议 —— ICMPv4 和 ICMPv6 详解

ICMP 是一种面向无连接的协议&#xff0c;负责传递可能需要注意的差错和控制报文&#xff0c;差错指示通信网络是否存在错误 (如目的主机无法到达、IP 路由器无法正常传输数据包等。注意&#xff0c;路由器缓冲区溢出导致的丢包不包括在 ICMP 响应范围内&#xff0c;在 TCP 负责…

[C++]——同步异步日志系统(6)

同步异步日志系统 一、日志器模块设计1.1 同步日志器模块设计1.1.1 局部日志器建造者模式设计1.1.2 同步日志器基本功能测试 1.2 异步日志器模块设计1.2.1 单缓冲区设计1.2.2 异步工作线程的设计&#xff08;双缓冲区思想&#xff09;1.2.3 异步日志器设计1.2.4 异步日志器建造…

5.串口通信

文章目录 串口的介绍TTLRS-232RS-485 分类方式串口并口同步异步 相关寄存器SCONPCONTMODSBUFIE 中断处理函数代码编写main.cdelay.cdelay.hUart.cUart.hmain.h回环 继电器ESP8266AT指令代码编写main.cdefine.cdefine.hsend.csend.hreceive.cdelay.cdelay.h 串口的介绍 UART&am…

项目发布部署:如何发布.NETCore项目到IIS服务器?

前言&#xff1a;本文将详细介绍如何发布.NET Core项目到IIS服务器。首先&#xff0c;第一步需要安装IIS&#xff0c;介绍了在本地电脑和服务器中进行安装。然后需要安装SDK和运行时才能发布.NETCore项目。其次介绍了如何发布.NETCore项目和Vue项目&#xff0c;并配置IIS。最后…

自适应键盘,自带隐藏键盘的输入框(UITextField)

引言 在iOS开发中&#xff0c;输入框占据着举足轻重的地位。与安卓不同&#xff0c;iOS输入框经常面临键盘遮挡的问题&#xff0c;或者无法方便地取消键盘。为了解决这些问题&#xff0c;有许多针对iOS键盘管理的库&#xff0c;如IQKeyboardManager、TPKeyboardAvoiding和Keyb…

数仓实践:维度建模标准规范定义

一、引言 指以维度建模作为理论基础,构建总线矩阵,划分和定义数据域、业务过程、维度、度量/原子指标、业务限定、时间周期、统计粒度、派生指标。 规范定义如下: 二、名词术语 名词解释数据域面向业务分析,将业务过程或者维度进行抽象的集合。其中,业务过程可以概括为…

idea中使用maven

默认情况下&#xff0c;idea会自动下载并安装maven&#xff0c;这不便于我们管理。 最好是自行下载maven&#xff0c;然后在idea中指定maven的文件夹路径

鸿蒙开发:Universal Keystore Kit(密钥管理服务)【获取密钥属性(C/C++)】

获取密钥属性(C/C) HUKS提供了接口供业务获取指定密钥的相关属性。在获取指定密钥属性前&#xff0c;需要确保已在HUKS中生成或导入持久化存储的密钥。 在CMake脚本中链接相关动态库 target_link_libraries(entry PUBLIC libhuks_ndk.z.so)开发步骤 构造对应参数。 keyAlias&…

华为OD七日集训第1期 - 按算法分类,由易到难,循序渐进,玩转OD

目录 一、适合人群二、本期训练时间三、如何参加四、7日集训第2期五、精心挑选21道高频100分经典题目&#xff0c;作为入门。第1天、逻辑分析第2天、数组第3天、双指针第4天、数据结构第5天、队列第6天、栈第7天、滑动窗口 六、集训总结 大家好&#xff0c;我是哪吒。 最近一直…