有趣的Python之基本语法(一篇足够)

news/2024/5/14 5:49:58/文章来源:https://blog.csdn.net/weixin_63541561/article/details/132010582

目录

Python简介

基本数据类型

进入交互模式

input()函数

条件语句

逻辑运算符

列表list

元组

字典

循环语句

format()方法和f

定义函数

python中的标准库引入

引入第三方库模块

面向对象

读文件

写文件

异常处理


Python简介

面向对象编程、函数式编程和过程式编程,具有丰富的第三方库,有简单易学、代码可读性高、动态类型和面向对象编程等特点。

基本数据类型

字符串(str)、整数(int)、浮点数(float)、布尔值(bool)、空值(NoneType)、元组(tuple)、列表(list)、字典(dict)和集合(set)常用的内置函数,它们被包含在Python的标准库中,可以直接使用

内置函数 — Python 3.11.4 文档

 字符串的某一位:

"hello,world"[1] # e
print("123456"[-1])#6

返回变量类型:

print(type("你好"))#<class 'str'>

进入交互模式

打开cmd,输入python,输入3*3, 不需要print(),就会直接显示结果,quit()将退出交互模式

input()函数

使用input()函数时,程序会暂停执行,等待用户在终端或命令行界面中输入一些文本,然后按下回车键,输入的文本会被作为字符串返回给程序。

# BMI = 体重 / (身高 ** 2)
weight = float(input("请您输入您的体重(单位:kg):"))
height= float(input("请您输入您的身高(单位:m):"))
BMI = weight/(height**2)
print("您的BMI值为:"+str(BMI))

条件语句

if   条件:

        结果1

else:

        结果2

多条件:

逻辑运算符

and  or  not 

优先级:not>and>or

列表list

可变,列表的元素可以为任意类型,remove(“元素”)删除某元素,

list = []
list.append("键盘")#添加
list.append("鼠标")
print(list)
list.remove("鼠标")#删除
list.append("手机")
print(list)
list[0] = "鼠标垫"#修改
print(list)num_list = [150,500,66,870]
max_num = max(num_list)
min_num = min(num_list)
sorted_num = sorted(num_list)#排序
print(str(sorted_num)+" 中最大为 "+str(max_num)+" 最小为"+str(min_num))

输出结果: 

元组

不可变数据类型,元组中的元素可以是任何类型

tuple1 = ("dg",1,22)
print(len(tuple1))
tuple1[1] = "1"#报错,'tuple' object does not support item assignment,不可变
print(tuple1)

字典

键不可变,元组作可以最为键

# 字典
phone_dict = {"张三":"15299944566","王五":"19859544788"}
phone_dict["李四"] = "19659788455"
print(phone_dict)
print(len(phone_dict))

返回keys()所有键,values()所有值,items()所有键值对

循环语句

 1.for循环

        for 变量名 in 可迭代对象:

                循环体

与range()组合使用:        

range(1,101)表示1到100,默认步长为1,左闭右开

total = 0
for i in range(1,101):total = total+i
print(total)#5050

2.while循环

while 条件A:

        行动B

format()方法和f

format()方法是一种更常用的字符串格式化方法,它接受一个或多个参数,并将它们插入到字符串中,例如:

name = 'Alice'
age = 25
print('My name is {} and I am {} years old.'.format(name, age))#My name is Alice and I am 25 years old.

f是一种格式化字符串的占位符,它可以方便地格式化字符串中的变量,例如:

name = 'Alice'
age = 25
formatted_string = f'My name is {name} and I am {age} years old.'
print(formatted_string)#My name is Alice and I am 25 years old.

定义函数

def calculate_BMI(weight,height):BMI = weight/(height**2)if BMI <= 18.5:category = "偏瘦"elif BMI <= 25:category = "正常"elif BMI <= 30:category = "偏胖"else:category = "肥胖"print(f"您的BMI分类为:{category}")return BMIBMI =  calculate_BMI(70,1.8)
print(BMI)

python中的标准库引入

三种方法

引入第三方库模块

由其他程序员提供, 访问网站:pypi.org

PyPI · The Python Package Index   可以搜索第三方库

安装:在终端输入: pip install + 库名

面向对象

面向对象的三大特征:封装 继承 多态

1.定义类:

 创建对象并调用方法:

chen = Student("小陈","001")
chen.set_grade("数学","99")
chen.set_grade("语文","90")
chen.set_grade("英语","90")chen.print_grades()

输出结果:

 2.继承:

class Cat(Animal):def __init__(self, name):super().__init__(name)self.voice = "喵喵"def print_Cat(self):print(f"{self.name}:{self.voice}")class Dog(Animal):def __init__(self, name):super().__init__(name)self.voice = "汪汪"def print_Dog(self):print(f"{self.name}:{self.voice}")cat2 = Cat("猫")
cat2.print_Cat()
dog = Dog("狗")
dog.print_Dog()

