[笔记]第一章 Python基础

本文介绍了Python的基础知识,包括Python的历史和发展趋势、语言特点、开发环境搭建、编程语言类型、程序运行方式等内容,并详细讲解了核心数据类型及运算符的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一章 python基础

1.python概述

Python是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum1989年发明,第一个公开发行版发行于1991年。

python官网 https://www.python.org/

2.python的发展

2.1 python能为我们做什么

web服务器编程,数据挖掘,自然语言处理,自动化测试等方面应用越来越多。在国内目前的趋势是部分取代javaPHP在服务器端的作用。目前流行的网站创建模式LAMP(LinuxapacheMysqlPython/PHP/Perl)即可以用python来完成后端服务。

2.2 python哲学

Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。优美、清晰、简单也是python一直强调的哲学理念。

2.3 python语言的特点

python语言的开放性赋予了其强大的生命 这与linux相同python是一门面向对象的语言,模块,变量,函数都看作是对象。有时python被认为是一门脚本语言,但是他比传统意义的脚本语言功能上要强大得多,甚至google等公司的一些大型项目都用python,所以很多人也把他看作一种高级动态编程语言。

很好的跨平台性,也可以很容易的和多种编程语言衔接(比如c c++ java),所以我们也称python为胶水语言。

python简单的特点,被用作学习的第一种编程语言很合适,性价比较高

3. python开发环境的搭建

3.1.python版本介绍

python版本目前有python2.xpython 3.x,基本语法差别不是很大,python3在库方面有一些更新。

在系统支持上python支持 windows ,Mac OS X ,linux等系统,可以说python的跨平台性很强。

3.2 python常用开发工具

python在各个平台下都有比较优秀的开发工具,例举如下:





3.3 安装python

在这里分别为同学们介绍下pythonwindowslinux下的安装。

待添加:!!!

3.4编程语言类型介绍

1.编译型语言 如 c/c++语言 
在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。

2.解释性语言 
运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。 
脚本语言是一种解释性的语言,例如javascript,python等等,它不象cc++等可以编译成二进制代码,以可执行文件的形式存在。 
脚本语言不需要编译,可以直接用,由解释器来负责解释。

3.半编译半解释性语言,java,先生成字节码,python也是先生成字节码.pyc 。先编译生成字节码然后再由虚拟机负责解释。

4.交互式解释器:python shell等都有类似的交互解释器,用户可以直接在提示行后输入相应的语句并且运行出相应的结果,极大的方便了我们的学习。

4.python预备知识

4.1什么是程序

广义的讲,为了实现一个特定的目标而预先设计的一组可操作的工作步骤就可以称之为一个程序。对于计算机系统,简单的说,程序就是系统可以识别的一组有序的指令 
程序存储在磁盘上,被加载到内存中,计算机系统从内存中逐条读取指令并执行

4.2计算机的存储结构

· 存储器可以简单的分为主存储器,外存储器和寄存器

1) 主存储器也称内存,是计算机的工作存储器。程序,待处理的数据和处理的结果都存储在内存中。内存通常以字节为单位对存储单元按顺序进行编址。内存读写速度比较快,但只能在加电时存储数据

2)外存储器是用来长期保存数据的大容量存储器,目前多为磁存储器或光存储器。读写速度慢于内存,可以在不加电的情况下长期保存数据

3) 寄存器是CPU内部的高速存储器,速度快,数目少。

4.3编程语言发展

第一阶段:机器语言 
直接使用机器指令(01序列)来设计程序,可以 被计算机系统直接识别。和自然语言完全不同,难于记忆和理解,工作量大,效率低,无法移植

 

第二阶段:汇编语言 
把机器指令符号化,即通过一组简单的的符号来表示机器指令,更接近于自然语言,更容易理解和使用。 不能被计算机系统直接识别,要转化成机器语言后才能执行。和机器语言一样,开发工作量大,无法移植

 

第三阶段:高级语言 
和特定的计算机系统无关,更接近于人类自然语言。一条语句对应多条机器指令,工作量小,开发效率高。同样需要转换成机器代码后才能被计算机系统识别、执行。 JAVA , PYTHON, C, C++ ,C#

· 

4.4进制转换

凡是按进位的方式计数的数制叫做进位计数制,简称进位制。 
基数为2的进位制叫二进制 ,8的进位制叫八进制 ,10的进位制叫十进制 ,16的进位制叫十六进制

4.5编码方式

