Python小白必看

news2024/11/15 16:33:37

Python学习计划:

1.先学习Python基础知识,包括:

  • 变量、数据类型、运算符
  • 条件语句、循环语句
  • 函数、模块、包

2.掌握Python的常用库和框架,例如:

  • NumPy:用于科学计算、数据分析等
  • Pandas:用于数据处理、清洗等
  • Matplotlib:用于数据可视化
  • Flask、Django:用于Web开发

可以通过阅读官方文档或者一些实战教程来学习。

3.实践项目,例如:

  • 爬虫项目:爬取网页数据并进行分析
  • 数据分析项目:对某个数据集进行分析并可视化
  • Web应用项目:开发一个简单的Web应用

可以通过网上找一些实战项目来练手。

4.不断学习、实践和提升技能,例如:

  • 参加Python社区的活动,如PyCon等
  • 参与开源项目,学习他人的代码
  • 阅读Python相关的书籍和博客,了解最新的技术和趋势

以上是一个大致的Python学习计划,具体可以根据自己的兴趣和目标来制定。重要的是要坚持学习,不断实践和提升技能。

下面我们就先讲一下python基础吧

Python 变量

创建变量

变量是存放数据值的容器。

与其他编程语言不同,Python 没有声明变量的命令。

首次为其赋值时,才会创建变量。

x = 10
y = "NBA"
print(x)
print(y)

变量不需要使用任何特定类型声明,甚至可以在设置后更改其类型。

x = 5 # x is of type int
x = "Steve" # x is now of type str
print(x)

字符串变量可以使用单引号或双引号进行声明:

x = "Bill"
# is the same as
x = 'Bill'

变量名称

变量可以使用短名称(如 x 和 y)或更具描述性的名称(age、carname、total_volume)。

Python 变量命名规则:

  • 变量名必须以字母或下划线字符开头
  • 变量名称不能以数字开头
  • 变量名只能包含字母数字字符和下划线(A-z、0-9 和 _)
  • 变量名称区分大小写(age、Age 和 AGE 是三个不同的变量)

请记住,变量名称区分大小写

向多个变量赋值

Python 允许您在一行中为多个变量赋值:

x, y, z = "Orange", "Banana", "Cherry"
print(x)
print(y)
print(z)

 您可以在一行中为多个变量分配相同的值:

x = y = z = "Orange"
print(x)
print(y)
print(z)

全局变量

在函数外部创建的变量(如上述所有实例所示)称为全局变量。

全局变量可以被函数内部和外部的每个人使用。

实例

在函数外部创建变量,并在函数内部使用它:

x = "awesome"

def myfunc():
  print("Python is " + x)

myfunc()

如果在函数内部创建具有相同名称的变量,则该变量将是局部变量,并且只能在函数内部使用。具有相同名称的全局变量将保留原样,并拥有原始值。

实例

在函数内部创建一个与全局变量同名的变量:

x = "awesome"

def myfunc():
  x = "fantastic"
  print("Python is " + x)

myfunc()

print("Python is " + x)

global 关键字

通常,在函数内部创建变量时,该变量是局部变量,只能在该函数内部使用。

要在函数内部创建全局变量,您可以使用 global 关键字。

实例

如果您用了 global 关键字,则该变量属于全局范围:

def myfunc():
  global x
  x = "fantastic"

myfunc()

print("Python is " + x)

Python 数据类型

内置数据类型

在编程中,数据类型是一个重要的概念。

变量可以存储不同类型的数据,并且不同类型可以执行不同的操作。

在这些类别中,Python 默认拥有以下内置数据类型:

获取数据类型

您可以使用 type() 函数获取任何对象的数据类型:

实例

打印变量 x 的数据类型:

x = 10
print(type(x))

 

设置数据类型

在 Python 中,当您为变量赋值时,会设置数据类型:

 

 

设定特定的数据类型

如果希望指定数据类型,则您可以使用以下构造函数:

 

Python 运算符

Python 运算符

运算符用于对变量和值执行操作。

Python 在以下组中划分运算符:

  • 算术运算符
  • 赋值运算符
  • 比较运算符
  • 逻辑运算符
  • 身份运算符
  • 成员运算符
  • 位运算符

 

Python 算术运算符

算术运算符与数值一起使用来执行常见的数学运算:

 

