我与Python的一夜情

news2024/11/26 11:57:31

期末突击看这篇才够味!

环境搭建

首先就是相关工具的安装,直接搜就好,但是还是贴个网址吧:

Welcome to Python.orgicon-default.png?t=N7T8https://www.python.org/

 然后就是根据自己的系统选择咯:

谁能闲来无事送我个mac玩玩

Windows的一下,,,,哎?这么多版本下哪个好?

 要稳定版本的就好,搞个版本然后下64位的(应该没有人用32位吧,那个是老电脑用的比较多)

下载完之后安装,别装到C盘咯

这个勾选下库(第二个小方框),配置相关环境变量,我是装到D盘了

这个安装的是python的运行环境,不是开发环境 

就是终端,它长这样:

 

 可以这样玩玩:

运行环境安装完了,还要安装个开发环境 :PyCharm

依旧是用我的亲亲浏览器搜索

PyCharm: the Python IDE for data science and web development (jetbrains.com)icon-default.png?t=N7T8https://www.jetbrains.com/pycharm/

我也不想心动啊可是它欢迎我哎?

还是IDE好用。。。哪里都是

点击下载之后跳转到这个页面做选择:

 

得去偷个mac玩玩了,和VS一样分专业版和社区版:

直接社区就OK,反正我和python是一夜情

还是选安装路径啦,文件夹是个好东西,这样选:

好耶:

 

点击新建这样搞:

 就好咯(创建解决方案):

新建源文件:

 

 

我的环境好咯:

Ctrl+Shift+F10运行,也可以右键然后run:

虽然但是感觉好怪。。。调个字大小不伤眼睛:

 

大小刚刚好,懵逼不伤脑

还可以设置背景图供自己把玩:

 

 

都默认就好,配置完咯:

 

基础语法

变量
print("hello")
print(1 + 2 + 3)
print(1 + 2 * 3)
print(1 + 2 / 3)

为了代码美观加空格,打印是这样的:

除法是小数的 ,665是向下取整,整除是//

来看看求方差小程序:

tips:方差这样求:算平均值 --> 每个数字 - 平均值再平方 --> 平方值相加 --> 和除以(项数-1)

avg = (67.5 + 89.0 + 12.9 + 32.2) / 4
total = (67.5 - avg) ** 2 + (89.0 - avg) ** 2 + (12.9 - avg) ** 2 + (32.2 - avg) ** 2
print(total / 3)

在python里**是平方的意思 

挺简单的,有基础不难。。。

变量名:数字字母下划线,不以数字开头,不包含特殊符号,不和关键字重复,大小写敏感

好的变量名:描述性强的单词,下划线连接

驼峰命名:除了第一个单词之外的首字母都大写

personInfo
totalCount

蛇形命名:单词间使用 _分割 ,我很喜欢这个

Python中的变量类型不需要在定义的时候显式声明,仅仅依靠初始化的类型进行确定:

a = 10
print(type(a))

 

在Python中,int能够表示的数据范围是无穷的,int可根据要表示的数据大小自动扩容,因此Python没有long,short这样的类型

Python里面的浮点数float(没有double,Python设计喜欢解决一个问题只提供一种方案,降低学习成本)

字符串在Python中也被设计成一种数据类型(依旧想念我的容器,string就是最好的!),Python中的字符串是"   "或者'  '就是说中文时使用英文标点真的蛮方便?并不

s1 = 'hello'
print(type(s1))

s2 = "hello"
print(type(s2))

为什么要有两种引号嘞?怕解释器不认识,比如这样就是错的:

print("my name is "switch"")

 tips:红色是错误,黄色是警告,绿色是拼写检查

因此,如果字符串里包含"  ",表示你字符串可以'  '来引起,反之亦然

  如果单双都有就用三引号:

print('''my 'name' is "switch"''')

 

字符串有些内置函数,比如说求长度:

s = 'my name is "switch"'
length = len(s)
print(length)

字符串可以进行拼接,比如这样:

s1 = "hello"
s2 = "world"
print(s1 + s2)

 不能把字符串和数字混合相加,拼接完对原来的字符串无影响

在Python中报错有两种情况:

1.语法错误:程序运行前,Python解释器可识别

2.运行错误:程序运行前识别不了,必须执行到对应代码才能发现问题

 Python还有种内置类型是bool类型,和cpp一样咯,和C略有区别

bool取值只有真假,主要用于逻辑判定

True
False

 类型分类带来的意义:

1.不同类型数据占用内存空间不同:int(4byte),float(8byte),bool(1byte),str(变长)

2.不同类型可进行的操作不同:

int、float : + - * /                  不可len

str :+                                    可len