计算机中数据的概念是广义的,机内除有前面提到的数值数据之外,还有文字、符号、图像、语言和逻辑信息等等,因为它们也都是以01形式存在,所以成为非数值数据 
字符数据主要指数字、字母、通用符号、控制符号等等,在机器内都被变换成计算机能够识别的二进制编码形式。国际上被普遍采用的一种编码是美国国家信息交换标准代码,简称为ASCII 
Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。其中UTF-88-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson1992年创建。现在已经标准化为RFC 3629UTF-816个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。

5.程序的运行

5.1通过命令提示行运行

通过命令行运行python即为交互模式,我们可以启动ipython 或者 python3 进入交互状态然后就可以写python语句了。每次启动我们认为是一个程序进程,交互状态和程序本身有一点

差别,如可以直接显示变量的值等。

退出 python2: quit()或者ctrl + D或者 exit(),如果安装了ipython插件,则不用加().

5.2通过脚本程序运行

通过脚本程序运行即我们之前提到的程序是我们将python程序写入到一个文件中,通过运行文件即可让程序按照我们预定的规则执行。

普通的python文件为.py格式的文件,可以通过编译的方法生成.pyc格式的字节码文件,该文件可增加文件的执行效率.

生成.pyc字节码文件的方法:

Import py_compile

py_compile.compile(“1,py”)    #  1.py 为需要编译的文件名

生成.pyo格式优化代码的方法:

python -O -m py_compile 1.py 

 

5.3 python程序的执行过程

1)python 程序的组成

· 程序由模块构成

· 模块包含语句

· 语句包含表达式

· 表达式建立并处理对象

python程序是按照语句顺次执行的。类,函数等语句块需要调用后才能执行具体内容。

2) python关键字

1) 循环判断

if;  elif;  else;  for;  while;  bieak;  continue;  and;  or;  is;  not in;  

2) 函数模块类:

from;  import;  as;  def;  pass;  lambda;  return;  class;  

3) 异常:

try;  except;  finally;  raise;  

4) 其他:

del;  global;  with;  assert;  yield;  nonlocal;  

True;  False;  None;  exec print  (python3, print () 为打印)

 

  

6数字和表达式

6.1 python的核心数据类型

· 

1)数字(包含整形Int和浮点型Float) 字符串(String) 列表(List) 字典(Dict) 元组(Tuple) 集合(Set) 文件

2)其他类型:类类型(object);None(Nonetype);布尔型(Boolean)

3)编程单元模块类型:函数(function);模块(module);(class)

· 

6.2数字类型

1. 如果是长整形后面可以加一个python3中去掉了long类型所有的整形就是long 浮点型就是double

2. 在python中每个数都是一个对象,创建时存在内存中

3. python 中数字也支持科学计数法,复数等。使用科学技术法时,需要引入 math函数

6.3常量与变量

1)常量:不能被改变的量

2)变量:人为设定有的标识符,用来标记常量,可以被重复利用赋值

3) 标识符命名规则

标识符是由程序员按照命名规则自行定义的词法符号,用于定义宏名、变量名、函数名和自定义类型名等。python的命名规则如下:

由字母,数字,下划线组成;数字不能作为开头;不能使用关键字;严格区分大小写.

但是在python的标识符命名中还有一些默认规则:

1) (_x)格式的变量名不会被 from module import * 语句导入

2) (__x__)格式的变量名,为系统的默认变量

3) (__x)格式的变量名,为类的私有变量

4) 变量的初始化和使用

变量使用前必须赋值(初始化):

python属于弱类型变量: 对象有类型变量无类型,变量就相当于一个对象的标签

Python 中变量和常量是分开存放的,当把变量重新赋值的时候即变量存放的地址发生了改变。不用的常量仍然在内存中,有自动的垃圾处理机制,如果没有变量绑定这个常量则自动会被处理也可以通过del来处理,全局变量也随进程消亡.

7运算符及优先级

表达式是python程序的基本组成部分,下面我们先从最今本的四则运算来学习一下python中的表达式。

7.1简单的运算

+;  -;  *;  /;  

赋值: a = 1 ;  a,b = 1,2 ;   

7.2除法

python3 :   / 为真除法,及保留商的小数部分; // 为假除法.及整除 

7.3运算符及优先级

各个运算符的优先级如下图,优先级有低到高,

逻辑运算中的短路原则:

a>b or a>c and a<d

逻辑判断由左到右依次判断

1)当第一个 or 条件的判断为True不再继续判断整体判断结果为True

2)当 or 判断结果为False 时 向右继续执行  

3)当 and 前的语句判断为 False,不再继续判断.,整体判断结果为 False

4)当 and 前的语句判断为 True 继续判断直到 所有的 and 的左右两边都为True整体返回 True ,



8运算

8.1运算类型

· 

· 数学运算 +;  -;   *;   /;   //;   %;   