Python 赋值运算符

赋值运算符用于为变量赋值:

Python 比较运算符

比较运算符用于比较两个值:

Python 逻辑运算符

逻辑运算符用于组合条件语句:

Python 身份运算符

身份运算符用于比较对象,不是比较它们是否相等,但如果它们实际上是同一个对象,则具有相同的内存位置:

Python 成员运算符

成员资格运算符用于测试序列是否在对象中出现:

Python 位运算符

位运算符用于比较(二进制)数字:

Python If ... Else

Python 条件和 If 语句

Python 支持来自数学的常用逻辑条件:

  • 等于:a == b
  • 不等于:a != b
  • 小于:a < b
  • 小于等于:a <= b
  • 大于:a > b
  • 大于等于:a >= b

这些条件能够以多种方式使用,最常见的是“if 语句”和循环。

if 语句使用 if 关键词来写。

a = 66
b = 200
if b > a:
  print("b is greater than a")

缩进

Python 依赖缩进,使用空格来定义代码中的范围。其他编程语言通常使用花括号来实现此目的。

实例

没有缩进的 If 语句(会引发错误):

a = 66
b = 200
if b > a:
print("b is greater than a") # 会报错

 Elif

elif 关键字是 python 对“如果之前的条件不正确,那么试试这个条件”的表达方式。

实例

a = 66
b = 66
if b > a:
  print("b is greater than a")
elif a == b:
  print("a and b are equal")

 在这个例子中,a 等于 b,所以第一个条件不成立,但 elif 条件为 true,所以我们打印屏幕“a 和 b 相等”。

Else

else 关键字捕获未被之前的条件捕获的任何内容。

实例

a = 200
b = 66
if b > a:
  print("b is greater than a")
elif a == b:
  print("a and b are equal")
else:
  print("a is greater than b")

 在这个例子中,a 大于 b,所以第一个条件不成立,elif 条件也不成立,所以我们转到 else 条件并打印到屏幕“a 大于 b”。

您也可以使用没有 elif 的 else

a = 200
b = 66
if b > a:
  print("b is greater than a")
else:
  print("b is not greater than a")

简写 If

如果只有一条语句要执行,则可以将其与 if 语句放在同一行。

实例

单行 if 语句:

a = 200
b = 66
if a > b: print("a is greater than b")

简写 If ... Else

如果只有两条语句要执行,一条用于 if,另一条用于 else,则可以将它们全部放在同一行:

实例

单行 if else 语句:

a = 200
b = 66
print("A") if a > b else print("B")

And

and 关键字是一个逻辑运算符,用于组合条件语句:

实例

测试 a 是否大于 b,且 c 是否大于 a:

a = 200
b = 66
c = 500
if a > b and c > a:
  print("Both conditions are True")

Or

or 关键字也是逻辑运算符,用于组合条件语句:

实例

测试 a 是否大于 b,或者 a 是否大于 c:

a = 200
b = 66
c = 500
if a > b or a > c:
  print("At least one of the conditions is True")

嵌套 If

您可以在 if 语句中包含 if 语句,这称为嵌套 if 语句。

x = 52

if x > 10:
  print("Above ten,")
  if x > 20:
    print("and also above 20!")
  else:
    print("but not above 20.")

pass 语句

if 语句不能为空,但是如果您处于某种原因写了无内容的 if 语句,请使用 pass 语句来避免错误。

实例

a = 66
b = 200

if b > a:
  pass

Python While 循环

Python 循环

Python 有两个原始的循环命令:

  • while 循环
  • for 循环

while 循环

如果使用 while 循环,只要条件为真,我们就可以执行一组语句。

实例

只要 i 小于 7,打印 i:

i = 1
while i < 7:
  print(i)
  i += 1

注释:请记得递增 i,否则循环会永远继续。

while 循环需要准备好相关的变量。在这个实例中,我们需要定义一个索引变量 i,我们将其设置为 1。

break 语句

如果使用 break 语句,即使 while 条件为真,我们也可以停止循环:

实例

在 i 等于 3 时退出循环:

i = 1
while i < 7:
  print(i)
  if i == 3:
    break
  i += 1

continue 语句

如果使用 continue 语句,我们可以停止当前的迭代,并继续下一个:

实例

