Python语法基础!

飞凌OK3588-C Linux R4系统下MIPI YUV摄像头CSI尺寸错误排查与极性适配方案 本文详细介绍了在飞凌OK3588-C平台的Linux R4系统下调试MIPI YUV摄像头时遇到的'csi size err'错误排查与极性适配方案。通过分析信号极性、驱动参数调整及FPGA协同调试,提供了从硬件检测到系统级调试的完整解决方案,帮助开发者快速解决类似问题。 阅读详情

包含编程籽料、学习路线图、爬虫代码、安装包等!【点击领取 100%免费】

前言
为什么想起学Python了?

之所以想起学学Python是有三个缘由。从时间顺序上看,首先是在10月中旬,笔者去学校招聘会走了走,发现招Python开发的挺多的,有在线教育、智慧城市等行业,基本以数据挖掘处理为主。其次是10月中旬接到了腾讯微信搜一搜后台的实习面试邀请,那边招C++和Python开发,用的是腾讯自研框架。最后也是最重要的,在11月上旬,笔者参加的电子设计大赛F题送药小车核心点在图像识别,而市面上用的比较多的OpenMV需要用Python开发。这让笔者意识到是时候该学学Python了,虽然说学好一门语言后再学第二门会很简单,但万一遇到紧急项目,总不能再花时间在语法基础上吧,项目所需要的框架也是需要学习成本的。

Python与Java?

笔者对Java比较熟练,也是以Java作为第一门语言开始学习的。有了一定开发经验后最大的感受是确实能快速上手Python,特别是面向对象那块,毕竟编程思想是可以互通的。至于以后会不会从事Python相关的开发工作,要看市场和项目需求,现阶段还是会以Java的学习为重,笔者Java还有好多好多要学的呢,Python暂时学来玩玩刷刷leetcode就好了。

参考资料:

笔者Python学习主要以《Python编程:从入门到实战》这本书为主,笔记的思路参考书里的脉络。其次还有笔者一年前在慕课上看的北理的嵩天教授的Python课程。嵩天教授的课很好,最大的特点是每个版块都有完整的示例代码。但可能对新手小白不太友好,有些不常用的函数容易弄混。《Python编程:从入门到实战》更适合零基础学习,里边会提到一些互通的编程思想和Python的格式规范。

结合常用函数、方法:

由于笔者有Java的编程基础,因此这里只记录Python跟Java不一样的地方以及一些易忘点和难点,重点放在Python的语法基础。对于新手朋友还是先看书为好。结合《Python常用函数、方法示例总结(API)》来看可能效果会好一些。

  1. 变量与简单数据结构
    .py指出这是一个Python程序,编辑器将使用Python解释器运行它;

Python解释器读取整个程序,确定其中每个单词含义;

程序无法成功运行时,解释器会提供一个traceback。traceback是一条记录,指出解释器尝试运行代码时,在什么地方陷入困境;

在Python中,可以用单引号或双引号括起字符串;

Python中的转义符:

\n换行(光标到下行首);
\r回车(光标回到本行首);
\t制表符,\n\t表示换行并在下一行开头添加制表符;
\b回退;
Python2中,有些print语句包含括号,有些不包含;

Python使用两个乘号表示乘方,如:3 ** 2 == 9;

Python2中除法\将小数部分直接删除。Python3中保留小数。但在Python2中:3.0 / 2 == 1.5;

Python之禅:Python的一些编程理念。在终端输入import this即可获取;

Python关键字:

在这里插入图片描述
Python内置函数:
在这里插入图片描述
在这里插入图片描述
2. 列表相关
一个列表示例:bicycles = [ ‘trek’, ‘cannondale’, ‘redline’]。注意方括号与逗号;
打印列表示例:print(bicycles);
访问列表元素:bicycles[0] — > trek;
访问列表倒数第x元素:bicycles[-x] — > 当x=1时输出:redline;
使用for循环遍历列表:

