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

news2024/12/23 23:00:43

目录

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 BMI

BMI =  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.coloradmin.cn/o/817516.html

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

相关文章

二 动手学深度学习v2笔记 —— 线性回归 + 基础优化算法

二 动手学深度学习v2 —— 线性回归 基础优化算法 目录: 线性回归基础优化方法 1. 线性回归 总结 线性回归是对n维输入的加权&#xff0c;外加偏差使用平方损失来衡量预测值和真实值的差异线性回归有显示解线性回归可以看作是单层神经网络 2. 基础优化方法 梯度下降 小批量…

4通道高速数据采集卡推荐哪些呢

FMC141是一款基于VITA57.4标准的4通道2.8GSPS/2.5GSPS/1.6GSPS采样率16位DA播放FMC子卡&#xff0c;该板卡为FMC标准&#xff0c;符合VITA57.4与VITA57.1规范&#xff0c;16通道的JESD204B接口通过FMC连接器连接至FPGA的高速串行端口。 该板卡采用TI公司的DAC39J84芯片&#x…

【玩转Linux】Linux输入子系统简介

(꒪ꇴ꒪ ),hello我是祐言博客主页&#xff1a;C语言基础,Linux基础,软件配置领域博主&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff01;送给读者的一句鸡汤&#x1f914;&#xff1a;集中起来的意志可以击穿顽石!作者水平很有限&#xff0c;如果发现错误&#x…

LeetCode每日一题Day1——买卖股票的最佳时机

✨博主&#xff1a;命运之光 &#x1f984;专栏&#xff1a;算法修炼之练气篇&#xff08;C\C版&#xff09; &#x1f353;专栏&#xff1a;算法修炼之筑基篇&#xff08;C\C版&#xff09; &#x1f433;专栏&#xff1a;算法修炼之练气篇&#xff08;Python版&#xff09; ✨…

青大数据结构【2016】

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

shiro550反序列化漏洞原理与漏洞复现(基于vulhub,保姆级的详细教程)

漏洞原理 本文所有使用的脚本和工具都会在文末给出链接&#xff0c;希望读者可以耐心看到最后。 啥是shiro? Shiro是Apache的一个强大且易用的Java安全框架,用于执行身份验证、授权、密码和会话管理。使用 Shiro 易于理解的 API&#xff0c;可以快速轻松地对应用程序进行保…

代码随想录算法训练营之JAVA|第十七天| 654. 最大二叉树

今天是第17天刷leetcode&#xff0c;立个flag&#xff0c;打卡60天。 算法挑战链接 654. 最大二叉树https://leetcode.cn/problems/maximum-binary-tree/description/ 第一想法 错误的想法&#xff0c;就不说了。 看完代码随想录之后的想法 用递归模拟真实的过程 如果我…

【iOS】通知原理

我们可以通过看通知的实现机制来了解通知中心是怎么实现对观察者的引用的。由于苹果对Foundation源码是不开源的&#xff0c;我们具体就参考一下GNUStep的源码实现。GNUStep的源码地址为&#xff1a;GNUStep源码GitHub下载地址, 具体源码可以进行查看。 通知的主要流程 通知全…

AD21 PCB设计的高级应用(二)PCB常见走线等长设计

&#xff08;二&#xff09;PCB常见走线等长设计 1.蛇形线的等长设计2.DDR的等长分组3.等长的拓扑结构3.1 点对点连接3.2 T型拓扑结构3.3 菊花链拓扑结构 1.蛇形线的等长设计 在 PCB 设计中,网络等长调节目的就是为了尽可能地降低信号在 PCB上传输延迟的差异。在 Altium Desig…

C语言第十三课--------初阶指针的认识--------重要部分

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; &#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382;…

JavaSE类和对象(重点:this引用、构造方法)