如果 i 等于 3,则继续下一个迭代:

i = 0
while i < 7:
  i += 1 
  if i == 3:
    continue
  print(i)

else 语句

通过使用 else 语句,当条件不再成立时,我们可以运行一次代码块:

实例

条件为假时打印一条消息:

i = 1
while i < 6:
  print(i)
  i += 1
else:
  print("i is no longer less than 6")

Python For 循环

Python For 循环

for 循环用于迭代序列(即列表,元组,字典,集合或字符串)。

这与其他编程语言中的 for 关键字不太相似,而是更像其他面向对象编程语言中的迭代器方法。

通过使用 for 循环,我们可以为列表、元组、集合中的每个项目等执行一组语句。

实例

打印 fruits 列表中的每种水果:

fruits = ["apple", "banana", "cherry"]
for x in fruits:
  print(x)

提示:for 循环不需要预先设置索引变量。

循环遍历字符串

甚至连字符串都是可迭代的对象,它们包含一系列的字符:

实例

循环遍历单词 "banana" 中的字母:

for x in "banana":
  print(x)

break 语句

通过使用 break 语句,我们可以在循环遍历所有项目之前停止循环:

实例

如果 x 是 "banana",则退出循环:

fruits = ["apple", "banana", "cherry"]
for x in fruits:
  print(x) 
  if x == "banana":
    break

实例

当 x 为 "banana" 时退出循环,但这次在打印之前中断:

fruits = ["apple", "banana", "cherry"]
for x in fruits:
  if x == "banana":
    break
  print(x)

continue 语句

通过使用 continue 语句,我们可以停止循环的当前迭代,并继续下一个:

实例

不打印香蕉:

fruits = ["apple", "banana", "cherry"]
for x in fruits:
  if x == "banana":
    continue
  print(x)

range() 函数

如需循环一组代码指定的次数,我们可以使用 range() 函数,

range() 函数返回一个数字序列,默认情况下从 0 开始,并递增 1(默认地),并以指定的数字结束。

实例

使用 range() 函数:

for x in range(10):
  print(x)

注意:range(10) 不是 0 到 10 的值,而是值 0 到 9。

range() 函数默认 0 为起始值,不过可以通过添加参数来指定起始值:range(3, 10),这意味着值为 3 到 10(但不包括 10):

实例

使用起始参数:

for x in range(3, 10):
  print(x)

range() 函数默认将序列递增 1,但是可以通过添加第三个参数来指定增量值:range(2, 30, 3)

实例

使用 3 递增序列(默认值为 1):

for x in range(3, 50, 6):
  print(x)

For 循环中的 Else

for 循环中的 else 关键字指定循环结束时要执行的代码块:

实例

打印 0 到 9 的所有数字,并在循环结束时打印一条消息:

for x in range(10):
  print(x)
else:
  print("Finally finished!")

嵌套循环

嵌套循环是循环内的循环。

“外循环”每迭代一次,“内循环”将执行一次:

实例

打印每个水果的每个形容词:

adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]

for x in adj:
  for y in fruits:
    print(x, y)

pass 语句

for 语句不能为空,但是如果您处于某种原因写了无内容的 for 语句,请使用 pass 语句来避免错误。

实例

for x in [0, 1, 2]:
  pass

Python 函数

函数是一种仅在调用时运行的代码块。

您可以将数据(称为参数)传递到函数中。

函数可以把数据作为结果返回。

创建函数

在 Python 中,使用 def 关键字定义函数:

实例

def my_function():
  print("Hello from a function")

调用函数

如需调用函数,请使用函数名称后跟括号:

实例

def my_function():
  print("Hello from a function")

my_function()

参数

信息可以作为参数传递给函数。

参数在函数名后的括号内指定。您可以根据需要添加任意数量的参数,只需用逗号分隔即可。

下面的例子有一个带参数(fname)的函数。当调用此函数时,我们传递一个名字,在函数内部使用它来打印全名:

实例

def my_function(fname):
  print(fname + " Gates")

my_function("Bill")
my_function("Steve")
my_function("Elon")

默认参数值

下面的例子展示如何使用默认参数值。

如果我们调用了不带参数的函数,则使用默认值:

实例

def my_function(country = "China"):
  print("I am from " + country)

my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")

以 List 传参