在这里插入图片描述
列表解析:list = [num**2 for num in range(1s, 11)] —> 输出1到10的平方;
遍历部分列表:for object in list[firstNum: lastNum]:;
可以使用list[:]的方法复制列表;
元祖相关:
Python中将不能修改的值称为不可变的,而不可变的列表称为元祖;
在编程上与列表不同之处在于其使用()或tuple()或不使用括号;而列表使用[]或list();
元组因为创建后不能修改,因此没有特殊操作;
如果提出修改Python语言修改建议,需要编写Python改进提案(PEP)。PEP 8是最古老的PEP之一,其规定了以下一些Python代码格式规范:
每级缩进4个空格。需要对文本编辑器(或ide)设置tab键为4个空格;
Python解释器根据水平缩进解读代码,不关心垂直间距;
建议每行不超过个字符;
建议比较运算符两边各添加一个空格;

  1. 集合
    一个集合示例:bicycles = { ‘trek’, ‘cannondale’, ‘redline’}。注意大括号与逗号;

集合的特点是不能重复;

利用集合数据去重:

在这里插入图片描述
4. If语句
Python在检查是否相同时考虑大小写;
大部分时候检查两个指不等的效率更高;
在Python中使用and和or表示并与或,而不是&&和||;
检查列表是否含有特定值的语句:if(object in list),也可以用if(object not in list);
Python的if语句基本结构如下(注意冒号):

在这里插入图片描述
判断列表是否为空:if list:

  1. 字典
    事实上,可将任意Python对象用作字典中的值;
    一个字典的示例:alien0 = {‘color’: ‘green’, ‘points’: 5}
    遍历字典:for key, value in map.items():
    遍历字典的键:for object in map.keys():或for object in map:,因为遍历字典默认遍历所有的键;
    按顺序遍历字典所有的键:for object in sorted(map.keys()):
    遍历字典的值:for object in map.values():
    遍历字典的值,剔除重复项:for object in set(map.values()):
    列表和字典的嵌套层级不应太多,如果太多,可能有更简单的解决问题的方案;

  2. 用户输入和while循环
    在Python 3里使用input()方法,而在Python 2.7里使用raw_input()方法;
    循环语句:while conditional_test:
    可以使用break关键字退出循环,这里的循环包括while和for循环;
    可以使用continue关键字继续循环;
    使用循环处理列表:while object in list:

  3. 函数
    不带返回值的函数定义示例:

在这里插入图片描述
第二行为文档字符串注释,描述函数是做什么的;
后面为函数调用;
带普通返回值的函数定义示例:
在这里插入图片描述
带字典返回值的函数定义示例:
在这里插入图片描述
传递列表参数,列表会修改:
在这里插入图片描述
传递列表参数的副本,列表不会修改:def greet_users(names[:]):

传递任意数量的实参:*toppings可以理解成列表;
在这里插入图片描述
Python创建一个名为toppings的空元组;
结合使用位置实参和任意数量实参:def make_pizza(size, *toppings):

必须将接纳任意数量实参的形参*toppings放在最后;
使用任意数量的关键字实参:user_info可以理解成字典;

在这里插入图片描述
在Python中,import的是模块,使用模块.方法(参数)即可调用模块里的函数;

导入特定函数,并使用该函数示例:
在这里插入图片描述
使用as给函数指定别名:from model import function as fn;后续使用fn()即可调用function函数;

使用as给模块指定别名:import model as md;后续使用md.function()即可调用函数;

导入模块所有函数:from model import *;后续直接使用model里的函数function()即可调用函数;

可以在函数类使用global关键字声明变量是全局变量;

lambda表达式:<函数名> = lambda <参数> : <表达式>;

示例:

在这里插入图片描述
函数与模块编写细节:

外部函数导入的推荐做法:只导入所需要使用的函数 / 导入整个模块并使用句点表示法;
函数和模块的命名应使用小写字母和下划线,而不是驼峰命名法;
函数注释紧跟在函数定义后面,使用文档字符串格式;
给形参指定默认值时,等号=两边不要有空格;

  1. 类与对象
    类中的函数叫方法;

