我与Python的一夜情

期末突击看这篇才够味!

环境搭建

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

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 = 1i = 1while i <= num:factorResult *= ii += 1num += 1sum += 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 == ';'):breaknum = float(num)theSum += numcount += 1
print(theSum/count)

真正的实例:

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

好啦就这样吧

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

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

相关文章

哈喽GPT-4o——对GPT-4o 写论文的思考与看法

目录 几小时即可完成一份1万字论文的编写1、改写降重2、同义词替换降重3、避免连续相同4、缩写扩写降重5、关键词汇替换降重6、句式变换降重7、逻辑重组8、综合改写9、数据呈现方式变更10、概念解释降重 大家好&#xff0c;我是哪吒。 在ChatGPT4o对话框中输入&#xff1a;写一…

遥控玩具车电机驱动应用中的双H桥驱动芯片

遥控玩具车的基本工作原理是通过无线电遥控器发送信号&#xff0c;这些信号被玩具车内的接收器接收并解码&#xff0c;从而控制玩具车的运行。根据车身外型的不同&#xff0c;可以分为&#xff1a;普通的私家房车、越野车、货柜车、翻斗车等等。遥控器的操作&#xff0c;如前进…

测试 halcon measure_projection 算子

期望结果完全相同&#xff0c;但是下面的测试结果和halcon的差值如下: [0.132838, 0.231991, 0.265157, 0.296903, 0.0998573, 0.165907, 0.230686, 0.130266, 0.0977104, 0.197109, 0.198173, 0.197086, 0.190943, 0.177665, 0.163521, 0.146541, 0.161362, 0.166666, 0.2281…

NG32031单片机串口初始化

目录 1. 串口基础 2. 串口配置步骤 3. N32G031串口初始化示例 3.1开启时钟 3.2 配置GPIO 3.3 配置USART 3.4 使能中断&#xff08;如果需要&#xff09; 3.5. 示例代码 4. 调试和验证 5. 注意事项 6. 额外功能 NG32G031单片机的串口&#xff08;UART&#xff09;通常…

理解Python的元类

1.type()函数 type 函数是一个内置函数&#xff0c;用来获取一个对象的类型。它可以接受一个参数&#xff0c;返回这个参数的数据类型。type也可以用来创建类&#xff0c;type就是元类 x333 list["ab"] tuple (1, "a", True, 3.14) dict {name: Alice,…

这4款国产软件,因为太良心好用,甚至被误认为是外国人开发的

说起国产软件&#xff0c;大家总是容易给它们打上“流氓、要钱、广告满天飞”的标签&#xff0c;其实&#xff0c;有些小众的软件超级好用&#xff0c;功能强大又不耍流氓&#xff0c;真心不该被一棍子打死。 1、sunlight studio Sunlight Studio是一个开源、免费、无广告的硬…

从云端到终端:青犀视频汇聚/融合平台的视频接入方式与场景应用

一、青犀视频汇聚/融合平台 由TSINGSEE青犀视频研发的EasyCVR智能融合/视频汇聚平台基于“云-边-端”一体化架构&#xff0c;支持视频汇聚、融合管理&#xff0c;兼容多协议&#xff08;GA/T1400/GB28181/Onvif/RTSP/RTMP/海康SDK/Ehome/大华SDK/宇视SDK等&#xff09;、多类型…

你的职业规划就是面向贫穷的规划

如果你觉得作者的文章还有点用,请记得点赞 + 关注 说一个扎心的事实,就是我们绝大多数人的职业规划基本上都是错误的,都是面向贫穷的规划。 因为绝大多数人的职业规划都是打工人的职业规划,这种规划除了很少部分人最终能成为企业高管,实现层级跃迁外,绝大多数人在大多数…

Java17 --- RabbitMQ之常规使用

目录 一、实现消息可靠性投递 1.1、消息生产者端确认机制 1.2、备份交换机 1.3、消费端确认机制 二、消费端限流设置 三、消息超时设置 3.1、从队列设置全局超时时间 3.2、设置消息本身超时时间 四、死信 4.1、消费端拒绝接收消息 4.1.1、创建死信交换机与队列 …

LangChain入门学习笔记(一)——Hello World