输出结果:

猫:喵喵
狗:汪汪

读文件

文件的位置:绝对路径和相对路径

绝对路径:从根目录出发

相对路径:从当前路径出发   

在当前文件目录下新建data.txt文件,以下是读文件的三种例子

f = open("data.txt","r",encoding="utf-8")
print(f.read())#一一次性读完文件
print(f.read(10))#读10个字节
print(f.readline())#会读一行文件的内容
print(f.readlines())#读取文件的全部,每行为单位,返回列表
f.close()with open("data.txt","r",encoding="utf-8") as f:#as + 文件对象的命名lines = f.readlines()for line in lines:print(line)

写文件

w:清空文件,再写入

with open("data.txt","w",encoding="utf-8") as f:f.write("我欲乘风归去,\n")f.write("又恐琼楼玉宇,\n")f.write("高出不胜寒。\n")

继续在data.txt文件中写

 a:在文件结尾处写入

with open("data.txt","a",encoding="utf-8") as f:f.write("起舞弄清影,\n何似在人间。")

 写入结果:

异常处理

try:# 可能引发异常的代码x = int(input("请输入一个整数:"))
except ValueError:# 处理ValueError异常的代码print("输入无效,请重新输入一个整数!")
except TypeError:# 处理TypeError异常的代码print("输入不是有效的整数!")
except ZeroDivisionError:# 处理ZeroDivisionError异常的代码print("无法除以零!")
else:#无异常print(f"{x}是一个整数")
finally:print("无论是否出现异常都必须执行的代码")

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

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

相关文章

【rtmp】1: FLV videotag 转annexb

【FLV】AVC+AAC的FLV解析过程及pts、dts计算 反复多次,才能熟记细节。 明确细节,遇到问题才能解决。 rtmp 推送flv时, 首先解析flv,flv videotag 转annexb 格式。 然后 按照annexb 输入给rtmp,让rtmp 推送。 而rtmp 推送又需要把annexb 转为avcc 。 annexb 格式文件 录制的…

day58 单调栈

单调栈 使用场景&#xff1a;通常是一维数组&#xff0c;要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置 本质&#xff1a;空间换时间 三个判断条件&#xff1a; 当前遍历的元素T[i]小于栈顶元素T[st.top()]的情况 当前遍历的元素T[i]等于栈顶元素T[st.to…

网络安全学习笔记——burp和SqlMap的tips

一、Burp 爆破 1、Burp爆账号密码 burp爆破的前提条件——该网站账号密码没有进行加密而是明文&#xff0c;且验证码可以重复使用&#xff0c;如下图数据包中直接显示账号与密码且验证码不需要重复提交&#xff08;此处需要自己使用burp进行测试&#xff09; 1、进入burp&am…

树莓派通过天线+gps获取经纬度并调用高德地图api在地图上标点

完整项目为《基于机器视觉的行人和路面缺陷检测及其边缘设备部署》 完整功能视频演示地址&#xff1a;本科最后的课设&#xff1a;“车载系统的辅助系统——基于机器视觉的行人和路面缺陷检测”完结撒花*罒▽罒*_哔哩哔哩_bilibili 该博客介绍的功能为&#xff1a; 1&#xff1…

实例讲解:通过三个案例搞懂tcp的那些冷门知识

最近在做数据库相关的事情&#xff0c;碰到了很多TCP相关的问题&#xff0c;新的场景新的挑战&#xff0c;有很多之前并没有掌握透彻的点&#xff0c;大大开了一把眼界&#xff0c;选了几个案例分享一下。 案例一&#xff1a;TCP中并不是所有的RST都有效 背景知识 在TCP协议…

Selenium-用这个框架自动化任何你想做的事情!

Chrome DevTools 简介 Chrome DevTools 是一组直接内置在基于 Chromium 的浏览器&#xff08;如 Chrome、Opera 和 Microsoft Edge&#xff09;中的工具&#xff0c;用于帮助开发人员调试和研究网站。 借助 Chrome DevTools&#xff0c;开发人员可以更深入地访问网站&#xf…

JPEG有损图像压缩编码器(附源码)

概述 一个基本由自己实现的JPEG有损图像压缩编码器&#xff0c;基于JFIF&#xff08;JPEG文件交换格式&#xff09;标准&#xff1a; 色彩空间转换&#xff08;RGB to YUV&#xff09;色度抽样&#xff08;采样因子4:2:0&#xff09;MCU分块&#xff08;16x16的最小编码单元&…