一个类示例:模块名为dog.py

在这里插入图片描述
init()方法:形参self必不可少,而且必须位与其他参数前面;
创建Dog实例时,将自动传入实参self。每个与类相关联的方法调用都自动传递实参self,其是一个指向实例本身的应用,让实例能够访问类中的属性和方法;
self.为前缀的变量都可供类中的所有方法使用,像这样可以通过实例访问的变量称为属性;
有关父子类:

子类和父类必须包含在当前文件中,父类必须在子类前面;
子类定义中括号内必须指定父类名称;
super()是一个特殊函数,将父类和子类关联起来;
在Python 2.7中,super()方法需要传递两个实参:子类名和self,并且父类定义的括号内指定字段object;
在Python 2.7中创建类时,需要在括号类内包含单词object:class ClassName(object):

类实例(对象)的示例:

在这里插入图片描述
从dog.py模块里导入多个类:from dog import Dog, TinyDog;
导入整个dog.py模块,然后用句点表示访问需要的类:import dog;
collections模块里包含一个类OrderedDict。该类的实例行为几乎与字典相同,区别在于其记录了键值对的顺序;
类的编码风格:
类采用驼峰命名法,类中的每个单词首字母大写;
实例名和模块名采用小写,并在单词之间加上下划线;
一个空行分隔方法;两个空格分隔类;
需要同时导入标准库和模块和

  1. 文件
    打开并读取一个文件,并将其内容显示到屏幕上:

在这里插入图片描述
打开文件open()和关闭文件close()可以同时使用,但当有bug时close()执行不了会导致文件无法关闭。不写close()将由Python确定是否关闭文件;
with关键字在不再需要访问文件后将其关闭;
直接打印contents会多出一个空行,可以这样打印print(contens.rstrip());
有关文件绝对路径:

Linux和OS X:file_path = ‘/home/…/xxx.txt’;
Windows:file_path = C:…\xxx.txt;
建议将数据文件存储在程序文件所在的目录,或程序文件所在目录的下一级文件夹;
逐行读取:

在这里插入图片描述
同理,直接打印contents会多出一个空行,可以这样打印print(line.rstrip());
使用with关键字时,open()返回的对象只在with代码块内可用;

在处理文件相关时注意使用strip()或rstrip()去除字符串两边的空格;

Python将所有文本都解读成字符串;

open(‘xxx.txt’, ‘w’):以写入方式打开文件;

其他参数还有r读取、a附加、r+读写;
a附加:将内容附加到文件末尾,而不是覆盖文件原来的内容;
以w写入模式打开文件需要小心,如果指定文件名已存在,Python将在返回对象前清空文件;
Python只能将字符串写入文本文件;

  1. 异常
    使用 try-except 处理异常:

在这里插入图片描述
可在except的缩进块里添加关键字pass跳过错误捕获;
其中,else和finally部分的代码块可省;

  1. 测试
    使用Python标准库中的模块unittest进行测试;

一个简单的测试示例:

在这里插入图片描述
首先导入模块unittest和被测试方法function_name;
然后创建TestCase类,其包含各种具体的单元测试方法。该类继承unittest.TestCase类;
setUp()方法的作用是创建前置条件;
编写测试方法test_function,方法名必须以test_打头;
使用断言assertEqual()判断函数执行结果与预期结果的差别;
unittest.main()让Python运行这个文件中的测试;
unittest里常用的6个断言方法请见《Python常用函数、方法示例总结(API)》;

每完成一个测试,Python都会打印一个字符:

测试通过打印句点 .;
测试引发错误打印一个 E;
测试导致断言失败打印一个 F;

最后:
如果你是准备学习Python或者正在学习(想通过Python兼职),下面这些你应该能用得上:
包括:Python安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!

在这里插入图片描述

