我的Python3学习笔记(1):python基础

FPGA高速接口Aurora8B/10B协议实战:从IP核配置到数据流优化 本文详细介绍了FPGA高速接口Aurora8B/10B协议的实战应用,从IP核配置到数据流优化的全流程。通过Aurora8B/10B协议,开发者可以在FPGA间实现高效的数据传输,适用于高速接口设计。文章涵盖了协议基础、IP核配置、AXI4-Stream接口实战技巧以及性能优化策略,帮助读者快速掌握这一关键技术。 阅读详情

Python基础

数学运算

新旧除法

在新的Python中,使用的不是传统C语言中的地板除,而是用的完整数学意义上的除法。原来的地板除则使用//来代替。

整数

在Python,ruby和Scala中,都可以用int型来表示大数。

标准输入输出

输入

1,raw_input就是用来输入的。

例如:

raw_input("whatyour name ")


这个函数中得到的结果是字符串类型,无论用户输入的是什么类型。

2,input函数,这个函数的使用形似和raw_input一致,但是他要求用户输入的是一个合格的Python表达式,也意味着:在输入字符串的时候必须输入一个“”。这是不可接受的,单数又有一个好处是:input可以判断用户输入的值得类型,这样就可以直接输入int值而不用转换了。

3,在Python3中,把raw_input和input都合并到了同一个input函数中:也就是说现在input函数对于数值和字符串有区分了。

输出

1,在Python 3中,print是一个内置函数,因此在使用的时候要加上括号。

操作符

is和==的区别

"=="是比较内容相当,如变量值相等;"is"是比较对象的id是否相等。这个就像Java中的equal和==,只不过倒过来了。

>>> f1 = 1.0
>>> f2 = 1.0
>>> id(f1)
11372688
>>> id(f2)
11372608
>>> print(f1 == f2)
True
>>> print(f1 is f2)
False

三目运算符

a if b else c

杂项

None

None是唯一的空值。它有着自己的数据类型(NoneType)。可将 None 赋值给任何变量,但不能创建其它 NoneType 对象。所有值为 None 变量是相等的。

None和其他的值比较时都是False。但是在条件判断中None是False。

但是:None== False是False。

通用boolean规则

FalseNone 0 "" () [] {}在boolean环境中是假,其他的都是真。基本上都是Python中内置类型中表示空的值。

注意:他们虽然都表示的是False,但是他们相互之间却并不相等。

注释

Python中的注释使用的是#。

不可变类型

字符串,数值和元组是不可变的,也就是说每次他们被修改的时候其实都是创建了一个新的对象。

 

例如:

>>>name = 'Mrs. Entity'
>>>n = name # This is almost what happens when passing a parameter
>>>n = 'Mr. Gumby' # This is done inside the function
>>>name
'Mrs.Entity'

 

动态语言中的通用作用域

在动态语言中传统的控制结构中没有生成变量域。那么剩下的就只是函数,类和模块可以生成变量作用域了。

Vars

vars函数可以得到当前作用域字典。


访问全局变量

在Python中,有一个严重的问题就是:无法在局部变量中准确判断使用的变量是一个局部变量还是一个全局变量。尤其是给一个全局变量赋值的时候。在这样的情况下,必须再加上其他的规定。

比如如果是简单的引用一个全局变量的值得时候,变量查找会从局部开始查起,如果局部没有就去全局变量查。也就是说:这个时候可以辨清这个是全局还是局部的。

给全局变量赋值

如果要给一个全局变量赋值,那么就要首相声明这是一个全局的变量。Python提供了如下的形式:

>>>x = 1
>>>def change_global():
              global x
              x = x + 1
>>>change_global()
>>>x
2


变量屏蔽

变量屏蔽的问题就是说:局部变量屏蔽了全局变量。这个时候如果想要访问局部变量就会出现问题。

Python中提供了两个函数locals和globals用来得到局部域和全局域,用他们可以轻松访问全局域。

>>>def combine(parameter):
printparameter + globals()['parameter']
...
>>>parameter = 'berry'
>>>combine('Shrub')
Shrubberry

控制结构

If