目录 一、类的定义方式以及实例化 1.面向对象 Java是一门纯面向对象的语言(Object Oriented Program&#xff0c;简称OOP)&#xff0c;在Java的世界里一切皆为对象。 2.类的定义和使用 1.在java中定义类时需要用到class关键字 3.类的实例化 4.类实例化的使用 二、this引用 …

面试中常聊 AMS,你是否又真的了解?

在面试的时候&#xff0c;经常会被问到这些问题&#xff1a; 对Activity的启动流程了解吗&#xff1f;AMS在Android起到什么作用&#xff0c;简单分析下Android的源码system_server为什么要在Zygote中启动&#xff0c;而不是由init直接启动呢?为什么要专门使用Zygote进程去孵…

有点慌,新公司项目构建用的Gradle

入职新公司&#xff0c;构建项目的工具用的gradle&#xff0c;以前没用过&#xff0c;看到一个build.gradle&#xff0c;点进去&#xff0c;心里一句我曹&#xff0c;这写的都是些什么玩意&#xff0c;方得一批&#xff0c;赶紧去补了下课。 好吧&#xff0c;先学点语法&#…

根据选择内容自动生成正则表达式

地址: https://regex.ai/ 如何使用? 比如我这里有个需求: 提取图片路径中的文件名 https://wx4.sinaimg.cn/mw1024/0040jbadly1hg5nk0l3gtj62c0340kjl02.jpg 提取出0040jbadly1hg5nk0l3gtj62c0340kjl02.jpg 数据越多越准确 左边提供数据, 右边给出需要提取的数据, 点击run&…

地产变革中,物业等风来

2023年7月&#xff0c;也许是中国房地产行业变局中的一个大拐点。 中信建投研报表示&#xff0c;政治局会议指出当前我国房地产形势已发生重大变化&#xff0c;要适时调整优化政策&#xff0c;为行业形势定调……当前房地产行业β已至。 不久前&#xff0c;国家统计局公布了2…

Mag-Fluo-4 AM,镁离子荧光探针,是一种有用的细胞内镁离子指示剂

资料编辑|陕西新研博美生物科技有限公司小编MISSwu​ PART1----产品描述&#xff1a; 镁离子荧光探针Mag-Fluo-4 AM&#xff0c;具细胞膜渗透性&#xff0c;对镁离子&#xff08;Mg2&#xff09; 和钙离子&#xff08;Ca2&#xff09;的 Kd 值分别是 4.7mM 和 22mM&#xff0c…

运维:Multipass软件让你的虚拟机管理更简单高效

一、Multipass是什么&#xff1f; 官网&#xff1a;https://multipass.run/ 一提到虚拟机大家一般都会想到VMvare和Virtual Box这两个的虚拟机软件&#xff0c;这两个软件一个比较麻烦的地方是安装完虚拟机以后还需要下载操作系统镜像。小编偶然间发现了Multipass。这款轻量级的…

Flowable-子流程-嵌套子流程

目录 定义图形标记XML内容使用示例视频讲解 定义 内嵌子流程又叫嵌入式子流程&#xff0c;它是一个可以包含其它活动、分支、事件&#xff0c;等的活动。我们通 常意义上说的子流程通常就是指的内嵌子流程&#xff0c;它表现为将一个流程&#xff08;子流程&#xff09;定义在…

【C语言初阶(20)】调试练习题

文章目录 前言实例1实例2 前言 在我们开始调试之前&#xff0c;应该有个明确的思路&#xff1b;程序是如何完成工作的、变量到达某个步骤时的值应该是什么、出现的问题大概会在什么位置。这些东西在调试之前都需要先确认下来&#xff0c;不然自己都不知道自己在调试个什么东西…

IT服务管理学习笔记<一>

### IT服务管理知识整理 ITSM 的核心思想是&#xff0c;IT 组织&#xff0c;不管它是企业内部的还是外部的&#xff0c;都是 IT 服务提供者&#xff0c;其 主要工作就是提供低成本、高质量的 IT 服务。 ITSM 的核心思想是&#xff0c;IT 组织&#xff0c;不管它是企业内部的还…