您发送到函数的参数可以是任何数据类型(字符串、数字、列表、字典等),并且在函数内其将被视为相同数据类型。

例如,如果您将 List 作为参数发送,它到达函数时仍将是 List(列表):

实例

def my_function(food):
  for x in food:
    print(x)

fruits = ["apple", "banana", "cherry"]

my_function(fruits)

返回值

如需使函数返回值,请使用 return 语句:

实例

def my_function(x):
  return 5 * x

print(my_function(3))
print(my_function(5))
print(my_function(9))

关键字参数

您还可以使用 key = value 语法发送参数。

参数的顺序无关紧要。

实例

def my_function(child3, child2, child1):
  print("The youngest child is " + child3)

my_function(child1 = "Phoebe", child2 = "Jennifer", child3 = "Rory")

任意参数

如果您不知道将传递给您的函数多少个参数,请在函数定义的参数名称前添加 *。

这样,函数将接收一个参数元组,并可以相应地访问各项:

实例

如果参数数目未知,请在参数名称前添加 *:

def my_function(*kids):
  print("The youngest child is " + kids[2])

my_function("Phoebe", "Jennifer", "Rory")

pass 语句

函数定义不能为空,但是如果您出于某种原因写了无内容的函数定义,请使用 pass 语句来避免错误。

实例

def myfunction:
  pass

递归

Python 也接受函数递归,这意味着定义的函数能够调用自身。

递归是一种常见的数学和编程概念。它意味着函数调用自身。这样做的好处是可以循环访问数据以达成结果。

开发人员应该非常小心递归,因为它可以很容易地编写一个永不终止的,或者使用过量内存或处理器能力的函数。但是,在被正确编写后,递归可能是一种非常有效且数学上优雅的编程方法。

在这个例子中,tri_recursion() 是我们定义为调用自身 ("recurse") 的函数。我们使用 k 变量作为数据,每次递归时递减(-1)。当条件不大于 0 时(比如当它为 0 时),递归结束。

对于新的开发人员来说,可能需要一些时间来搞清楚其工作原理,最好的方法是测试并修改它。

实例

递归的例子:

def tri_recursion(k):
  if(k>0):
    result = k+tri_recursion(k-1)
    print(result)
  else:
    result = 0
  return result

print("\n\nRecursion Example Results")
tri_recursion(6)

Python 模块

什么是模块?

请思考与代码库类似的模块。

模块是包含一组函数的文件,希望在应用程序中引用。

创建模块

如需创建模块,只需将所需代码保存在文件扩展名为 .py 的文件中:

实例

在名为 mymodule.py 的文件中保存代码:

def greeting(name):
  print("Hello, " + name)

使用模块

现在,我们就可以用 import 语句来使用我们刚刚创建的模块:

实例

导入名为 mymodule 的模块,并调用 greeting 函数:

import mymodule

mymodule.greeting("Bill")

注释:如果使用模块中的函数时,请使用以下语法:

module_name.function_name

模块中的变量

模块可以包含已经描述的函数,但也可以包含各种类型的变量(数组、字典、对象等):

实例

在文件 mymodule.py 中保存代码:

person1 = {
  "name": "Bill",
  "age": 63,
  "country": "USA"
}

实例

导入名为 mymodule 的模块,并访问 person1 字典:

import mymodule

a = mymodule.person1["age"]
print(a)

为模块命名

您可以随意对模块文件命名,但是文件扩展名必须是 .py

重命名模块

您可以在导入模块时使用 as 关键字创建别名:

实例

为 mymodule 创建别名 mx:

import mymodule as mx

a = mx.person1["age"]
print(a)

内建模块

Python 中有几个内建模块,您可以随时导入。

实例

导入并使用 platform 模块:

import platform

x = platform.system()
print(x)

使用 dir() 函数

有一个内置函数可以列出模块中的所有函数名(或变量名)。dir() 函数:

实例

列出属于 platform 模块的所有已定义名称:

import platform

x = dir(platform)
print(x)

注释:dir() 函数可用于所有模块,也可用于您自己创建的模块。

从模块导入

您可以使用 from 关键字选择仅从模块导入部件。

实例

名为 mymodule 的模块拥有一个函数和一个字典:

def greeting(name):
  print("Hello, " + name)

person1 = {
  "name": "Bill",
  "age": 63,
  "country": "USA"
}