name= raw_input('What is your name? ')
ifname.endswith('Gumby'):
       if name.startswith('Mr.'):
              print 'Hello, Mr. Gumby'
       elif name.startswith('Mrs.'):
              print 'Hello, Mrs. Gumby'
       else:
              print 'Hello, Gumby'
       else:
              print 'Hello, stranger'


while

name= ''
whilenot name:
name= raw_input('Please enter your name: ')
print 'Hello, %s!' %name

while/True习语

在使用while循环的时候,常常会出现一个情况:必须设定一个变量,以使得while循环可以有判断条件。

例如:

word= 'dummy'
whileword:
       word = raw_input('Please enter a word: ')
       # do something with the word:
       print 'The word was ' + word

这儿在while外面设定了一个while循环,使得代码不够优雅。因此使用while/True习语。

 

如下:

whileTrue:
              word = raw_input('Please enter aword: ')
              if not word: break
              # do something with the word:
              print 'The word was ' + word

for

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
for number in numbers:
              printnumber


结合range可以用来遍历一个数值。

遍历字典

d ={'x': 1, 'y': 2, 'z': 3}
forkey in d:
              print key, 'corresponds to', d[key]
并行迭代

forname, age in zip(names, ages):
              print name, 'is', age, 'years old'

跳出循环

       有break和continue。

With

with实现的是一种资源借贷的方法,如下:

withopen(filename) as f:
   input = f.read()
output= do_something(input)
withopen(filename, 'w') as f:
   f.write(output)


这个方式就是使用一个有__enter__和__exit__函数的对象来管理资源,__enter__来得到资源,__exit__处理这个资源的善后工作。得到这个对象的方法有两种:使用一个方法放回一个对象或者直接创建一个对象。

with对象

实现一个类__enter__()和__exit__()方法

class controlled_execution:
    def _enter__(self):
        set things up
        return thing
    def __exit__(self, type, value,  traceback):
        tear thing down
with controlled_execution() as thing:
    some code


在实际的运行过程中,python会首先运行enter里的代码,返回thing,作为as 后面的变量值,然后再运行with模块中的代码,最后会自动执行exit中的代码,而不管with中的代码运行结果如何。这也就是with能简化try-finally语句的原因。所以with通常用在读取文件的操作中,将文件句柄的关闭操作放在exit方法中,这样就不会因忘记释放文件句柄而产生可能出现的错误。

函数

withopen('a.txt') as f:
print f.readlines()


列表解析

列表解析是一种使用原来的列表来建立新的列表的方法。

>>>[x*x for x in range(10)]
[0, 1, 4, 9, 16, 25, 36,49, 64, 81]

添加守卫

守卫就是一个if语句,用来决定这个列表值是否应该放到这个结果列表里面。

>>>[x*x for x in range(10) if x % 3 == 0]
[0, 9, 36, 81]


多个列表同时解析

