python(自用查看版)

目录

1.注意事项

1.1 python的除法不是整除,得到的是浮点数

1.2算术符号基于数学的算术优先级。具体可自行查看。

1.3注释

1.4缩进

1.5换行

1.6常见关键字

1.7续行符

1.8报错

1.9赋值

1.10比较运算符

2.常量和表达式

3.变量

4.数据类型 

4.1整型int

4.2浮点数float

4.3字符串str

4.4bool类型

4.5动态类型

5.输入输出

5.1输入

​编辑

5.2输出

6.运算符

优先级

 6.1算术运算符

7.条件语句

8.循环语句

9.列表

10.字符串

11.元组

12.集合

13.字典 

14.函数()

15方便函数 

1.round()

2.random

16类

17文件


注意,本系列不会讲太过于详细的内容,是基于已经学过c语言或java或c++的基础上扩展学习的。

1.注意事项

1.1 python的除法不是整除,得到的是浮点数

而且编译器对于浮点数,基于IEEE754的标准,所以浮点数末尾不一定符合四舍五入的规则

1.2算术符号基于数学的算术优先级。具体可自行查看。

1.3注释

#单行注释

多行注释可以用三对双引号\单引号

#33333

"""3333"""

'3

1.4缩进

TAB键,也可空格键,4个空格表示一级缩进

1.5换行

一行代码不易过多,官方建议不超过79。

可以用()[]{},内部的行会进行隐式连接。


1.6常见关键字

False,await,else,import,pass,None,break,except,in,raise,True,class,finally,is,return,and,continue

for,lambda,try,as,def,from,

1.7续行符

用\

s2="dwdaawda\
wdwda"

1.8报错

语法错误和运行错误

1.9赋值

a=x=z=1
b,c=1,2
#x,y,z==1
#b=1,c=2
res=a+(g:=2)
#3

1.10比较运算符

可以连用,比如1<a<3,早期版本可能不支持

如果不支持,可以用and。

还支持and or not

2.常量和表达式

print(1+2-3)

1+2-3是表达式,运算结果是返回值。1 2 3是字面值常量

+ - / *是运算符/操作符

注意,**是用来计算次方数。比如3**4就是3的4次方'

//是整除

%是取余

3.变量

avb=(3+4+5)/2
print(avb)

avb就是一个变量(python也可称为标识符),用来存数据,可以自由修改。

标识符名命名规则:

1.字母、下划线、数字命名,且数字不能开头。

2.区分大小写。

3.不能用关键字

4.数据类型 

complex复数类型,列表类型list,元祖类型tuple,dict字典类型,集合类型set这些类型以后再说明

type关键字可以输出变量或常量的类型

schoolnumber =23210802019
c:int= 23232
niii=3.4
Name="天上地上我为尊"
x=True
print(Name)
print(schoolnumber)
print(type(schoolnumber))
if (x):print(1)

变量的类型由初始化的数据决定,但可以强制确定类型。

注意,根据后面传的数据,变量的类型可以改变

另外还可以强制转换,只取整数部分

a:int=1
b=0.9;
a=int(b)print(a)
//0

字符串str(),浮点型float()

4.1整型int

范围“无穷”,根据要表示的数据大小,自动扩容(分配更多的字节)

因此无需long、bite、short等类型。如上面的schoolnumber

4.2浮点数float

等同于c++/java的double,8字节。如上面的niii

用e\E表示底数10

4.3字符串str

单引号双引号都可以。python对于字符和字符串都是用一个类型存的

之所以有两类,是因为对于:  23231241‘231231231’

这样的字符,我们如果都用"",就会识别错误,所以对于内部的引用,可以用‘’

print("dwadwad'dwdawd'")

注意,3个单引号和3个多引号可以放在更多复杂的文本中

len关键字可以返回字符串的长度len>=字符串长度
 

print(len(Name))

字符串可以用+拼接
 

s1="sdwda"
s2="dwdaawda"
print(s1+s2)

不影响原来的s1和s2。

另外字符串和数字不能相加

也是

4.4bool类型

只有True和False两种类型,只占一个字节,True==1,False==0

x=True
if (x):print(1)

4.5动态类型

a=1
print(a)a="dwdawd"print(a)

就是说在运行中,变量的类型可以根据存储的数据改变

5.输入输出

5.1输入

输入用Input

input([prompt])

prompt是给用户看的提示信息

接受一个用户输入的字符串数据

n=input("请输入:")
print(f"你输入的是:{n}")

因为默认取到的是字符串数据,如果不需要计算,可以直接用

如果需要计算,就强转类型

5.2输出

输出用print(*object,set='  ',end='\n',file=sys.stdout)