什么是LangChain LangChain是一个开源&#xff08;github repo&#xff09;的大语言模型应用开发框架&#xff0c;提供了一整套的工具、方法和接口去帮助程序员构建基于大语言模型的端到端应用。LangChain是长链&#xff08;long chain&#xff09;的意思&#xff0c;它的一个…

Linux驱动开发笔记(八)输入子系统

文章目录 前言一、输入子系统1. 子系统的引入2. 组成部分3. 事件处理流程4. 相关数据结构 二、程序编写1. 相关API函数1.1 input_allocate_device ( )1.2 input_free_device ( )1.3 input_register_device ( )1.4 input_unregister_device ( )1.5 input_event ( )1.6 input_rep…

Prometheus写入influxDB:中间件remote_storage_adapter

Prometheus写入influxDB&#xff1a;中间件remote_storage_adapter prometheus默认采用的是本地磁盘做数据存储&#xff0c;本地存储的优势就是运维简单但是缺点就是无法海量的metrics持久化和数据存在丢失的风险,数据写入可能造成wal文件损坏导致采集数据无法再写入的问题。 …

【嵌入式DIY实例】-Nokia 5110显示DS18B20传感器数据

Nokia 5110显示DS18B20传感器数据 文章目录 Nokia 5110显示DS18B20传感器数据1、硬件准备2、代码实现本文将介绍如何使用 ESP8266 NodeMCU 板和 DS18B20 数字温度传感器实现简单的温度测量站。 NodeMCU 微控制器 (ESP8266EX) 从 DS18B20 传感器读取温度值,并将其打印在诺基亚 …

Nginx部署Vue项目css文件能加载但是不生效

目录 问题描述问题解决 问题描述 Nginx部署打包后的Vue项目css文件能加载但是不生效&#xff0c; 问题解决 查看响应标头&#xff0c;发现不对劲&#xff0c; Content-Type: text/plain正确的应该是 Content-Type: text/css根本原因是nginx没有告诉浏览器正确的文件类型 所…

Postman接口测试/接口自动化实战教程

一、API 自动化测试 Postman 最基本的功能用来重放请求&#xff0c;并且配合良好的 response 格式化工具。 高级点的用法可以使用 Postman 生成各个语言的脚本&#xff0c;还可以抓包&#xff0c;认证&#xff0c;传输文件。 仅仅做到这些还不能够满足一个系统的开发&#x…

Python学习打卡:day05

day5 笔记来源于&#xff1a;黑马程序员python教程&#xff0c;8天python从入门到精通&#xff0c;学python看这套就够了 目录 day538、函数的初体验39、函数的基础定义语法函数的定义注意事项 40、函数的基础定义案例练习41、函数的传入参数42、函数的传入参数案例练习——升…

毕业年薪30W起!25届最近5年浙江大学自动化考研院校分析

浙江大学 目录 一、学校学院专业简介 二、考试科目指定教材 三、近5年考研分数情况 四、近5年招生录取情况 五、最新一年分数段图表 六、历年真题PDF 七、初试大纲复试大纲 八、学费&奖学金&就业方向 一、学校学院专业简介 二、考试科目指定教材 1、考试科目…

揭秘招生简章的制作方法

一年一度的招生季即将来临&#xff0c;各大院校纷纷摩拳擦掌&#xff0c;准备迎接新的学子。对于学校而言&#xff0c;招生简章是其对外宣传的重要窗口&#xff0c;它直接关系到学校的招生效果和声誉。那么&#xff0c;如何制作一份既吸引人又实用的招生简章呢&#xff1f;下面…

【leetcode--字母异位词分组】

class Solution:def groupAnagrams(self, strs: List[str]) -> List[List[str]]:np collections.defaultdict(list)for st in strs:name "".join(sorted(st))np[name].append(st)return list(np.values()) collections.defaultdict(list)创建字典类型&#xff…

Git代码冲突原理与三路合并算法

Git代码冲突原理 Git合并文件是以行为单位进行一行一行合并的&#xff0c;但是有些时候并不是两行内容不一样Git就会报冲突&#xff0c;这是因为Git会帮助我们进行分析得出哪个结果是我们所期望的最终结果。而这个分析依据就是三路合并算法。当然&#xff0c;三路合并算法并不…