【Python】Python基础快速入门

opencv快速入门【python] 使用cv2.imread()读取图像。 阅读详情
  1. 获取帮助,比如,运行help(str)——这会显示str类的帮助。

  2. 字面意义上的常量。

    • 数:整数、长整数、浮点数和复数
    • 字符串
      • 单引号、双引号:所有的空白,即空格和制表符都照原样保留
      • 三引号('''或"""),可编辑多行字符串,可以在三引号中自由的使用单引号和双引号
      • 自然字符串:r或R开头。r"abcds"
      • Unicode字符串:u或U开头,书写北印度语或阿拉伯语等文本时使用。
      • 连接:字面量间可用空格或不用空格连接,+ 可连接 变量 或字面量。
  3. 逻辑行和物理行:物理行是在编写程序时人所看见的。逻辑行是Python看见的单个语句。Python假定每个 物理行对应一个逻辑行 。

    • 如果你想要在一个物理行中使用多于一个逻辑行,那么你需要使用分号(;)来特别地标明这种用法。分号表示一个逻辑行/语句的结束。
    • 多个物理行变成一个逻辑行,用\放在末尾连接。
  4. 缩进:缩进在python中很重要,不同缩进层次表示不同语句块。

  5. 运算符结合规律:运算符通常由左向右结合,即具有相同优先级的运算符按照从左向右的顺序计算。例如,2 + 3 + 4被计算成(2 + 3) + 4。一些如赋值运算符那样的运算符是由右向左结合的,即a = b = c被处理为a= (b = c)。

  6. 流程控制语句

# if语句
if a > b:
	...
elif a == b:
	...
else:
	...

# python 3.10 及以上支持 match-case 语句
match subject:
    case <pattern_1>:
        <action_1>
    case <pattern_2>:
        <action_2>
    case <pattern_3>:
        <action_3>
    case _:
        <action_wildcard>
        
# while语句
running = True
while running:
	...
	# 支持break和continue
else:
	...# else用处是若while中有break,并生效后,不执行

# for循环
for i in range(1, 5):
	print i
	# 支持break和continue
else:
	...  # else用处是若while中有break,并生效后,不执行

match-case示例
6. 函数
- 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
- 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数,可没有参数。
- 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。help(函数名)可显示,或者__doc__属性打印。
- return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
- 函数内部定义的变量都是局部变量,若要使用全局变量,需声明global 变量名。

def functionname( parameters ):
	'''函数_文档字符串
	
		巴拉巴拉巴拉'''
   function_suite
   return [expression]
   
print functionname.__doc__

# 默认参数
def func(a, b=5, c=10): 
	print('a is', a, 'and b is', b, 'and c is', c)

func(3, 7)
func(25, c=24)
func(c=50, a=100)

  1. 模块:Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。

    • 模块的引入:import module1[, module2[,... moduleN]]
    • from 语句让你从模块中导入一个指定的部分到当前命名空间中。from modname import name1[, name2[, ... nameN]],from modname import *(如果没有__all__中明确写入下划线开头的对象,则不会引入下划线开头的对象)
    • 可用__all__=[a,_c]定义该模块能被from modname import *引用的对象
    • 搜索路径:模块搜索路径存储在 system 模块的 sys.path 变量中。变量里包含(搜索顺序也如下)
      • 当前目录
      • PYTHONPATH
      • 由安装过程决定的默认目录
    • 每个模块都有一个名称,程序中可用__name__来获取
      • 当__name__为__main__时,表示是模块自己运行
      • 当__name__为文件名(即模块名)时,表示被其他模块引用(被import)
    • python的包:包就是文件夹,它定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境。
      • 包的文件夹下必须存在 __init__.py 文件, 该文件的内容可以为空。__init__.py 用于标识当前文件夹是一个包。
    • dir()函数:用来列出模块定义的标识符。标识符有函数、类和变量。
      • dir( m1) 返回模块m1定义的名称列表。
      • dir( ) 返回当前模块中定义的名称列表。
    • 模块初始化
      • 模块只有第一次被导入的时候才会被执行。
      • 可以把导入模块作为生成一个新的对象
      • 模块变量和类变量都是在模块对象初始化的时候执行的
      • 而函数和类的方法,则不会初始化的时候执行,只有在调用的时候才会执行
      • 如果在你模块中导入了其他的模块,或者导入了其他模块的方法,效果上相当于我们直接在模块中定义了这个模块和方法
  2. 数据结构

    • 列表:l1=["a", "b", "c", "d"]
    • 元组:t1=(1, 2, 3, 4, 5 )
    • 字典:d1= {'a': 1, 'b': 2, 'b': '3'}
      • 只能使用不可变的对象(比如字符串)来作为字典的键,但是你可以不可变或可变的对象作为字典的值
    • 集合:s1={'b', 'c', 'a', 'r', 'd'}
      -创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典
    • 序列:
      • 列表、元组和字符串都是序列
      • 序列有索引操作l1[1]和切片操作l1[0:3]
    • 数据类型转换
    • 推导式
  3. 拷贝:

    • v1=v2,v1,v2指向同一个对象
    • v1=v2[:],v1,v2指向不同对象
  4. 类和对象

    • 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。一个模块可包含多个类。
    • 类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用
    • 实例变量:在类的声明中,属性是用变量来表示的。这种变量就称为实例变量,是在类声明的内部但是在类的其他成员方法之外声明的。
    • 局部变量:定义在方法中的变量,只作用于当前实例的类。
    • 数据成员:类变量或者实例变量, 用于处理类及其实例对象的相关的数据。
    • 继承:即一个派生类(derived class)继承基类(base class)的字段和方法。
    • 实例化:创建一个类的实例,类的具体对象。
    • 对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。
    • 方法:类中定义的函数。
    • 方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
    • self:类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不为这个参数赋值。这个特别的变量指实例本身,按照惯例它的名称是self。
    • 初始化:
    • __del__()方法,在对象消逝前调用
    • 默认继承:在Python 3.x中取消了经典类,默认都是新式类,并且不必显式的继承object,也就是说以下一样:
      • class Person(object):pass
      • class Person():pass
      • class Person:pass
class ClassName:
   '类的帮助信息'   #类文档字符串
   class_suite  #类体

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
class Employee:
   '所有员工的基类'
   empCount = 0 # 类变量,它的值将在这个类的所有实例之间共享。你可以在内部类或外部类使用 Employee.empCount 访问。
 
   def __init__(self, name, salary):
      self.name = name  # 实例变量
      self.salary = salary
      Employee.empCount += 1
   
   def displayCount(self): # 方法
     print "Total Employee %d" % Employee.empCount
 
   def displayEmployee(self):
      print "Name : ", self.name,  ", Salary: ", self.salary


  1. 异常
try:
	<语句>        #运行别的代码
except <名字>:
	<语句>        #如果在try部份引发了'name'异常
except <名字> as <数据>: # except (exc1, exc2) as var 可以同时捕获多种类别的异常
	<语句>        #如果引发了'name'异常,获得附加的数据(err)
else:
	<语句>        #如果没有异常发生
finally:
	<语句>        #如果没有异常发生

# except不带异常名字
try:
    正常的操作
except:
    发生异常,执行这块代码  # 捕获所有异常,不推荐
else:
    如果没有异常执行这块代码


# 主动触发异常
raise [Exception [, args [, traceback]]]

# 定义函数
def temp_convert(var):
    try:
        return int(var)
    except ValueError as err:
        print("参数没有包含数字\n", err)

# 调用函数
temp_convert("xyz")

  1. 常用内置函数

  2. 常用标准库:

  3. 特殊的方法:

方法说明
__init__(self,...)这个方法在新建对象恰好要被返回使用之前被调用。
__del__(self)恰好在对象要被删除之前调用。
__str__(self)在我们对对象使用print语句或是使用str()的时候调用。
__lt__(self,other)当使用小于运算符(<)的时候调用。类似地,对于所有的运算符(+,>等等)都有特殊的方法。
__getitem__(self,key)使用x[key]索引操作符的时候调用。
__len__(self)对序列对象使用内建的len()函数的时候调用。
  1. 包裹和解包裹:
    • 包裹参数分为包裹位置参数(对应元组)和包裹关键字参数(对应字典)
    • 包裹(packing)的关键在于定义函数时,在相应元组或字典前加*或**。所有多余的参数被包裹参数收集,合并成一个元组或字典。
    • 解包裹(unpacking)是指在函数调用时,将元组参数或字典解开。
    • 在定义或者调用参数时,参数的几种传递方式可以混合。但在过程中要小心前后顺序。基本原则是,先位置,再关键字,再包裹位置,再包裹关键字,并且根据上面所说的原理细细分辨。
    • 包裹和解包裹并不是相反操作,是两个相对独立的过程。
# 包裹
def func(a,*name):
    print type(name)
    print name

func(1,4,6)
func(5,6,7,1,2,3)

def func(**dict):
    print type(dict)
    print dict

func(a=1,b=9)
func(m=2,n=1,c=11)

# 解包裹
def func(a,b,c):
    print a,b,c

args = (1,3,4)
func(*args)

FPGA实现16x16点阵汉字滚动显示:Verilog代码与Quartus仿真详解 本文详细介绍了如何使用FPGA实现16x16点阵汉字滚动显示,包括Verilog代码设计、Quartus仿真及硬件连接技巧。通过字模数据存储和扫描控制逻辑,实现汉字的动态显示效果,并提供了优化建议和常见问题解决方案,适合FPGA开发者和硬件爱好者学习参考。 阅读详情

相关推荐

Dual-stream multiple instance learning networks for tumor detection in Whole Slide Image——论文笔记

关于多示例学习的资料网上比较少,但是在医学图像方面还是有人在应用的。主要是因为一般比较大,几个G都是十分常见的,这么大图片是无法直接训练,一般都会进行切图,所以天然契合多示例学习bag和instance的概念。最近看了一篇论文刚好关于这方面的,所以做下笔记。 github地址:https://github.com/binli123/dsmil-wsi paper:https://arxiv.org/abs/2011.08939 背景知识 在多示例学习(MIL)中,一组训练样本被视为包含多个instance的

weixin_41693877的博客 4170

Python逻辑行与物理行

物理行是你在编写程序时所 看见 的。逻辑行是Python 看见 的单个语句。Python假定每个 物理 行 对应一个 逻辑行 。 逻辑行的例子如print 'Hello World'这样的语句——如果它本身就是一行(就像你在编辑器中看 到的那样),那么它也是一个物理行。 默认地,Python希望每行都只使用一个语句,这样使得代码更加易读。 如果你想要在一个物理行中使用多于一个逻辑行,那么

学习记录 2064

保姆级教程:用ROS2 Humble和激光雷达,5分钟搞定机器人避障(附Python代码)

本文提供了一份详细的ROS2 Humble激光雷达避障实战指南,帮助开发者快速实现机器人避障功能。通过环境配置、硬件连接和Python代码实现,5分钟内即可让机器人自主避开障碍物。文章还涵盖了参数调优、常见问题排查及进阶优化技巧,适合机器人开发初学者和进阶用户。

weixin_42528902的博客 342

Python系统学习1-4-物理行、逻辑行、选择语句

没有做出来自我分析:个位不是3/5/8,使用for i,j in item的方式,直接使用i,j获取个位和十位,报错。想到余数的方式,但大脑理所当然想到的是3,5,8的倍数加个位为3,5,8,所以无法下手编程。如果逻辑行过长,可以使用隐式换行或显式换行。else 子句可以有0个或1个,且只能放在if语句的最后。:让程序中断,逐语句执行,审查执行过程中变量取值。断点:必须要有用的地方,空行位置无法设置断点。换行,必须放在一行的末尾,目的是告诉解释器。步骤:加断点,开始调试,逐语句执行F8。

weixin_38383877的博客 673

linux下redhat6.8(理论是都适用)安装oracle12c---详细教程

1、配置yum源 1)、删除Redhat自带的yum: (2)、上传centos的yum包,并按照顺序安装,所需的rpm包通过点击这里获取(放在oracle文件中的centos yum):上传到linux中 进行安装 yum包链接:https://pan.baidu.com/s/1TxciCWEd7d-d4kGoea0L1w 提取码:eufp `` --注意后面两个安装包一起安装 ## 3)、更改系统yum源: 编辑rhel-source.repo文件,将其中的$releas

z931407229的博客 1149

《第二十二篇》Cross-Attention:注意力机制详解-代码实现和公式详解《二》

本文详细介绍了Cross-Attention的原理、公式和实现。Cross-Attention用于Transformer解码器和Encoder-Decoder结构,通过查询向量(Q)与键、值向量(K、V)的交互实现序列对齐。核心公式为softmax(QK^T/√d_k)V,其中Q来自Decoder,K、V来自Encoder。文章还给出了多头注意力机制公式和PyTorch实现代码,包括投影计算、注意力分数计算和输出处理。代码示例展示了如何构建一个完整的Cross-Attention模块,并演示了其在解码器查询

guoguozgw的博客 2211

Python基础(四)—逻辑行和物理行

物理行是在编辑器里看到的一行, 逻辑行是Python看到的每个语句, 默认情况下,Python假设每个物理行对应一个逻辑行。 l逻辑行示例: print'hello world'同时他在编辑器中也是一行,那么它也是一个物理行。 默认的,我们希望每个物理行都只对应一个逻辑行,这使得代码更易阅读 但是,当需要在一个物理行中表示多个逻辑行是,需要使用分号(;)来特别的表示这种用法

ITqian的专栏 1259

麒麟系统无法进入单用户模式该怎么办?

🏆本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!! 备注:部分问题/疑难杂症搜集于互联网。

**My Coding Family** 1820

初识Python——一名大学生的Python学习(Two)

[toc]Python基础语法之缩进规则。

2302_77786303的博客 252

STM32入门教程:无人机控制

我们将会一步一步引导您完成无人机的控制代码,包括无人机的姿态控制、飞行控制和通信控制等。第三步:配置无人机姿态控制 无人机的姿态控制是指控制无人机在空中的倾斜和转向。为了实现姿态控制,我们需要使用加速度计和陀螺仪传感器来获取无人机的姿态信息,并使用PID控制算法来控制无人机的姿态。在这一步骤中,您需要根据您使用的具体传感器和控制算法的要求进行更详细的配置和编码。在通信控制中,您需要考虑到通信的稳定性和可靠性。第五步:通信控制 无人机的通信控制是指与地面站或其他设备进行通信,传输飞行数据和接收飞行指令。

m0_75244442的博客 747

Android系统解决-授予管理所有文件的权限问题

Android版本一直在加,Android9/Android10/Android11/Android12/Android13/Android14/Android15 , 客户app 也在不断适配,但是存在特别是定制产品中,客户不愿意适配,啥问题都让系统解决,绕过一定机制、实现。这里说的就是一个常见的常见需求:Android13 上面,客户要求默认授予管理所有文件的权限,如下:问题是机器重启后这个权限仍需要重新打开才行,那就是每次开机使用某些功能前都需要授权一次。是的ADB对应命令。

十年饮冰,难凉热血 2541

Python中“物理行”和“逻辑行”的定义与区别

Python中“物理行”和“逻辑行”的区别。 物理行:就是程序员所写代码的所在行。 逻辑行:是指源代码经过预编译后,代码所在的那一行。 Python假定每个物理行都对应着一个逻辑行。例如:print( "Hello World" )就是一个物理行,Python希望每行只有一个语句,因为这样看起来更加易读。 如果你想要在一个物理行中使用多于一个逻辑行,那么你需要使用分号(;)来特别地标明这种用法。分号表示一个逻辑行/语句的结束。 例如: count = 5 print ( "count" )..

Tom_2018的博客 1194

MSVS C# Matlab的混合编程系列2 - 构建一个复杂(含多个M文件)的动态库:

本节我们尝试将一个有很多函数和文件的Matlab算法文件集成到C#的项目里面。

山云的专栏 2070

【Python】快速入门Python一天学完基础语法

快速入门python 1. 数据类型与变量:元组、字典、拆包等 2. 基础运算与控制流程 3. 方法/函数、异常处理 4. 面向对象

CoderSharry的博客 2349

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Python快速入门PDF下载:快速掌握Python基础的不二选择

Python快速入门PDF下载:快速掌握Python基础的不二选择 去发现同类优质开源项目:https://gitcode.com/ 在编程语言的世界中,Python以其简洁的语法和强大的功能赢得了无数开发者的喜爱。今天,我们要推荐的这个开源项目——Python快速入门PDF下载,是帮助初学者快速掌握Python基础知识的绝佳资源。 项目介绍 Python快速入门PDF下载项目,为您提供了一本全面...

gitblog_06704的博客 521

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

python快速编程入门笔记,《python编程快速上手》

零基础python入门书籍推荐读哪些书?很多Python 初学者都希望有经验的资深人士能推荐一些入门书籍,于是你就会搜到有网友推荐的超长的入门书单,然而这简直跟没推荐一样。这些书籍并不适合初学者,对于零基础学员看到各种代码就已经头大了python简单代码画皮卡丘。小编整理了一些适合小白学习的零基础python入门书籍分享给大家。(文末送福利,限领50份)Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

Night368的博客 922

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

python新手零基础快速入门_零基础小白的Python快速入门四步曲

现在如果有人问:要把哪门语言作为入门的首选语言?不少人都会回答:Python!因为Python简单,所以学起来快,有编程经验的程序员一周就能上手Python。但是!Python对有基本的程序概念的人来说很简单,但对于新手来说真不一定算简单。毕竟,写起来简单不代表概念简单。那么,作为一个新手,如何才能快速并有效的入门呢?快速入门;这本书说是给儿童设计的,所以内容比较生动。非常非常非常简单易懂 不用花...

weixin_39822673的博客 202

Python快速入门

晴天的专栏 1096

python快速入门视频教程

python快速入门视频教程 http://www.duobei.com/room/8046423882

麦好的AI乐园 2571

Python基础快速入门

Python基础快速入门

m0_73640344的博客 1529

Python 快速入门

Python 快速入门 一、实验介绍 1.1 实验内容 本章介绍Python的基本感概念,Python既可以在交互式解释器中运行也可以在用源代码方式运行,可以用help()查看函数或模块的帮助 1.2 实验知识点 Python基本概念(数(包含整数、长整数、浮点数和复数),字符串和对象) 1.3 实验环境 python2.7Xfce终端 1.4 适合

24小时的程序员 347

python快速入门精讲_Python快速入门精讲

基础入门篇第0章从零开始30.1克服编程恐惧30.2如何写出好程序40.3为什么选择Python50.4Python的发展和应用60.5一些建议80.6多平台搭建Python开发环境100.6.1什么是开发环境100.6.2获得Python安装包110.6.3安装Python120.7命令行模式及Python的第一次运行13第1章开始编程191.1第一个程序的诞生191.1.1编程动机191.1....

weixin_35346761的博客 299

Python快速入门PDF下载

Python快速入门PDF下载 去发现同类优质开源项目:https://gitcode.com/ 简介 此资源为您提供了《Python快速入门》的PDF版本,适合初学者快速掌握Python编程语言的基础知识。本书以浅显易懂的方式,向您介绍了Python的语法、基础概念以及常用库的应用,帮助您迅速入门Python编程。 去发现同类优质开源项目:https://gitcode.com/ ...

gitblog_06700的博客 329

一天快速入门python_毫无基础的人如何入门 Python ?

干货来了!看这篇,一天快速入门 Python!Python基本语法标识符第一个字符必须是英文字母或下划线 _ 。标识符的其他的部分由字母、数字和下划线组成。标识符对大小写敏感。保留字保留字即关键字,不能用作任何标识符名称。keyword 模块可以输出当前版本的所有关键字:import keywordprint(keyword.kwlist)['False', 'None', 'True', 'an...

weixin_39734399的博客 94
上一篇: 【系统性学习】Linux Shell常用命令
下一篇: Scala中的协变点、逆变点、不变点如何确定?
Code_LT
博客等级 码龄10年 307粉丝 182原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值