第一个参数是输出的内容(可以用','来输出多个内容)。

set是连续输出多个内容时,终端上内容间的间隔

end是输出的时候的结尾,比如默认是换行符

file是输出的位置,默认是输出在python默认的终端上

print(f"a={a}")
#a=10f是格式化字符串
{}可以放入变量、值、表达式
print("x{:.2f}",a)//可以让a只带2个小数点

6.运算符

优先级

懒得手打了,这是菜鸟上的。相较于c++,我只写有变化的。

 6.1算术运算符

+ - * / % ** //

%取余,**次方(支持小数和整数次方),//整除(向下取整),/浮点除

/0或//0会抛异常,报错,抛异常之后,程序会直接终止

整数除整数,如果除不尽,会出现小数 

注意,浮点数相加可能会有误差

如果要强行验证
 

a=0.1+0.2
b=0.3
if(-0.000001<(a-b)<0.000001):print("1")
else:print("2")

7.条件语句

if(computer==0):if(human==1):print("电脑胜利")elif (human==2):print("玩家胜利")elif (human==0):print("双方平手")
elif (computer==1):if (human == 2):print("电脑胜利")elif (human == 0):print("玩家胜利")elif (human == 1):print("双方平手")
elif (computer==2):if (human == 0):print("电脑胜利")elif (human == 1):print("玩家胜利")elif (human == 2):print("双方平手")

else是除此之外

8.循环语句

import randomcomputer=random.randint(0,100)
left=0
right=100
flag=0
for index in range(0,5):guest=int(input())if(guest>computer):right=guestprint(f"太大了,数字范围缩小到{left}~{right}")elif (guest<computer):left=guestprint(f"太小了,数字范围缩小到{left}~{right}")elif(guest==computer):print("恭喜答对!")flag=1break
if(flag==0):print(f"废物,这都猜不中,是{computer}")
while(1):print()break

break依旧是用来跳出循坏

range是左闭右开,默认是每次+1

9.列表

mp=list()//空列表
mp=[]//空列表
mp[2]//下标引用,0~
mp[2:4]//切片,下标2到下标3(包含)
mp.sort()可以排序
a=sorted(mp)//不对原始列表影响的排序
max(mp)//可以找出列表里的最大值
min(mp)//最小值
mp.reverse()//不返回新值,直接修改原始内容,排序
sum(mp)//可以算里面的内容和
len(mp)//元素个数和
mp.append()//添加元素

10.字符串

str1=str1.replace(',','.')//替换str1里的,都为.
//注意,不对原始修改,可以像上面直接赋值给原来的变量名
str1=str1.split('m')//可以以m为间隔分割,返回一个列表
对同一变量,可以在同一行连续操作
str1=str1.replace(',','.').split('.')
可以切片操作
str1[2:]

11.元组

mp=tuple()//空元组
//元组不能修改

12.集合

mp=set()//集合

13.字典 

d1=dict()
d2=dict({"w":1,"3":3,"2":4})
d={"w":1,"2":3,"3":4}
print(d.get("w"))
print(d["w"])

key()所有键,values()所有值,items()所有元素

14.函数()

定义方式

def aaa(a=2):#函数体#返回 return ll

15方便函数 

1.round()

可以用来控制小数

mn=round(mn,2)

2.random

其中一个用法,uniform

mn=random.uniform(0,3)
#可最小0,最大3,取随机值

16类

from tkinter.font import names
#上面这个是引用的不用管
class Student:def __init__(self,na,ag,ch,ma,eng):#构造函数self.name=na#self开头的是实例属性,在构造函数里可以创建实例属性,也可以不加self,创建类属性
#类属性只能类方法或者用类.类属性来修改
#如果强行用对象修改类属性,实则是创建了一个同名的实例属性并修改值self.age=agself.chinese=chself.math=maself.english=engdef getName(self):return self.namedef getAge(self):return self.agedef setAge(self,x):self.age=xdef getCourse(self):return max(max(self.chinese,self.math),self.english)
d1=Student("王睿阳",18,100,100,95)
d2=Student("郑树立",18,56,67,87)
print(f"姓名:{d1.getName()},年龄:{d1.getAge()},最高成绩:{d1.getCourse()}")
d1.setAge(10)
print(f"姓名:{d1.getName()},年龄:{d1.getAge()},最高成绩:{d1.getCourse()}")
print(f"姓名:{d2.getName()},年龄:{d2.getAge()},最高成绩:{d2.getCourse()}")

函数行或属性名前面加__说明是私有属性,外部不能调用,不加就是公有属性,外部能调用

return可以返回多个值,return value1,value2.....

析构是__del__()