实例

仅从模块导入 person1 字典:

from mymodule import person1

print (person1["age"])

提示:在使用 from 关键字导入时,请勿在引用模块中的元素时使用模块名称。示例:person1["age"],而不是 mymodule.person1["age"]

本篇python基础语法就到这了

 

 

 

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

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

相关文章

Vue表单验证,表单填写完成无法通过rules验证问题

表单校验使用的是ElementUI官网的表单校验规则&#xff0c;但是表单在填写完成后还是通不过校验&#xff0c;这就需要进行相应的检查 1.检查rules与ref&#xff0c;rules与ref的名字可以随便定义&#xff0c;但是要确保在这块写的与在data中定义的一致 2.检查<el-form-ite…

Pandas 解决保存H5文件发生异常问题

代码&#xff1a; #保存h5文件 #指定文件路径和读写模式 hdpd.HDFStore(mystock.h5,w) #将my的数据存入到hd中 hd[data]my #关闭文件 hd.close() 发生异常&#xff1a; 原因&#xff1a;缺少pytables 解决&#xff1a; 执行命令 pip install tables 安装好之后重启jupyter内核…

2023年1月至4月天猫平台美妆品类销售数据分析

如今&#xff0c;随着人们消费观念的突破&#xff0c;越来越多的人用美妆来诠释个性表达&#xff0c;美丽经济获得更多关注&#xff0c;化妆品消费理念逐渐增强&#xff0c;因此&#xff0c;美妆市场也形成了较大的规模。 根据鲸参谋电商数据显示&#xff0c;2023年1月至4月&am…

争取一文说透NuGet

一、NuGet是什么? NuGet是一个为大家所熟知的Visual Studio扩展&#xff0c;通过这个扩展&#xff0c;开发人员可以非常方便地在Visual Studio中安装或更新项目中所需要的第三方组件&#xff0c;同时也可以通过NuGet来安装一些Visual Studio的插件等。 二、官网&#xff1a;…

驱动开发:内核读写内存多级偏移

让我们继续在《内核读写内存浮点数》的基础之上做一个简单的延申&#xff0c;如何实现多级偏移读写&#xff0c;其实很简单&#xff0c;读写函数无需改变&#xff0c;只是在读写之前提前做好计算工作&#xff0c;以此来得到一个内存偏移值&#xff0c;并通过调用内存写入原函数…

Qt绘图高级编程-绘制文本

注意&#xff1a;以下代码是在paintEvent函数中使用的&#xff0c;坐标是在文本的左下角。 1、设置字体样式 /*-----------1、设置字体样式-----------*///设置画家写字的字体//字体名&#xff0c; 字体大小&#xff0c;粗体&#xff0c;是否斜体QFont font( "楷体"…

芝奇幻锋戟Z5 RGB DDR5-7200 24GB内存评测:稳上7800MHz、温度只有56度

一、前言&#xff1a;7200MHz CL36高频内存仅需1.35V电压 在DDR4年代&#xff0c;三星B-Die是当之无愧的超频王者&#xff0c;而今DDR5已然成为主流&#xff0c;大家公认的最好超频的颗粒是SK海力士A-Die。 但并不是每一款采用了海力士A-Die颗粒的内存条都会有强悍的超频能力&a…

B+数的设计步骤

1.节点的结构&#xff08;如下图&#xff09; &#xff08;1&#xff09;键值对--key是标识&#xff1b;value是存储的具体数据 &#xff08;2&#xff09;节点的子节点--存储的是具体的子节点 &#xff08;3&#xff09;节点的后节点--标记后一个节点 &#xff08;4&#xff0…

9 MFC CFileDialog

// SystemWndDlg.cpp: 实现文件 //#include "pch.h" #include "framework.h" #include "SystemWnd.h" #include "SystemWndDlg.h" #include "afxdialogex.h"#ifdef _DEBUG #define new DEBUG_NEW #endif// CSystemWndDlg 对…

git提交忽略target文件

背景 项目如果没有设置.ignore文件&#xff0c;则我们的idea待提交区域有好多红色的新增的target文件、.iml文件等。 解决 本来未忽略前如下&#xff1a; 在.ignore文件中新增如下命令 #忽略所有.svn目录 .svn/ #忽略所有target目录 target/ #忽略所有.idea目录 .idea/ #…