>>>[(x, y) for x in range(3) for y in range(3)]
[(0, 0), (0, 1), (0, 2),(1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]


循环生成器

循环生成器和列表解析类似,只是他实际上产生的是一个迭代的对象。每次调用这个对象的next方法可以得到下一个列表解析中的值。

 

>>>g = ((i+2)**2 for i in range(2,27))
>>>g.next()
16


 

如同列表解析一样,循环生成器也可以直接用于和列表一起工作的函数。

sum(i**2 for i inrange(10))

基础特性
并行赋值

并行赋值,在底层使用的是元组

>>>x, y, z = 1, 2, 3
>>>print x, y, z
1 2 3
 


例如:

>>>values = 1, 2, 3
>>>values
(1,2, 3)
>>>x, y, z = values
>>>x
1

多返回值

借助于并行赋值,Python可以实现函数的多个返回值。

>>>scoundrel = {'name': 'Robin', 'girlfriend': 'Marion'}
>>>key, value = scoundrel.popitem()
>>>key
'girlfriend'
>>>value
'Marion'
Pass

Python中的pass用作空语句。

Del

del删除的是引用,不是真正的对象。

>>>x = ["Hello", "world"]
>>>y = x
>>>y[1] = "Python"
>>>x
['Hello', 'Python']

Exec

exec执行的时候会影响当前的空间。

>>>from math import sqrt
>>>exec "sqrt = 1"
>>>sqrt(4)
Traceback(most recent call last):
File"<pyshell#18>", line 1, in ?
sqrt(4)
TypeError:object is not callable: 1


 

如果不让它影响命名空间,可以使用in <scope>语句。

>>>from math import sqrt
>>>scope = {}
>>>exec 'sqrt = 1' in scope
>>>sqrt(4)
2.0
>>>scope['sqrt']
1


这样exec就是在我们制定的空间中执行的。注意:由于scope这个字典中还有__builtins__这个命名空间,因此除了防止命名冲突以外。其他的木有什么不同。

例如:

>>>len(scope)
2
>>>scope.keys()
['sqrt', '__builtins__']



33、AI赋能5G/6G通信:LDPC码解码与强化学习技术解析 本文探讨了基于AI和强化学习的LDPC码技术在5G/6G通信中的应用。包括LAMS解码器、神经MS解码器、盲识别方法、统一极性-LDPC解码器、NNMS和SNNMS解码器、N-2D-NMS解码器、神经分层MS解码器、MAB-NS方案以及强化学习与MCTS结合的技术。这些技术在提升解码性能、降低计算复杂度和增强系统适应性方面表现出色,为未来通信系统的发展提供了强有力的支持。 阅读详情

相关推荐

igh ethercat 实时性测试

组备注std(us)max(us)a无锁核,无rt补丁8.38108b锁核+FIFO调度+内存锁定,无rt补丁0.9216c锁核+FIFO调度+内存锁定,+rt补丁0.9922可以看到 a组 使用ethercat不做其他优化,周期抖动非常大,且max能达到 100 多 us;通过 锁核+FIFO调度+内存锁定 进行优化,可以看到 抖动明显降低,且max 为 20 us 左右;

qq_43353632的博客 2311

python请输入你的名字请输入你的年龄_Python【2】:初入python 用户输入,if,(while 循环)...

Python【2】:初入python 用户输入,if,(while 循环)发布时间:2020-06-17 23:01:15来源:51CTO阅读:349作者:PythonAVpython 基础编译型: 一次性将所有程序编译成二进制文件。缺点:开发效率低,不能跨平台优点:运行速度快。:c ,c++语言 等等。。。。解释行:当程序执行时,一行一行的解释。优点:开发效率高,可以跨平台。缺点:运行速度慢 ...

weixin_28740299的博客 1597

MATLAB PDE工具箱电磁场仿真平行电容板及电偶极子详解

首先打开matlab,在命令行输入pdetool打开PDE工具箱 工具箱的功能我就不赘述了,大概就是以有限元的数值计算方法,计算二阶偏微分方程,因此可以解决电磁场、热力学等问题。 首先点击左上角按钮,画三个矩形 画完一个后可以双击矩形编辑,参数如下: 其中R1表示上极板,R2表示下极板,R3表示整个空间区域。 在上方Set formula为R3-R2-R1,表示求解区域是整个空间区域减去两个极板。下拉框选择Electrostatics表示求解的是静电场问题。 接下来点击上方菜单栏中的这个按钮,表

weixin_42845306的博客 1万+

关于Python的学习笔记1

Python基础学习笔记2017.09.10-2017.09.17

fyinh_的博客 488

两种方法解决这个问题OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.

两种方法解决这个问题OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.在进行深度学习比如在训练yolov8模型时,在加载训练集和验证集时会报以下那个错误时会导致模型训练中断,有以下两个方法去解决这个问题,来使模型正常训练。

weixin_73044854的博客 2万+

STM32----SPI+DMA高效读写外部Flash的配置与实战

本文详细介绍了STM32通过SPI+DMA高效读写外部Flash的配置与实战方法。针对大量数据传输场景,使用DMA技术可显著提升系统效率,释放CPU资源。文章包含完整的代码实现、常见问题调试技巧以及性能优化建议,帮助开发者快速掌握这一关键技术。

pea55的博客 1031

Python3 学习笔记1-基础语法

Python3 学习笔记1-基础语法

The_xz的博客 1549

OpenSSL玩转证书链:从Windows CA根证书到签发多域名/IP的服务器证书全攻略

本文详细介绍了如何使用OpenSSL在Windows环境下构建私有CA体系,从创建CA根证书到签发支持多域名/IP的服务器证书的全流程。通过实战指南,读者可以掌握零成本证书管理技术,灵活配置SAN扩展,并了解在Nginx、Apache等主流服务器中的证书部署方法,适用于企业内网、IoT设备等HTTPS加密场景。

weixin_28731223的博客 440

python基础学习笔记1(python3)

0. 基础的数值类型 0.1 整型:整数 0.2 浮点型:小数 0.3 布尔类型:True(相当于整数1)或False(相当于整数0) 报错:是因为0不能做除数 0.4 e计数法 0.5数值类型转换 转为整型 int() 字符型数字转整型 字符转整型:报错,字符串不能转整型 浮点型转整型:小数点后删掉 转为浮点型 float() 整型转浮点 字符型数字转浮点 转为字符串 str() 整型和浮点型转为字符型 0.6 获取输入值的类型信息 查看x是什么类型 type(x) 比较x的类

qq_41403219的博客 2165

3060台式机 Ubuntu 双系统部署 LingBot-Map 完整指南

摘要: 本文详细介绍了在配备RTX 3060显卡的台式机上部署Ubuntu双系统并安装LingBot-Map 3D重建模型的完整流程。LingBot-Map作为蚂蚁灵波科技开源的Transformer架构模型,在流式3D场景重建中展现出高效性能(20 FPS)和卓越精度(ATE仅6.42米)。指南涵盖关键准备步骤、UEFI分区原理、Ubuntu安装流程(推荐150GB空间及手动分区方案),以及后续驱动配置说明,特别强调RTX 3060需12GB显存支持,并提供了数据备份、Secure Boot处理等实用建议

huanghm88的专栏 311

SCADA|KingSCADA通过组合框选择修改变量的值

《SCADA项目中组合框控件的使用方法》 本文详细介绍了SCADA系统中组合框(下拉框)控件的应用方法。通过具体示例演示如何实现:当选择"雷工笔记"时变量值为100,选择"雷工杂谈"时为200,选择"小李食代"时为300的功能。主要实现步骤包括:1)创建项目并添加组合框控件;2)设置Items选项及对应数值;3)创建内存变量;4)使用GetCurrentIndex()和GetItemData()方法;5)在选项变化事件中编写脚本。该控件在SCADA

