python基础之(输出、条件判断、循环、函数)

文章目录

  • 1. 输出
    • 1. 占位输入
    • 2. 精确小数位数输出
  • 2. 条件判断
    • 1. match判断
  • 3. 循环
    • 1. while循环
    • 2. for 循环
    • 3. 循环控制
  • 4. 列表操作
  • 5. 变量
  • 6. 函数
    • 1. 不记名函数lambda
    • 2. 内置函数
    • 3. 递归函数
    • 4. 参数
    • 5. 模块
      • 1. 正则
      • 2. 时间
      • 3. 绘图turtle
      • 3. shocket套接字

1. 输出

1. 占位输入

# 语法
print("年%d,月%d,日%d" %(year,month,day)
print(f"年{year},月{month},日{day}")

2. 精确小数位数输出

print("金额:%.2f" %(money))

2. 条件判断

1. match判断

x = ""
match x:case 条件1:print("满足条件1")case 条件2:print("满足条件2")case 条件3:print("满足条件3")case _:print("其他条件")

3. 循环

1. while循环

# 语法初始条件
while 条件:print("执行内容")    退出循环条件

2. for 循环

for i in range():print(”执行内容“)

3. 循环控制

whiel 条件:print("执行内容")breakfor i in range():print(”执行内容“)break

4. 列表操作

list = []
# 增
list.append()
list.extend()
list.insert()#删
list.pop()
list.remove()
list.clear()# 改
list.insert(index,obj)#排序
list.sort()
list.reverse()# 计数
list.count()

5. 变量

局部变量: 是在函数内定义的变量,只能在函数内部使用

全局变量: 实在函数外定义的变量,所有函数内部都可以使用

6. 函数

1. 不记名函数lambda

# 语法
lambda 参数:函数体

2. 内置函数

#绝对值 bs()'''
进制转换
bin() 二进制
oct() 八进制
hex() 十六进制
'''# 去除字符串的‘’
eval() 

3. 递归函数

#语法
def func(n):#退出递归条件#函数返回return XX# 继续调用函数fun(n) 
def get_combination(ll,start):""":param ll:  排序的列表:param start: 起始位置一般为0:return: 空"""end=len(ll)  #记录元素个数if start==end:   #递归的结束条件print(ll)else:i=start  #指向本次需要排列的第一个位置(本轮需要固定的位置)# 循环排列的序列中的每一个数,for n in range(start,end):# 依次交换数据ll[n],ll[i]=ll[i],ll[n]#递归调用get_combination(ll,start+1)# 回到上一步,交换数据ll[n],ll[i]=ll[i],ll[n]#1*2*3=6
get_combination([1,2,3],0)#1*2*3*4=24
get_combination(['red','yellow','green','blue'],0)

4. 参数

实参: 函数列表中需要传入的参数

形参: 函数内部定义的参数

def func()global x # 申明全局变量

5. 模块

1. 正则

优点: 速度快,效率高,准确性高正则的

缺点: 新手上手难度有点儿高

  1. 正则表达式使用的网站:

    https://www.mklab.cn/utils/regex

    https://tool.oschina.net/regex/

'''
2. 常用的元字符
. 匹配除换行符以外的任意字符, 未来在python的re模块中是一个坑
\w匹配字母或数字或下划线
\s 匹配任意的空白符
\d 匹配数字
\n 匹配一个换行符
\t 匹配一个制表符
^ 匹配字符串的开始
$ 匹配字符串的结尾
\W 匹配非字母或数字或下划线
\D 匹配非数字
\S 匹配非空白符
alb 匹配字符a或字符b
() 匹配括号内的表达式,也表示一个组
[…] 匹配字符组中的字符
[^…]匹配除了字符组中字符的所有字符3. 贪婪匹配
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次贪婪匹配
.* 尽可能多的匹配惰性匹配
.*? 尽可能少的匹配 ->回溯
<div> .*?<\div>
'''
#4.re模块的使用
# 常用模块的使用
import re# findall直接返回匹配结果,以列表形式返回
res = re.findall(r"\d+","我今年28岁了,我有100万")
print(res)# 迭代器
res1 = re.finditer(r"\d+","我今年28岁了,我有100万")
for item in res1:    #从迭代器中拿到内容print(item.group())   #从匹配结果中拿到数据# 只能匹配到第一次匹配的内容
res2 = re.search(r"\d+","我今年28岁了,我有100万")
print(res2.group())#从开头开始匹配
res3 = re.match(r"\d+","我今年28岁了,我有100万")
print(res3)#预加载,提前把正则对象加载完毕
obj = re.compile(r"\d+")
#使用加载好的正则
res4 = obj.findall("我有100元,借给你50元")
print(res4)

2. 时间

import time# 获取当前时间
current_time = time.time() # 获取当前时间戳
print(current_time)# 将时间戳转换为可读形式
readable_time = time.ctime(time.time()) 
print(readable_time)# 计算时间差:
start_time = time.time()
time.sleep(2) # 模拟耗时操作
end_time = time.time() 
elapsed_time = end_time - start_time # 计算时间差
print(f"elapsed time: {elapsed_time} seconds")# 设置时间(需要管理员权限):
# 设置时间为2023年1月1日0时0分0秒
time.struct_time(time.mktime((2023, 1, 1, 0, 0, 0, -1, -1, -1)))

3. 绘图turtle

import turtle# 步骤一:创建画布
my_screen = turtle.Screen()  # 创建画布
my_turtle = turtle.Turtle()  # 创建海龟# 步骤二:设置画布属性‌
# 可以设置画布的大小和背景颜色turtle.screensize(800, 600, "green")  # 设置画布大小为800x600像素,背景颜色为绿色# 步骤三:设置画布属性‌
# 可以设置海龟的移动速度、画笔颜色和线宽等属性
pythonCopy Code
my_turtle.speed(10)  # 设置海龟移动速度为10
my_turtle.pencolor("red")  # 设置画笔颜色为红色
my_turtle.width(5)  # 设置画笔线宽为5像素# 步骤四:控制海龟绘图‌
# 前进、后退、转向等
for _ in range(4):my_turtle.forward(100)  # 海龟向前移动100像素my_turtle.right(90)  # 海龟右转90度# 步骤五:结束绘图‌
# 完成绘图后,可以通过以下代码保持绘图窗口打开turtle.mainloop()  # 保持绘图窗口打开,不自动关闭

3. shocket套接字

  1. 创建服务端

    import socket# 创建对象
    sk = socket.socket()# 绑定ip和端口号
    sk.bind(("0.0.0.0",1234))# 设置监听
    sk.listen(5)# 等待客户端连接
    conn,addr = sk.accept()print(f"客户端信息{conn},客户端地址{addr}")while True:accept_msg = conn.recv(1024)print(f"收到客户发送的消息{accept_msg.decode('utf-8')}")send_msg = f"已经收到客户端发送的信息:{accept_msg.decode('utf-8')}"conn.send(send_msg.encode("utf-8"))
    
  2. 创建客户端

    import socket# 创建对象
    sk = socket.socket()# 连接服务器
    sk.connect(("127.0.0.1",1234))while True:send_msg = input("请输入需要发送的str:")if send_msg == "end":break# 发送数据服务器sk.send(send_msg.encode("utf-8"))# 接收服务器相应accept_msg = sk.recv(1024)print(f"服务器的相应数据:{accept_msg.decode('utf-8')}")
    

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何实现KIS私有云数据到聚水潭的高效集成

KIS私有云数据集成到聚水潭&#xff1a;KIS-供应商——>空操作案例分享 在企业信息化建设中&#xff0c;数据的高效流动和准确对接是提升业务效率的关键。本文将重点介绍如何通过轻易云数据集成平台&#xff0c;将KIS私有云中的供应商数据无缝集成到聚水潭系统&#xff0c;…

GESP4级考试语法知识(算法概论(三))

爱因斯坦的阶梯代码&#xff1a; //算法1-12 #include<iostream> using namespace std; int main() {int n1; //n为所设的阶梯数while(!((n%21)&&(n%32)&&(n%54)&&(n%65)&&(n%70)))n; //判别是否满足一组同余式cout<<n<…

【无标题】123

软件包管理器yum yum类似应用商店客户端&#xff0c;有人已经把软件写好放在服务器上了&#xff0c;通过yum找到服务器上的软件下载 软件操作 yum list 可以显示所有可下载软件&#xff0c;我们要找lrzsz软件 yum install 下载 yum remove 卸载 yum源 yum下载软件是通过下载…

【Golang】sql.Null* 类型使用(处理空值和零值)

sql.NullString 和 sql.NullInt64 类型&#xff08;以及其他类似的 sql.Null* 类型&#xff09;在处理数据库操作时非常有用&#xff0c;尤其是在 Go 语言的 database/sql 包中。它们的主要用途包括&#xff1a; 表示 NULL 值&#xff1a; 在数据库中&#xff0c;NULL 表示“没…

【昇腾】从单机单卡到单机多卡训练

昇腾&#xff1a;单机单卡训练->单机多卡训练 分布式训练 &#xff08;1&#xff09;单机单卡的训练流程 硬盘读取数据CPU处理数据&#xff0c;将数据组成一个batch传入GPU网络前向传播计算loss网络反向传播计算梯度 &#xff08;2&#xff09;PyTorch中最早的数据并行框…

【动手学电机驱动】STM32-FOC(3)STM32 三路互补 PWM 输出

STM32-FOC&#xff08;1&#xff09;STM32 电机控制的软件开发环境 STM32-FOC&#xff08;2&#xff09;STM32 导入和创建项目 STM32-FOC&#xff08;3&#xff09;STM32 三路互补 PWM 输出 STM32-FOC&#xff08;4&#xff09;IHM03 电机控制套件介绍 STM32-FOC&#xff08;5&…

docker+nacos

安装数据库 以docker安装为例&#xff08;实际建议实体&#xff09; 初始化数据库 /******************************************/ /* 数据库全名 nacos_config */ /* 表名称 config_info */ /******************************************/ CREATE TABLE config_i…

边缘计算网关如何打造智慧变电站

随着工业化发展&#xff0c;电网规模持续扩大&#xff0c;电力终端设备的数量呈几何级数增长&#xff0c;由此产生了海量的数据传输和处理需求&#xff0c;不仅给服务器主站造成了巨大压力&#xff0c;并且过程中的高时延、高误差也无法满足智能化、自动化等新业务形态的要求。…

Uniapp安装Pinia并持久化(Vue3)

安装pinia 在uni-app的Vue3版本中&#xff0c;Pinia已被内置&#xff0c;无需额外安装即可直接使用&#xff08;Vue2版本则内置了Vuex&#xff09;。 HBuilder X项目&#xff1a;直接使用&#xff0c;无需安装。CLI项目&#xff1a;需手动安装&#xff0c;执行yarn add pinia…

(没有跳过联网激活)导致使用微软账号激活电脑---修改为本地账户和英文名字

修改为本地账户和英文名字 前言微软账号&#xff0c;本地账号与用户名基本知识账户管理方式一方式2 查看账户的sid并且修改文件夹名字和系统变量修改注册表和建立软件路径超链接注意事项总结 前言 当没有联网激活新买的电脑时候&#xff0c;这个就不用看了 当你是联网激活的时…

18、论文阅读:AOD-Net:一体化除雾网络

AOD-Net: All-in-One Dehazing Network 前言介绍相关工作物理模型传统方法深度学习方法 建模与扩展变换后的公式网络设计与高级特征任务相结合 除雾评价数据集和实现 前言 该论文提出了一种基于卷积神经网络&#xff08;CNN&#xff09;的图像去雾模型&#xff0c;称为 All-in…

[ DOS 命令基础 2 ] DOS 命令详解-网络相关命令

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…

【docker】6. 镜像仓库/镜像概念

Docker Registry&#xff08;镜像仓库&#xff09; 什么是 Docker Registry 镜像仓库 (Docker Registry) 负责存储、管理和分发镜像&#xff0c;并且提供了登录认证能力&#xff0c;建立了仓库的索引。 镜像仓库管理多个 Repository&#xff0c; Repository 通过命名来区分。…

安装和运行开发微信小程序

下载HBuilder uniapp官网 uni-app官网 微信开发者工具 安装 微信小程序 微信小程序 官网 微信小程序 配置 运行 注意&#xff1a;运行前需要开启服务端口 如果运行看不到效果&#xff0c;设置下基础库选别的版本 配置

[mysql]mysql的DML数据操作语言增删改,以及新特性计算列,阿里巴巴开发手册mysql相关

1DML数据操作语言,增加删除改数据 插入数据INSERT 插入添加数据,两种方法 方式1:VALUES添加数据 #准备工作 USE atguigudb; CREATE TABLE IF NOT EXISTS emp1( id INT, name VARCHAR(15), hire_data DATE, salary DOUBLE(10,2)); SELECT * FROM emp1 INSERT INTO em…

【华为云-云驻共创】UCS跨云多活容灾:让业务高可用不再是难题

【摘要】云原生应用深入到企业各个业务场景&#xff0c;云原生正在走向分布式化&#xff0c;跨云跨域统一协同治理&#xff0c;保证一致应用体验&#xff0c;这些新的需求日益凸显。而容灾是确保服务高可用的保障&#xff0c;但即使应用部署在云上&#xff0c;也无法避免市政方…

R语言生物群落(生态)数据统计分析与绘图丨tidyverse数据清洗、多元统计分析、随机森林、回归及混合效应模型、结构方程模型等

R 语言的开源、自由、免费等特点使其广泛应用于生物群落数据统计分析。生物群落数据多样而复杂&#xff0c;涉及众多统计分析方法。内容以生物群落数据分析中的最常用的统计方法回归和混合效应模型、多元统计分析技术及结构方程等数量分析方法为主线&#xff0c;通过多个来自经…

极简实现酷炫动效:Flutter隐式动画指南第二篇之一些酷炫的隐式动画效果

目录 前言 1.弹性放大按钮效果 2.旋转和缩放组合动画 3.颜色渐变背景动画 4.缩放进出效果 前言 在上一篇文章中&#xff0c;我们介绍了Flutter中的隐式动画的一些相关知识&#xff0c;在这篇文章中,我们可以结合多个隐式动画 Widget 在 Flutter 中创建一些酷炫的视觉效果&…

数字马力二面面试总结

24.03.07数字马力二面面试总结 前段时间找工作,做的一些面试笔记总结 大家有面试录音或者记录的也可以发给我,我来整理答案呀 数字马力二面面试总结 24.03.07数字马力二面面试总结你可以挑一个你的最有挑战性的,有难度的,最具有复杂性的项目,可以简单说一下。有没有和算…

C语言例题练手(1)

前几篇博客的内容已经涉及了C语言的部分语法知识&#xff0c;我们可以尝试做一些编程题&#xff0c;或者换一种说法就是可以写出什么样的程序以此来解决一些问题。 题目来自牛客网https://www.nowcoder.com和C语言菜鸟教程C 语言教程 | 菜鸟教程 数值计算 【例1】带余除法计…