Python爬虫实战:逆向解析央视频加密参数(附完整代码) 本文详细解析了央视频加密体系的技术实现,通过Python逆向工程实战演示如何解密动态密钥、AES加密和自定义哈希算法等核心组件。文章提供完整代码示例,涵盖GUID生成、参数构造和异步请求处理,帮助开发者掌握现代视频平台的反爬机制破解方法。 阅读详情

相关推荐

【NIFI】实现HANA->ORACLE数据同步

实现 HANA->ORACLE数据同步。

weixin_43159039的博客 1510

Python零基础教程之——Python基础语法!

错误, 则 python 编译器是在告诉你"Hi,老兄,你的文件里格式不对了,可能是tab和空格没对齐的问题",所有 python 对格式要求非常严格。像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。其中三引号可以由多行组成,编写多行文本的快捷语法,常用于文档字符串,在文件的特定地点,被当做注释。下面的列表显示了在Python中的保留字。错误表明,你使用的缩进方式不一致,有的是 tab 键缩进,有的是空格缩进,改为一致即可。

Python_trys的博客 1192

Lama:基于傅立叶卷积的分辨率鲁棒性大掩模修复

为了缓解修复网络和损失函数都缺乏有效的感受野这个问题,提出了大掩模修复(LaMa)。LaMa基于一种新的修复网络架构,该架构使用快速傅立叶卷积(FFC),具有图像范围的感受野;高感受野感知损失;大型训练掩码,释放前两个组件的潜力。

qq_44926214的博客 1418

学习Python的看过来,基础语法总结好了!