C#,保持亮度的动态直方图均衡化(Brightness Preserving Dynamic Histogram Equalization:BPDHE)源代码

图像增强的主要目的是显示隐藏的图像细节&#xff0c;或者用新的动态范围增加图像对比度。直方图均衡&#xff08;HE&#xff09;是用于图像对比度增强的最流行的技术之一&#xff0c;因为HE在计算上快速且易于实现。HE通过基于输入灰度级的概率分布重新映射图像的灰度级来执行…

学生使用的台灯该怎么选择?学生台灯应该这样选

随着时代快速发展&#xff0c;目前我国近视人数达到了7亿&#xff0c;呈现低龄化趋势&#xff0c;儿童及青少年人数占了53.8%。而且现在的学生学业负担都很重&#xff0c;每个家长都不希望自己的孩子近视或加深近视了&#xff0c;都会想尽一切办法保护视力。而护眼台灯就成了家…

光伏储能电能管理系统解决方案蓄电池管理

概述 在我国新型电力系统中&#xff0c;新能源装机容量逐年提高&#xff0c;但是新能源比如光伏发电、风力发电是不稳定的能源&#xff0c;所以要维持电网稳定&#xff0c;促进新能源发电的消纳&#xff0c;储能将成为至关重要的一环&#xff0c;是分布式光伏、风电等新能源消…

怎么用ai作图?简单几步教会你ai绘画

当我和我的朋友们闲聊的时候&#xff0c;一个话题引起了我们的兴趣——更新社交媒体头像。其中有一个朋友提出&#xff0c;想要制作一个与真人无异、美观大方的头像&#xff0c;但是却不知道该如何下手。于是乎&#xff0c;我们开始讨论ai绘画头像软件。大家都纷纷表示听说过&a…

基于Java+SpringBoot+vue的实验室管理系统设计与实现

博主介绍&#xff1a; 大家好&#xff0c;我是一名在Java圈混迹十余年的程序员&#xff0c;精通Java编程语言&#xff0c;同时也熟练掌握微信小程序、Python和Android等技术&#xff0c;能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

cubemx hal stm32 atgm336h GPS 北斗 定位 模块 驱动代码

代码部分 atgm336h.c #include "atgm336h.h" #include "stdio.h" #include "string.h"char rxdatabufer; u16 point1 0;_SaveData Save_Data; LatitudeAndLongitude_s g_LatAndLongData {.E_W 0,.N_S 0,.latitude 0.0,.longitude 0.0 };…

Docker网络架构三剑客CNM,Libnetwork和Driver

Docker网络架构主要由三部分组成&#xff1a;CNM&#xff0c;Libnetwork和Driver。 1.CNM CNM&#xff08;Container Network Model&#xff09;是一种网络模型&#xff0c;用于定义容器的网络架构和实现容器之间的通信。 这其中也有三要素&#xff1a; 沙盒&#xff1a;Sand…

基于matlab使用无限阵列分析对大型阵列中的互耦进行建模(附源码)

一、前言 此示例使用无限数组分析对大型有限数组进行建模。晶胞上的无限阵列分析揭示了特定频率下的扫描阻抗行为。此信息与隔离元件图案和阻抗的知识一起使用&#xff0c;以计算扫描元件图案。然后&#xff0c;使用数组中的每个元素都具有相同扫描元素模式的假设对大型有限数组…

造纸工厂配电室环境监控系统的应用案例与硬件选型

摘要&#xff1a;智能配电室环境监控系统可实现自动巡检、自动预警等功能&#xff0c;减少人员到现场巡视次数&#xff0c;能及早发现设备的潜在风险&#xff0c;迅速检测故障&#xff0c;节约维护保养时长&#xff0c;为配电生产检修、运行、各业务的标准化、规范化管理提供有…

1:即使设计-ui:尺寸和单位

一&#xff1a; 1: 一倍尺寸 378*812 2:二倍尺寸 750*1624 3:三倍尺寸 1125*2436 二&#xff1a;PX和PT px&#xff1a;物理像素 pt&#xff1a;逻辑像素 pt只存在一倍图中 在一倍图&#xff0c;ptpx&#xff0c;二倍图 1px2pt 三&#xff1a;DP和SP