动态类型

程序运行过程中,变量的类型可能回发生改变,这被称为动态类型

a = "hello"
print(type(a))

a = True
print(type(a))

  在cpp、Java里都是静态类型(程序运行过程中变量类型始终不变)

Python在定义也可以进行类型声明:

a:str = "hello"
print(type(a))

a:bool = True
print(type(a))

 动态类型的写法是比较灵活的,提高了语言的表达能力,但在编程中,“灵活”不是什么好鸟,这意味着更容易出错

在大型的多人协作项目中,静态类型语言更好

初级开发用Python更灵活,当项目规模变大,可能就需要用其他语言对之前的Python代码进行重构

Python里面注释用#,可提高代码可读性,三引号也是注释:

"""
这是一个文档字符串哎嘿嘿,和注释差不多哟
"""
print("hello world")

注释要准确,篇幅河狸,使用中文,内容积极

批量注释:选中,Ctrl+/,取消亦然

输入和输出

输入输出使用控制台,在计算机里,我们把用户能输入命令向计算机安排工作,计算机再把结果显示出来的程序称为控制台,在Windows里面win+R就打开了控制台:

pycharm内部集成了一个控制台:

就是这个东东 ,控制台是人和计算机交互的最基础方式,但不常用,因为要敲命令,图形化界面才是坠吊的!!!

可我是程序猿,要自己坚强

数字和字符串混合打印怎么办?用占位符么?

这样写:

a = 10
print(f"a = {a}")

它叫格式化字符串:f-format,此时可以通过{ }嵌入变量或者表达式 

我的cpp:%d,%s,std,cout ,>>就是最好的!

那么如何从控制台进行输入呢?

还是用input,长时间等待,不见不散~

input返回值是字符串,如果只是单纯拿到输入打印,那就直接打印即可,如果需要根据输入内容进行算术计算,则需要str-->int

a = input()
print(type(a))
print(a)

这样转换:

a = input()
print(type(a))
print(a)
a = int(a)
print(type(a))

 举个栗子:

输入四个小数,求四个小数平均值:

a = input()
b = input()
c = input()
d = input()
print((float(a)+float(b)+float(c)+float(d))/4)

 

运算符

运算符还蛮多,算术、关系、赋值、逻辑...

算术运算符就加减乘除乘方取模。。。

除0会异常,有些编程语言除int0异常除float0会无穷大

截断向下取整

关系运算符用于表示关系,和C一样,不赘述

字符串比较大小依赖字典序,直接用==和!=就可以比较嘞(>和<也是正常用):

s1 = "hello"
s2 = "hella"
print(s1 > s2)
print(s1 < s2)

针对浮点数用==比较相等可能存在风险: 浮点数在内存中的存储和表示可能存在误差,这样的误差在算术运算中可能被放大,从而导致==出现误判

print(0.1 + 0.2 == 0.3)

为什么哎?

 我们打印就好了:

print(0.1 + 0.2 == 0.3)
print(0.1)
print(0.2)
print(0.1 + 0.2)
print(0.3)

==比较很严格,正确比较浮点数大小是相减后看是否小于允许的误差范围:

a = 0.1 + 0.2
b = 0.3
print(-0.000001 < (a - b) < 0.000001)

 

Python支持这种连续<的写法

 逻辑运算符:Python中的逻辑运算符有或且非(and、or、not)

不赘述

a = 10
b = 20
c = 30
print(a < b and b < c)

赋值运算符,将右侧的值填充到左侧的空间(变量)中

链式赋值:

a = b = 20

有个有意思的:

a , b = 10 , 20

这是多元赋值,适用于交换数值 :

a , b = b , a

 Python不支持这种写法:

int a = 10;
a++;
++a;

 支持的是这种:

a = 10
a += 5

整数可以和bool值相加减,得到的结果是整数,其中True为1,False为0 

Python只有字符串,没有字符

语句
条件

条件语句也叫分支语句,加缩进,这样搞:

if expression1:
    do something1
elif expression2:
    do something2
else:
    do something3

 如果我们希望条件满足时什么都不做,不可以直接不写(或者只写注释),Python对于语法的格式(缩进和代码块)要求比较高,我们可以用空语句占位,即pass

a = input()
if a != '1':
    pass
else:
    print("hello")
循环
while
while 条件:
    循环体
num = 1
while num < 10:
    print(num)
    num+=1

看清楚了,阶乘之和这样算:

num = 1
sum = 0
while num <= 5:
    factorResult = 1
    i = 1
    while i <= num:
        factorResult *= i
        i += 1
    num += 1
    sum += factorResult
print(sum)
for

打印1~10 