Python基础语法 Python 语言与 Perl,C 和 Java 等语言有许多相似之处。但是,也存在一些差异。 在本章中我们将来学习 Python 的基础语法,让你快速学会 Python 编程。 第一个 Python 程序 交互式编程 交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编写代码。 linux上你只需要在命令行中输入 Python 命令即可启动交互式编程,提示窗口如下: $ python Python 2.7.6(default,Sep 9...

编程领域的博客 216

YOLO数据集实现数据增强的方法(裁剪、平移 、旋转、改变亮度、加噪声等)

数据集样本太少怎么办?数据集优质图像不够怎么办?如何做到更好的数据预处理?一文带你学会数据增强,还可实现带标签的扩充。

路人贾的博客 4万+

npm install failed如何办?

上网搜索,说是网络配置不太对。按照如下几步,保证解决问题。在运行npm install指令时,出现如下错误。

xiezhipu的博客 880

【详细解析!】Python语法基础

而python作为一个动态类型的语言,在定义变量的时候,也是可以写类型的,但我们一般视为锦上添花的行为,所以我们一般情况下不写。

m0_64799333的博客 1245

人工智能智能体研究综述:从理论架构到前沿应用

AI Agent,即人工智能智能体,是指能够在特定环境中自主感知、推理、决策并执行行动以实现特定目标的智能系统[1]。自主性反应性主动性(Pro-activeness)和社会性fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;AI Agent核心特征自主性 Autonomy反应性 Reactivity主动性 Pro-activeness。

nmdbbzcl的博客 903

yo!这里是Python基础语法

这一篇介绍关于Python的基础语法,刚入门的同学参考一下学习

phangx的博客 693

TC8:IPv4_HEADER_01-04

IPv4_HEADER_01: Ensure that the DUT generates an IPv4 Packet with a Total Length greater than or equal to 20 目的 确保DUT生成的IPv4报文的IP头部中的Total Length字段值大于等于20 IPv4协议头部中的Total Length字段表示整个IP数据包的长度,包括IP Header和payload之和,IP首部的长度最少就有20个字节,所以Total Length值肯定大于等于20

jasonj333 3966

【知识图谱】实践篇——基于知识图谱的《红楼梦》人物关系可视化及问答系统实践:part6基于图谱的问答实现

前序文章:本部分则是整个项目的核心内容——基于图谱的问答。需要实现的是对于“简单问题”进行解析,然后从图谱数据库中查询与该人员及其相关人员信息,返回到前端并显示该人员的基本信息。除此之外,用户可以点击返回的结果人员节点,页面能够显示该用户的个人基本信息。那么现在就开始吧。根据源码实现问答形式,其实是比较简单的。原代码中使用ltp对问题进行分词,选取具有名次词性的关键词进行处理。 ltp配置稍许麻烦,我使用jieba分词工具对问题进行分词,然后再按照原文提取问句中人物及关系,然后构建cypher neo4j查

让算法融入生活,改变生活! 2938

Python基础语法,非常值得新手小白学习!

1.Python是一种代表简单思想的语言。2.Python有极其简单的语法。3.Python是FLOSS(自由/开放源码软件)之一。4.使用Python编写程序时无需考虑如何管理程序使用的内存一类的底层细节。5.Python已被移植到很多平台,这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、Windows CE甚至还有PocketPC。6.可以直接从源代码运行。

Python_Alex的博客 1175

利用 IP 中的集成调试功能来调试 PCI Express 链接训练问题

JTAG Debugger”和“In-system IBERT”功能结合在一起即可提供即时信息,用于判断链接训练问题的可能原因。“test_rd.tcl”文件可读取 BRAM 中存储的调试数据,并输出 *.dat 文件,如下所示。同样,您可能看到某一箭头旁的数字较大,表明可能存在不稳定的链接。要采集 PCIe 链接眼图,请在 IP 配置 GUI 的“Add. Debug Options”选项卡中选择“启用 In-System IBERT (Enable In-System IBERT)”选项。

qq_43416206的博客 536

python基础语法学费_Python基础语法,他其实很贵!

# -*- coding:utf-8 -*-# @Time :2019/7/19 11:26# @Author :ITester# @Email :1036881587@qq.com# @File :py1.py# @Software :PyCharm Community Edition#第一个python程序print('HelloWorld')#一.标识符''...

weixin_39822493的博客 89

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

为什么我们要学Python及基础语法详解,因为必须会它才能学Python!

一.初聊Python 为什么要学习Python? 在学习Python之前,你不要担心自己没基础或“脑子笨”,我始终认为,只要你想学并为之努力,就能学好,就能用Python去做很多事情。在这个喧嚣的时代,很多技术或概念会不断兴起,我希望你能沉下心来去学习,不要急于求成,一步一个脚印。当你把某个技术学好、学精后,还是能做一些事情的,甚至能找到喜欢的工作或完成实践项目。 程序语言没有最好,只有最适合。作为一名初学者,我非常推荐你学习Python,为啥?一方面是因为它具有语法清晰、代码友好、易读性高的特点,同时

pythonlaodi的博客 482

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

作为Python新手,我终于搞懂了这些基础语法!

这篇文章为Python初学者整理了基础语法要点,包括字符串处理、输入输出、运算符、布尔值、条件语句等核心内容。作者用通俗易懂的语言和示例代码,重点讲解了字符串引号使用、拼接方法、输入输出函数、数学运算、比较运算符以及if-else条件判断结构。文中还包含一个猜数字小游戏的实战案例,帮助新手理解编程逻辑。最后鼓励初学者勇敢迈出第一步,强调学习编程最重要的是保持兴趣和持续实践。全文采用轻松活泼的语调,适合编程入门者阅读参考。

2402_84924563的博客 999

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Python基础语法,他其实很贵!

# -*- coding:utf-8 -*- # @Time :2019/7/19 11:26# @Author :ITester# @Email :1036881587@qq.com# @File :py1.py # @Software :PyCharm Community Edition #第一个python程序 print('He...

diaokong9766的博客 126

【Python入门实战】一周吃透基础语法!

大家好!本周我集中学习了Python基础语法、分支循环、循环控制语句以及迭代器等核心知识点,与其死记硬背语法规则,不如用几个趣味小游戏把这些知识点串起来实战——既练手又好玩,新手也能轻松看懂。今天就把这5个涵盖本周所有核心考点的小游戏分享出来,每一行代码都加了「人话注释」,跟着敲一遍,Python基础直接吃透!

fy1222的博客 1153

Python:Python安装!PyCharm安装!Python基础语法!Python入门!

大家好!我是诗书画唱!关注我!和我一起学习更多知识!

热爱音乐和二次元! 194

Python以及基础语法大全,让学习不在困难!

Python是一种广泛使用的高级编程语言,以其简洁的语法、丰富的库和强大的功能而著称。Python是一种解释型、交互式、面向对象的脚本语言,提供了高级数据结构,如列表(list)和字典(dict),以及动态类型和动态绑定。Python的语法清晰明了,易于学习和使用,使得它成为初学者的首选语言之一。同时,Python也广泛应用于Web开发、数据分析、人工智能、自动化运维等多个领域。

lhx19373106160的博客 882

python语法基础遇到问题_Python打牢基础,从10个语法开始!

Hello,大家好,今天是Python小课堂,今天就带大家来看看,了解一些Python中最基本的内容。01 中文编码很多小伙伴在打开数据时会遇上乱码问题,其原因是字符集的编码问题。Linux和Mac默认的编码集是UTF8,而Windows则是ASCII。如果数据编码的字符集,和你使用Python进行处理时所用的字符集不同,则会出现乱码问题。02 变量Python中的变量可以看作是一个个容器,里面存...

weixin_39615402的博客 94

10分钟!速通python基础语法

变量是保存和表示数据的值 的一种语法元素在python中的一个后缀名为.py的python文件就是一个模块模块中可以定义函数,类等模块也可以避免函数、类、变量等名称相互冲突的问题模块不仅提高了代码的可维护性,同时还提高了代码的可重用性在给模块命名的时候要求全部使用小写字母,多个单词之间使用下划线进行分隔如果自定义模块名称与系统内置模块名称相同,那么在导入的时候会优先的导入自定义的模块和大家交流一些python的知识点,希望对大家有帮助!!

2501_91133380的博客 1181

Python入门基础语法汇总!新手小白学习起来

这应该是最详细的Python入门基础语法汇总! 废话不多说,直奔主题! 定义变量,使用变量 input 用户自己输入值 print 打印值 可以输出多个变量 %d|%s 用于输出变量时占位 字符串(后期爬虫必备) int()把字符串转换为数字 str()把数字转换为字符串 len()获取某个字符占用的字节数 字符串可以用+连接 字符下标可以为负数 str[起始位置:终止位置:步长]切片,从起始开始截取字符串,到终止位置结束,不包括终止位置 str[::-1]倒序 str.find()|rfind 字符串查

BCXQ2020的博客 345

Python打牢基础,从22个语法开始!

“人生苦短,我用Python”。Python编程语言是最容易学习、并且功能强大的语言。只需会微信聊天、懂一点英文单词即可学会Python编程语言。但是很多人声称自己精通P...

lovenankai的专栏 634

Python基础语法一次看完,从0开始掌握Python编程!

原本想针对Python基础语法和理论基础重新做一次整理和归纳,不过摸着键盘盯着屏幕很多次,始终不能战胜自己的羞耻心。作为一名实诚的码农,还是不认为自己能把基础知识归纳的比其他人更好,所以本文中的一些内容直接引用其他作者的文章。 一、一些基础语法 1、编码 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码: #-- coding: cp-1252 -- 上述定义允许在源文件中使用 Windows-1252 字符集.

Victor_Ink的博客 616

Python基础语法入门,从整体到细节。看这一篇就够了!

适合新手小白的Python基础语法指南!从提整体深入细节和实践,看这一篇就够啦~

python03011的博客 1265
上一篇: Python入门教程 超详细1小时学会Python(内附python教程分享)
下一篇: Python及Pycharm详细下载安装教程!
Python_trys
博客等级 码龄2年 4380粉丝 377原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值