· 位运算 «:左移运算   »:右移运算   |:或运算   ^:异或运算   &:与运算   ~:非运算

· 逻辑运算 ==;  = ;  or;   and;   not;   is;   is not;  in;  not in

 

8.2特殊运算及一些技巧:

1) a,b两数交换的方法

①: a^=b b^=a a^=b 

②: a,b = b,a

③: tmp=a  a=b  b=tmp

2) 左移位运算:<< :换算为2进制数向左移动,右边用0补位

3) 右位移运算:>> : 换算为2进制数,向右移动,即去掉右面相应位数的数值.

4) 与运算:& :一假则假;

5) 或运算: | :一真则真;

6) 异或运算: ^ :  换算为2进制数,相同为0,不同为1

7) 取反 : ~ :

注: python 中支持 += 这种运算赋值写法,但是不支持++,-–运算

 

8.3 math模块和类型转换

python 中除了可以用基本的运算符进行运算,还提供了专门用于运算的模块如math模块。我们可以通过help方法来查看math模块中有哪些方法。

import math # 引入math函数

math.pow(3,2)   #幂运算结果为浮点型数字

math.sqrt(9)   #开方运算

强制类型转换

python中数据类型的强制转换通过一些内建函数来实现。有时候这种强制转换时不安全的,因为这是一种舍去精度的转换。

int(1.23)  #强制转换为整型

str(123) # 强制转换为字符型

内容概要:本文详细介绍了扫描单子定位显微镜(scanSMLM)技术及其在三维超辨体积成像中的应用。scanSMLM通过电调透镜(ETL)实现快速轴向扫描,结合4f检测系统将不同焦平面的荧光信号聚焦到固定成像面,从而实现快速、大视场的三维超辨成像。文章不仅涵盖了系统硬件的设计与实现,还提供了详细的软件代码实现,包括ETL控制、3D样本模拟、体积扫描、单子定位、3D重建和子聚类析等功能。此外,文章还比较了循环扫描与常规扫描模式,展示了前者在光漂白效应上的优势,并通过荧光珠校准、肌动蛋白丝、线粒体网络和流感A病毒血凝素(HA)蛋白聚类的三维成像实验,验证了系统的性能和应用潜力。最后,文章深入探讨了HA蛋白聚类与病毒感染的关系,模拟了24小时内HA聚类的动态变化,提供了从子到细胞尺度的多尺度析能力。 适合人群:具备生物学、物理学工程学背景,对超辨显微成像技术感兴趣的科研人员,尤其是从事细胞生物学、病毒学光学成像研究的科学家和技术人员。 使用场景及目标:①理解和掌握scanSMLM技术的工作原理及其在三维超辨成像中的应用;②学习如何通过Python代码实现完整的scanSMLM系统,包括硬件控制、图像采集、3D重建和数据析;③应用于单子水平研究细胞内结构和动态过程,如病毒入侵机制、蛋白质聚类等。 其他说明:本文提供的代码不仅实现了scanSMLM系统的完整工作流程,还涵盖了多种超辨成像技术的模拟和比较,如STED、GSDIM等。此外,文章还强调了系统在硬件改动小、成像速度快等方面的优势,为研究人员提供了从理论到实践的全面指导。
内容概要:本文详细介绍了基于Seggiani提出的渣层计算模型,针对Prenflo气流床气化炉中炉渣的积累和流动进行了模拟。模型不仅集成了三维代码以提供气化炉内部的温度和浓度布,还探讨了操作条件变化对炉渣行为的影响。文章通过Python代码实现了模型的核心功能,包括炉渣粘度模型、流动速率计算、厚度更新、与三维模型的集成以及可视化展示。此外,还扩展了模型以考虑炉渣组成对特性的影响,并引入了Bingham流体模型,更精确地描述了含未溶解颗粒的熔渣流动。最后,通过实例展示了氧气-蒸汽流量增加2%时的动态响应,析了温度、流动特性和渣层布的变化。 适合人群:从事煤气化技术研究的专业人士、化工过程模拟工程师、以及对工业气化炉操作优化感兴趣的科研人员。 使用场景及目标:①评估不同操作条件下气化炉内炉渣的行为变化;②预测并优化气化炉的操作参数(如温度、氧煤比等),以防止炉渣堵塞;③为工业气化炉的设计和操作提供理论支持和技术指导。 其他说明:该模型的实现基于理论公式和经验数据,为确保模型准确性,实际应用中需要根据具体气化炉的数据进行参数校准。模型还考虑了多个物理场的耦合,包括质量、动量和能量守恒方程,能够模拟不同操作条件下的渣层演变。此外,提供了稳态求解器和动态模拟工具,可用于扰动测试和工业应用案例析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值