做有价值的事,积累有价值的笔记! 865

Python3 学习笔记——基础知识1

Python3 基本语法 注释: #开头,为注释 基本IO: 函数print()、input() ————输出到终端或从终端获取,均为字符串类型。可通过 int()等方式转化。 库文件导入方式: import math; #导入math库,使用方式 math.***() from math import *** #只是使用mat库中的 ***()函数时单独提出,使用方式 ***() 关键字: pr...

停不下的人 的博客 295

03 Token、Embedding、上下文窗口:开发者必须懂的三个基本概念

Token、Embedding 和上下文窗口是大模型应用开发的三个基础概念。本文从成本、速度、检索和上下文设计四个角度讲清它们的工程意义,帮助开发者理解为什么同一段内容会超限、变贵,为什么 RAG 能做语义检索。

老于的笔记的专栏 410

python3 openxl 指定行添加一行_Python3学习笔记1基础语法

捏脸求关注~快,关注这个公众号一起涨姿势Python3学习笔记——基础语法默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串' # -*- coding:cp-1252 -*-'也可以指定其他编码,以上用cp-1252字符集中的编码01标识符:就是代码中类型 变量的名字规则如下:第一个字符必须是字母表中字母或下划线 _标识符的其他的部分由字...

weixin_39880621的博客 207

数学建模模型总结

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

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Python3.5学习笔记(1)-Python基础

Python基础学习笔记 开始Python学习第一步,学习资料来源于廖雪峰的官方网站。 Python3.5安装:http://blog.youkuaiyun.com/u011672579/article/details/52002695 Python解释器:CPython(安装Python3.5自带,在cmd中输入python可直接运行) 文本编辑器:Notepad++

sinat_37435404的博客 384

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Python3学习笔记之基础语法—第1节