for i in range(1,11):
    print(i)

 range是内建函数,得到一个“可迭代对象”,可迭代对象中包含了一系列整数(左闭右开)

打印2、4、6、8、10:

for i in range(2,12,2):
    print(i)

打印10到1:

for i in range(10,0,-1):
    print(i)

Shift+F6可以对变量重命名,并一键替换

如果不知道要循环多少次,那可以这样:

theSum = 0
count = 0
while True:
    num = input()
    if(num == ';'):
        break
    num = float(num)
    theSum += num
    count += 1
print(theSum/count)

真正的实例:

nputt = input().split()
while True:
    for i in inputt:
        print(i)
    inputt = input().split()

好啦就这样吧

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

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

相关文章

Spring 整合 MyBatis 底层源码解析

大家好&#xff0c;我是柳岸花开。今天我们要讲的是 Spring 整合 MyBatis 的底层源码解析。希望大家能更深入理解 Spring 和 MyBatis 的整合原理&#xff0c;并应用到实际项目中。 由很多框架都需要和Spring进行整合&#xff0c;而整合的核心思想就是把其他框架所产生的对象放到…

学习cel-go了解一下通用表达语言评估是什么

文章目录 1. 前言2. cel-go2.1 cel-go关键概念Applications(应用)Compilation(编译)Expressions(表达式)Environment环境解析表达式的三个阶段 3. cel-go的使用4. cel-go使用5. 说明6. 小结7. 参考 1. 前言 最近因为在项目里面实现的一个使用和||来组合获取字段值的功能有点儿…

有监督学习——支持向量机、朴素贝叶斯分类

1. 支持向量机 支持向量机&#xff08;Support Vector Machine, SVM&#xff09;最初被用来解决线性问题&#xff0c;加入核函数后能够解决非线性问题。主要优点是能适应小样本数量 高维度特征的数据集&#xff0c;甚至是特征维度数高于训练样本数的情况。 先介绍几个概念&am…

王思聪日本街头在被偶遇

王思聪日本街头再被偶遇&#xff0c;甜蜜约会日常成网友热议焦点近日&#xff0c;有网友在日本街头再次偶遇了“国民老公”王思聪&#xff0c;这次他不仅携带着一位美丽的女友&#xff0c;还展现出了两人之间亲密无间的互动&#xff0c;让不少网友感叹&#xff1a;这真的是每天…

【MySQL】E-R图-关系数据模型-3NF--精讲+练习(巨全面)

一.知识储备 E-R图 E-R图&#xff0c;即实体-关系图&#xff08;Entity-Relationship Diagram&#xff09;&#xff0c;是数据库建模的一种工具&#xff0c;用于表示实体类型、属性以及它们之间的关系。 在E-R图中&#xff0c;实体用矩形表示&#xff0c;属性用椭圆表示&…

Java SSTI服务端模版注入漏洞原理与利用

文章目录 前言Velocity基础语法基础示例命令执行 靶场实践漏洞代码漏洞验证检测工具 FreeMarker基础示例漏洞示例CMS案例 Thymeleaf基础示例漏洞示例安全方案 总结 前言 SSTI&#xff08;Server Side Template Injection&#xff09;全称服务端模板注入漏洞&#xff0c;在 Jav…

Swift开发——元组

Swift语言的数据类型包括整型、浮点型、字符串、布尔型、数组、元组、集合和字典等,本文将详细介绍元组。 01、元组 严格意义上,元组不属于数据类型,而属于数据结构。元组将一些变量或常量或字面量组织成一个有序的序列,索引号从0开始,用圆括号“()”括起来,各个元素间用…

笔记100:使用 OSQP-Eigen 对 MPC 进行求解的方法与代码

1. 前言&#xff1a; 我们在对系统进行建模的时候&#xff0c;为了减少计算量&#xff0c;一般都将系统简化为线性的&#xff0c;系统如果有约束&#xff0c;也是将约束简化为线性的&#xff1b; 因此本篇博客只针对两种常见系统模型的 MPC 问题进行求解&#xff1a; 线性系统…

【ARM-Linux篇】智能家居语音模块配置

1. pin脚配置&#xff1a; 2. 命令词自定义基本信息&#xff1a; 3. 命令词自定控制详情: • 测试&#xff1a;串口模块可先通过串口助手验证每个指令的准确性&#xff0c; 然后运行wiringOP中的serialTest程序(需把/dev/ttyS2改成/dev/ttyS5) 然后语音接收到指令后(比如喊你好…

如何在 Postman 中进行 HTTPS 请求