from tkinter.font import names
#上面这个是引用的不用管
class Student:def __init__(self,na:str,ag,ch,ma,eng):#构造函数,变量名:类型,可以指定类型self.name=na#self开头的是实例属性,在构造函数里可以创建实例属性,也可以不加self,创建类属性
#类属性只能类方法或者用类.类属性来修改
#如果强行用对象修改类属性,实则是创建了一个同名的实例属性并修改值self.age=agself.chinese=chself.math=maself.english=engdef getName(self) ->str : #这个写法可以指定返回类型return self.namedef getAge(self):return self.agedef setAge(self,x):self.age=xdef getCourse(self):return max(max(self.chinese,self.math),self.english)
d1=Student("王睿阳",18,100,100,95)
d2=Student("郑树立",18,56,67,87)
print(f"姓名:{d1.getName()},年龄:{d1.getAge()},最高成绩:{d1.getCourse()}")
d1.setAge(10)
print(f"姓名:{d1.getName()},年龄:{d1.getAge()},最高成绩:{d1.getCourse()}")
print(f"姓名:{d2.getName()},年龄:{d2.getAge()},最高成绩:{d2.getCourse()}")

17文件

 open(filie,mode='r',encoding=None)

file:文件路径

mode:打开方式(r:只读,w只写,a追加,b二进制,+更新

encoding:编码格式

更新就是可读可写

关闭文件:文件对象.close()

虽然系统会自动关闭文件,但是同一时间,可以打开的文件数量是有限的,所以为了节省内存空间,建议主动手动关闭文件

文件打开失败,会抛异常,打印错误信息

可以实现这个模块后,自动关闭文件

编码ascll utf-8 unicode gbk

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

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

相关文章

微信小程序,点击bindtap事件后,没有跳转到详情页,有可能是app.json中没有正确配置页面路径

文章目录 1、index.wxml2、index.js检查点1. 确保目标页面存在2. 确保页面路径配置正确3. 检查页面接收参数productDetail.jsproductDetail.wxmlproductDetail.wxss 总结 1、index.wxml <!-- 商品搜索结果卡片容器 --><view class"search-result"><bl…

科技改变生活:最新智能开关、调光器及插座产品亮相

根据QYResearch调研团队的最新力作《欧洲开关、调光器和插座市场报告2023-2029》显示&#xff0c;预计到2029年&#xff0c;欧洲开关、调光器和插座市场的规模将攀升至57.8亿美元&#xff0c;并且在接下来的几年里&#xff0c;将以4.2%的复合年增长率&#xff08;CAGR&#xff…

OpenGL入门006——着色器在纹理混合中的应用

本节将理解顶点和片段着色器在纹理混合中的应用 文章目录 一些概念纹理时间依赖动画 实战简介dependenciesshader.fsshader.vsteenager.pngtex.png utilswindowFactory.hshader.hRectangleModel.hRectangleModel.cpp main.cppCMakeLists.txt最终效果 一些概念 纹理 概述&…

【9695】基于springboot+vue的学生就业管理系统

作者主页&#xff1a;Java码库 主营内容&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取免费源码 项目描述 本学生就业管理系统以springboot作为框架&#xff…

C语言的进制表示【八进制,十六进制】

文章目录 C语言的进制表示【八进制&#xff0c;十六进制】题目介绍C语言的进制表示1. 十进制2. 八进制3. 十六进制4. 二进制 进制表示总结 C语言的进制表示【八进制&#xff0c;十六进制】 题目介绍 故事的起因是今天在群里看到有人发来的问题 //原题目 int main() {int a 0…

高通Quick板上安装编译Ros1 noetic,LeGO_LOAM,FAR_Planner和rslidar_sdk

环境要求&#xff1a; 这里quick板上安装的是Ubuntu20.04版本 Ros Noeti安装&#xff1a; 1.设置软件源&#xff1a; 官方提供的软件源&#xff1a; sudo sh -c echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.…

一招解决Mac没有剪切板历史记录的问题

使用Mac的朋友肯定都为Mac的剪切功能苦恼过&#xff0c;旧内容覆盖新内容&#xff0c;导致如果有内容需要重复输入的话&#xff0c;就需要一次一次的重复复制粘贴&#xff0c;非常麻烦 但其实Mac也能够有剪切板历史记录功能&#xff0c;iCopy&#xff0c;让你的Mac也能拥有剪切…

nginx 搭建网站

1.查看防火墙状态systemctl status firewalld 2.getenforce 3.安装nginx yum install nginx -y 4.网站信息 echo "welcome to yinchuankejixuanyuan" > /usr/share/nginx/html/index.html 5.查看命令状态 nginx -t 6.重启 systemctl restart nginx

gin入门

Gin入门笔记 1. 初始gin 1.1. 依赖安装 go get github.com/gin-gonic/gin写gin程序都有一套固定的格式 初始化写路由监听运行 1.2. hello world package mainimport ("github.com/gin-gonic/gin""net/http" )func main() {router : gin.Default()rou…

CentOS 7 安装 ntp,自动校准系统时间

1、安装 ntp yum install ntp 安装好后&#xff0c;ntp 会自动注册成为服务&#xff0c;服务名称为 ntpd 2、查看当前 ntpd 服务的状态 systemctl status ntpd 3、启动 ntpd 服务、查看 ntpd 服务的状态 systemctl start ntpdsystemctl status ntpd 4、设置 ntpd 服务开机启…

Unity3D UI 拖拽

Unity3D 实现 UI 元素拖拽功能。 UI 拖拽 通常画布上的 UI 元素都是固定位置的&#xff0c;我们可以通过实现拖拽接口&#xff0c;让 UI 元素可以被拖拽到其他位置。 拖拽接口 创建一个脚本 UIDrag.cs&#xff0c;在默认继承的 MonoBehaviour 后面&#xff0c;再继承三个接…

基于 SSM(Spring + Spring MVC + MyBatis)框架构建电器网上订购系统

基于 SSM&#xff08;Spring Spring MVC MyBatis&#xff09;框架构建电器网上订购系统可以为用户提供一个方便快捷的购物平台。以下将详细介绍该系统的开发流程&#xff0c;包括需求分析、技术选型、数据库设计、项目结构搭建、主要功能实现以及前端页面设计。 需求分析 …

esp32学习:利用虫洞ESP32开发板,快速实现无线图传

我们的虫洞开发板&#xff0c;能够完美运行esp who AI代码&#xff0c;所以实现无线图传那是非常容易的&#xff0c;我们先看看examples目录&#xff1a; 里面有比较多的web例程&#xff0c;在这些例程下&#xff0c;稍作修改&#xff0c;就可以快速实现我的图传无线功能&#…

mac m1 docker本地部署canal 监听mysql的binglog日志

mac m1 docker本地部署canal监听mysql的binglog日志(虚拟机同理) 根据黑马视频部署 1.docker 部署mysql 1.docker拉取mysql 镜像 因为m1是arm架构.需要多加一条信息 正常拉取 docker pull mysql:tagm1拉取 5.7的版本. tag需要自己指定版本 docker pull --platform linux/x…

还在为慢速数据传输苦恼?Linux 零拷贝技术来帮你!

前言 程序员的终极追求是什么&#xff1f;当系统流量大增&#xff0c;用户体验却丝滑依旧&#xff1f;没错&#xff01;然而&#xff0c;在大量文件传输、数据传递的场景中&#xff0c;传统的“数据搬运”却拖慢了性能。为了解决这一痛点&#xff0c;Linux 推出了 零拷贝 技术&…

基于java+SpringBoot+Vue的微服务在线教育系统设计与实现

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; Springboot mybatis Maven mysql5.7或8.0等等组成&#x…

【无标题】西安交通大学提出少锚点的端到端车道线检测算法Polar R-CNN

Abstract 车道线检测在自动驾驶中是一个关键且充满挑战的任务&#xff0c;特别是在实际场景中&#xff0c;由于车道线可能因其他车辆而被遮挡、形状纤细且长度较长&#xff0c;检测难度增大。现有基于锚点的检测方法通常依赖于预设的锚点来提取特征&#xff0c;并随后对车道线…

【手撕排序3】归并排序

&#x1f343; 本系列包括常见的各种排序算法&#xff0c;如果感兴趣&#xff0c;欢迎订阅&#x1f6a9; &#x1f38a;个人主页:小编的个人主页 &#x1f380; &#x1f389;欢迎大家点赞&#x1f44d;收藏⭐文章 ✌️ &#x1f91e; &#x1f91f; &#x1f918; &#x1f91…

Vue中使用Antd中a-table实现表格数据列合并展示

原数据 根据需求实现当前两列数据中有相同数据时,合并列单元格 实现 源码 数据 const dataSource = ref([{id: 1,pl: "冰箱",zznd: "P1",sm: "说明说明说明1",dw: "台",gs: "1",dj: "100"},{id: 1,pl: "冰…

数据结构-数组(稀疏矩阵转置)和广义表

目录 1、数组定义 1&#xff09;数组存储地址计算示例①行优先②列优先 2&#xff09;稀疏矩阵的转置三元组顺序表结构定义 ①普通矩阵转置②三元组顺序表转置稀疏矩阵③稀疏矩阵的快速转置 3&#xff09;十字链表结构定义 2、广义表定义 1&#xff09;基本操作①GetHead②GetT…