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=10

f是格式化字符串
{}可以放入变量、值、表达式
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 random

computer=random.randint(0,100)
left=0
right=100
flag=0
for index in range(0,5):
    guest=int(input())
    if(guest>computer):
        right=guest
        print(f"太大了,数字范围缩小到{left}~{right}")
    elif (guest<computer):
        left=guest
        print(f"太小了,数字范围缩小到{left}~{right}")
    elif(guest==computer):
        print("恭喜答对!")
        flag=1
        break
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=ag
        self.chinese=ch
        self.math=ma
        self.english=eng
    def getName(self):
        return self.name
    def getAge(self):
        return self.age
    def setAge(self,x):
        self.age=x
    def 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=ag
        self.chinese=ch
        self.math=ma
        self.english=eng
    def getName(self) ->str : #这个写法可以指定返回类型
        return self.name
    def getAge(self):
        return self.age
    def setAge(self,x):
        self.age=x
    def 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

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

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

相关文章

TMDOG的Gin学习笔记_02——Gin集成支付宝支付沙箱环境

TMDOG的Gin学习笔记_02——Gin集成支付宝支付沙箱环境 博客地址&#xff1a;TMDOG的博客 作者自述&#xff1a; 最近忙着整理自己的项目代码&#xff0c;终于有时间更新一下博客。这次的内容是关于如何在Gin框架下集成支付宝的支付沙箱环境&#xff0c;具体包括如何初始化支付…

cmake could not find a package configuration file provided by “Microsoft.GSL“

通过查找 dir C:\vcpkg\installed\x64-windows /s /b | findstr Microsoft.GSL vspkg安装 git clone https://github.com/microsoft/vcpkg.git cd vcpkg .\bootstrap-vcpkg.bat .\vcpkg --version

cocos creator 3.8.3物理组件分组的坑

坑&#xff0c;坑的不行的大坑 group用的二进制的左移获取十进制的数值 目前是这样判断的&#xff0c;也不知道对不对&#xff0c;什么get、set Group没找到

【AI写作宝-注册安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 1. 暴力破解密码&#xff0c;造成用户信息泄露 2. 短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉 3. 带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造…

计算机毕业设计Python流量检测可视化 DDos攻击流量检测与可视化分析 SDN web渗透测试系统 网络安全 信息安全 大数据毕业设计

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

2024.11最新Hexo+GitHub搭建个人博客

2024.11最新HexoGitHub搭建个人博客 一、Hexo介绍 Hexo 是一个快速、简洁且高效的博客框架&#xff0c;有丰富的主题和插件可供使用。 Hexo 使用 Markdown&#xff08;或其他标记语言&#xff09;解析文章&#xff0c;在几秒内&#xff0c;即可利用靓丽的主题生成静态网页。这…

王道考研之数据结构

数据结构系列 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 数据结构 数据结构系列1.线性表1.1 线性表的定义和相关概念1.2 线性表的创销 增删查改 判空表长打印 2.顺序表2.1 顺序表定义和相关概念2.2 顺序表的静态实现2.3 顺序表的…

java导出word文件(手绘)

文章目录 代码细节效果图参考资料 代码细节 使用的hutool的WordUtil&#xff0c;WordUtil对poi进行封装&#xff0c;但是这一块的官方封装的很少&#xff0c;很多细节都没有。代码中是常见的绘制段落&#xff0c;标题、表格等常用api Word07Writer writer WordUtil.getWriter(…

LeetCode 0685.冗余连接 II:并查集(和I有何不同分析)——详细题解(附图)

【LetMeFly】685.冗余连接 II&#xff1a;并查集&#xff08;和I有何不同分析&#xff09;——详细题解(附图) 力扣题目链接&#xff1a;https://leetcode.cn/problems/redundant-connection-ii/ 在本问题中&#xff0c;有根树指满足以下条件的 有向 图。该树只有一个根节点&…

git原理与上传

言&#xff1a; git是一个软件&#xff0c;gitee/github是一个网站&#xff0c;这里有什么联系吗&#xff1f;我们身为一个程序员不可能不知道github&#xff0c;但是毕竟这是外国的网站&#xff0c;我们不翻墙的情况下&#xff0c;是无法访问的(或者就是太慢了&#xff0c;或…