为了学习机器学习相关知识,从今天开始学习Python3了,首先从语法开始学习。 注释 Python可以用#进行单行注释,用”’和”“”进行多行注释,具体如下: #!/usr/bin/python3 # 第一个注释 # 第二个注释 ''' 第三注释 第四注释 ''' &quot;&quot;&quot; 第五注释 第六注释 &quot;&quot;&quot; 行与缩进 Python与Java的一大区别就是用缩进来表示同一个代码块,而在..

神兽乌鸦 268

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

w3school学习笔记1(python基础)

长大后,不再冲动愤怒!!

用余生去守护的博客 1134

python 括号 中 不需要 反斜杠_Python3学习笔记1-基础语法

Python3学习笔记——基础语法默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串' # -*- coding:cp-1252 -*-'也可以指定其他编码,以上用cp-1252字符集中的编码01 标识符:就是代码中类型 变量的名字规则如下:第一个字符必须是字母表中字母或下划线 _标识符的其他的部分由字母、数字和下划线组成。标识符对大小写敏感02p...

weixin_39704374的博客 156

python3学习笔记:1.基础知识

整理文档发现两年前学习paython3的笔记。当时工作有需要结果也没用上,现在忘的差不多了,在这里整理下。按 菜鸟编程python3教程编写的demo。链接       基础知识部分:0.模块(命名空间、作用域、函数、包等)#模块:建议看完 6.函数 之后再看这个 # ..\Python\Python35\Tools\demo,安装目录下有些demo,看不太懂,囧 # 1.模块:同java ""...

bai020的博客 980

Python3 学习笔记1_基础语法_20180209

#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.runoob.com #**************************************************** # Python3 教程 * #*********************...

BugLiu 321

python学习笔记(3)--爬虫基础教程1

Python学习笔记(3)-爬虫基础教程(1) 参考网页:【1】.爬虫:http://www.cnblogs.com/fnng/p/3576154.html                  【2】.正则表达式:http://www.cnblogs.com/fnng/p/3576154.html                  【3】.《Python爬虫学习系列教程》学习笔记  http://w...

Leige_Smart的博客 1096

菜鸟教程-Python基础学习笔记1-3

Python基础学习(笔记) 1.脚本第一行 #!/usr/bin/python 是告诉操作系统执行这个脚本的时候,调用 /usr/bin 下的 python 解释器。 #!/usr/bin/env python 这种用法是为了防止操作系统用户没有将 python 装在默认的 /usr/bin 路径里。当系统看到这一行的时候,首先会到 env 设置里查找 python 的安装路径,再调用对应路径下的解释器程序完成操作。 两者的区别: #!/usr/bin/python 相当于写死了 python 路径。 #

seven749的博客 670

Pandas基础3.1|Python学习笔记

import numpy as np import pandas as pd df = pd.read_csv('./data/table.csv',index_col = 'ID') df.head() Unnamed: 0 School Class Gender Address Hei...

PenguinAsHeathen 177

怎么用python语法1234_1.Python3基础语法学习笔记教程

一、编码默认情况下,Python3源码文件为UTF-8编码,所有字符串都是万国码unicode字符串。二、变量(variable)和标识符字面量:就是一个一个的值,如1、2、3、‘world’,就是它自己本身表达的字面值、字面意思,在程序中可以直接使用。变量可以用来保存字面量,变量本身没有任何意思。python中变量(注意):1、使用变量不用声明,可以直接赋值,其他有些语言需要声明变量类型;2、...

weixin_39745013的博客 102

python3学习笔记(1) - 基础知识汇总

写在前面 最近2周在研究人脸识别相关的内容,在做 poc 和 demo 的过程中,python 用得比较多的,由于没有进行系统的基础学习就直接上手写代码,接下来,有必要将基础知识系统性的梳理一遍,便于自己后续再使用 python 编码时,能够得心应手,不要那么的“野路子”。 1. 基础语法 1.1 编码 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicod...

小爱玄策 346

Python3:《学习笔记与实战》之自动化任务(1)python 基础

学习书籍专题 :01-【python 自动化任务】        python 基础 【1-6章】   ------------------------------------------------------------------------------------------------------------------------------------------------- 1....

weixin_41858342的博客 624
上一篇: 计算机程序的构造与解释作业:练习1.16到1.19
下一篇: 我的Python3学习笔记(2):python函数式编程
ssjssh
博客等级 码龄15年 12粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值