开放麒麟1.0发布一个月后,到底怎么样?另一款操作系统引发热议

具有里程碑意义 7月5日&#xff0c;国产首个开源桌面操作系统“开放麒麟1.0”正式发布。 标志着我国拥有了操作系统组件自主选型、操作系统独立构建的能力&#xff0c;填补了我国在这一领域的空白。 举国欢庆&#xff0c;算的上是里程碑意义了&#xff01; 发布后用着如何&a…

【Python】PySpark 数据计算 ② ( RDD#flatMap 方法 | RDD#flatMap 语法 | 代码示例 )

文章目录 一、RDD#flatMap 方法1、RDD#flatMap 方法引入2、解除嵌套3、RDD#flatMap 语法说明 二、代码示例 - RDD#flatMap 方法 一、RDD#flatMap 方法 1、RDD#flatMap 方法引入 RDD#map 方法 可以 将 RDD 中的数据元素 逐个进行处理 , 处理的逻辑 需要用外部 通过 参数传入 map…

深入理解 SQL:从基本查询到高级聚合

目录 背景理论知识示例1211. 查询结果的质量和占比&#xff08;Round group by&#xff09;1204. 最后一个能进入巴士的人 &#xff08;Having limit order by&#xff09;1193. 每月交易 I&#xff08;if group by&#xff09;1179. 重新格式化部门表1174. 即时食物配送 II&am…

链表刷题常用技巧——快慢指针

强大&#xff0c;不动如山的强大&#xff0c;不会输给自己的真正的强大。 往期回顾&#xff1a; 数据结构——单链表 单链表力扣刷题 文章目录 经典例题&#xff1a;链表的中间结点 题目分析及双指针思路引入 双指针图解 leetcode 核心代码 判断环形链表——快慢指针…

基于SSM+JSP+LayUI的校园任务帮管理系统

校园帮项目 校园即时服务平台 用户角色 管理员 功能 登录、公告管理&#xff08;发布公告、停用公告&#xff09;、任务管理&#xff08;下架任务、删除任务&#xff09;、用户管理&#xff08;用户充值、限制用户&#xff09;、修改密码 用户角色 用户 功能 注册、登录…

【Linux进程篇】进程概念(1)

【Linux进程篇】进程概念&#xff08;1&#xff09; 目录 【Linux进程篇】进程概念&#xff08;1&#xff09;进程基本概念描述进程-PCBtask_struct-PCB的一种task_ struct内容分类 组织进程查看进程通过系统调用获取进程标示符通过系统调用创建进程——fork初识 作者&#xff…

Android 中 app freezer 原理详解(二):S 版本

基于版本&#xff1a;Android S 0. 前言 在之前的两篇博文《Android 中app内存回收优化(一)》和 《Android 中app内存回收优化(二)》中详细剖析了 Android 中 app 内存优化的流程。这个机制的管理通过 CachedAppOptimizer 类管理&#xff0c;为什么叫这个名字&#xff0c;而不…

青大数据结构【2016】

一、单选 二、简答 3.简述遍历二叉树的含义及常见的方法。

大数据面试题:HBase的RegionServer宕机以后怎么恢复的?

面试题来源&#xff1a; 《大数据面试题 V4.0》 大数据面试题V3.0&#xff0c;523道题&#xff0c;679页&#xff0c;46w字 可回答&#xff1a;1&#xff09;HBase一个节点宕机了怎么办&#xff1b;2&#xff09;HBase故障恢复 参考答案&#xff1a; 1、HBase常见故障 导…

【构造】CF1758 C

Problem - 1758C - Codeforces 题意&#xff1a; 思路&#xff1a; 思路&#xff1a; #include <bits/stdc.h>#define int long longusing namespace std;const int mxn2e510; const int mxe2e510;int N,x; int ans[mxn];void solve(){cin>>N>>x;if(N%x!0)…

使用MyBatis(2)

目录 一、定义接口、实体类、创建XML文件实现接口&#xff09; 二、MyBatis的增删改查 &#x1f345;1、MyBatis传递参数查询 &#x1f388;写法一 &#x1f388;写法二 &#x1f388;两种方式的区别 &#x1f345;2、删除操作 &#x1f345;3、根据id修改用户名 &#x…

机器学习-Basic Concept

机器学习(Basic Concept) videopptblog Where does the error come from? 在前面我们讨论误差的时候&#xff0c;我们提到了Average Error On Testing Data是最重要的 A more complex model does not lead to better performance on test data Bias And Variance Bias(偏差) …

反转链表(JS)

反转链表 题目 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1]示例 2&#xff1a; 输入&#xff1a;head [1,2] 输出&#xff1a;[2,1]示例 3&…