https 请求是一种安全的网络通信方式&#xff0c;它使用 SSL/TLS 协议来加密数据和验证身份。在 postman 中发起 https 请求的步骤如下。 Postman 发起 https 请求 1、打开 postman 应用程序&#xff0c;点击左上角的“”号按钮&#xff0c;创建一个新的请求。 2、在请求标签…

MB-iSTFT-VITS 模型论文思路与实验分享:基于VITS架构优化的轻量级文本转语音模型

参考文献&#xff1a; [1] Kawamura M, Shirahata Y, Yamamoto R, et al. Lightweight and high-fidelity end-to-end text-to-speech with multi-band generation and inverse short-time fourier transform[C]//ICASSP 2023-2023 IEEE International Conference on Acoustics…

万能破题方法包(3)暴力破解法

一、前言 暴力破解法是指通过尝试所有可能的密码组合来破解密码 1.1、概念 暴力破解法是一种通过尝试所有可能的密码组合来破解密码的方法。它基于暴力的方式&#xff0c;不依赖于任何密码漏洞或特殊技巧&#xff0c;而是通过穷举所有可能性来找到正确的密码。 1.2、解决步骤 …

华为数通题库HCIP-821——最新最全(带答案解析)

单选1、下面是一台路由器的输出信息&#xff0c;关于这段信息描述正确的是 A目的网段1.1.1.0/24所携带的团体属性值是no—export表明该路由条目不能通告给任何BGP邻居 B目的网段5.1.1.0/24所携带的团体属性值是no—advertise表明该路由条目不能被通告给任何其他的BGP对等体 C…

【秋招突围】2024届秋招笔试-小红书笔试题-第一套-三语言题解(Java/Cpp/Python)

&#x1f36d; 大家好这里是清隆学长 &#xff0c;一枚热爱算法的程序员 ✨ 本系计划跟新各公司春秋招的笔试题 &#x1f4bb; ACM银牌&#x1f948;| 多次AK大厂笔试 &#xff5c; 编程一对一辅导 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&#x1f497; &#x1f4e7; 清隆这边…

若依Ruoyi-vue和element admin的区别,该如何选择。

提到中后台的前端框架&#xff0c;每个人都能列举出很多&#xff0c;这其中提及率比较高的就是Ruoyi和element admin两款&#xff0c;很多小伙伴分不清二者&#xff0c;本文为大家详细讲解一下。 一、若依Ruoyi-vue是什么&#xff1f; 若依Ruoyi-Vue是一款基于 Vue.js 开发的…

英伟达开源3400亿参数巨兽,98%合成数据训练出最强开源通用模型!性能媲美GPT-4o

英伟达刚刚再次证明了其在AI创新领域的领导地位。 它全新发布的Nemotron-4 340B&#xff0c;是一系列具有开创意义的开源模型&#xff0c;有望彻底改变训练LLM的合成数据生成方式&#xff01; 这一突破性进展标志着AI行业的一个重要里程碑—— 各行各业无需依赖昂贵的真实世界数…

挑战5分钟内基于Springboot+SpringMVC+Mybatis-plus快速构建web后端三层架构

目标 在清晨的代码编辑器上&#xff0c;一场新的挑战即将开始。程序员们肃立于安静的办公室&#xff0c;眼神专注地盯着屏幕&#xff0c;等待着编译器的一声提示。 随着编译器输出的激动人心的"start!"的提示&#xff0c;战斗的序幕拉开了。Bug如潮水般涌来&#x…

Golang——gRPC gateway网关

前言 etcd3 API全面升级为gRPC后&#xff0c;同时要提供REST API服务&#xff0c;维护两个版本的服务显然不大合理&#xff0c;所以gRPC-gateway诞生了。通过protobuf的自定义option实现了一个网关。服务端同时开启gRPC和HTTP服务&#xff0c;HTTP服务接收客户端请求后转换为gr…

消息群发工具制作的过程和需要用到的源代码!

在信息化快速发展的今天&#xff0c;消息群发工具因其高效、便捷的特点&#xff0c;在各个领域得到了广泛的应用&#xff0c;无论是企业营销、社交互动&#xff0c;还是日常通知&#xff0c;消息群发工具都发挥着不可替代的作用。 本文将详细介绍消息群发工具的制作过程&#…

[RL9] Rocky Linux 9.4 搭载 PG 16.1

副标题&#xff1a;Rocky Linux 9.4 升级实录&#xff0c;及 PG 16 相关内容 背景 Rocky Linux 9.4 (以下简称 RL) 于5月9日正式发布&#xff0c;本文记录了从 RL 9.3 升级到 9.4 的过程&#xff0c;以及升级前后的一些变化。 之前介绍过 RL 9 的相关内容&#xff0c;请戳&…