Go语言的常用内置函数

文章目录 一、Strings包字符串处理包定义Strings包的基本用法Strconv包中常用函数 二、Time包三、Math包math包概述使用math包 四、随机数包&#xff08;rand&#xff09; 一、Strings包 字符串处理包定义 Strings包简介&#xff1a; 一般编程语言包含的字符串处理库功能区别…

React 入门课程 - 使用CDN编程React

1. 第一个React 注意&#xff1a;在vscode里&#xff0c;使用Live Server来运行html文件。 index.html <html><head><link rel"stylesheet" href"index.css"><script crossorigin src"https://unpkg.com/react17/umd/react.de…

苍穹外卖day09超出配送范围前端不提示问题

同学们在写苍穹外卖项目day09时调用了百度地图api来判断用户地址是否超出配送范围&#xff0c; 但是在黑马官方的课程或资料中&#xff0c;出现这样的问题时只会向用户端的控制台报错并不会提醒用户 如下图&#xff1a; 解决方法&#xff1a; 其实解决方法很简单只需要找到向…

ARXML汽车可扩展标记性语言规范讲解

ARXML: Automotive Extensible Markup Language &#xff08;汽车可扩展标记语言&#xff09; xmlns: Xml name space &#xff08;xml 命名空间&#xff09; xsd: Xml Schema Definition (xml 架构定义) 1、XML与HTML的区别&#xff0c;可扩展。 可扩展&#xff0c;主要是…

【开源项目】经典开源项目数字孪生智慧小镇——开源工程及源码

飞渡科技数字孪生小镇管理平台&#xff0c;依托自研数字孪生引擎平台&#xff0c;将5G、物联网、大数据、人工智能等数字化技术融合应用&#xff0c;采集、整合、应用小镇的规划、运营、管理等数据&#xff0c;实现特色小镇全域管理系统化以及精细化。 基于地理信息系统&#x…

探索 Move 编程语言:智能合约开发的新纪元

目录 引言 一、变量的定义 二、整型 如何在Move中表示小数和负数&#xff1f; 三、运算符 as运算符 布尔型 地址类型 四、什么是包&#xff1f; 五、什么是模块&#xff1f; 六、如何定义方法&#xff1f; 方法访问权限控制 init方法 总结 引言 Move 是一种专为区…

智能提醒助理系列-jdk8升级到21,springboot2.3升级到3.3

本系列文章记录“智能提醒助理”产品建设历程&#xff0c;记录实践经验、巩固知识点、锻炼总结能力。 本篇介绍技术栈升级的过程&#xff0c;遇到的问题和解决方案。 一、需求出发点 智能提醒小程序 当前使用的是jdk8&#xff0c;springboot2.3,升级到jdk21和springboot3.3 学…

算法|牛客网华为机试31-40C++

牛客网华为机试 上篇&#xff1a;算法|牛客网华为机试21-30C 文章目录 HJ31 单词倒排HJ32 密码截取HJ33 整数与IP地址间的转换HJ34 图片整理HJ35 蛇形矩阵HJ36 字符串加密HJ37 统计每个月兔子的总数HJ38 求小球落地5次后所经历的路程和第5次反弹的高度HJ39 判断两个IP是否属于同…

第六十三周周报 GCN-CNNGA

文章目录 week 63 GCN-CNNGA摘要Abstract1. 题目2. Abstract3. 文献解读3.1 Introduction3.2 创新点 4. 网络结构4.1 数据分析4.2 混合深度学习框架的发展4.3 Mul4.4 CNN block4.5 GCN block4.6 GRU block4.7 注意力机制4.8 模型评估标准 5. 实验结果5.1 不同邻接矩阵的性能评价…

人工智能——小白学习指南

知孤云出岫 目录 1. **智能评测系统**2. **个性化学习路径推荐**3. **虚拟学习助手**4. **学习行为分析**5. **数据驱动的教学决策**6. **自动化课程推荐**7. **数据隐私与安全保护** 人工智能知识点的总结和学习路线&#xff0c;以数据表格形式呈现&#xff0c;并附带在教育行…