主要内容

• 流程图伪代码 • 基本编程元素 • 脚本函数和包 • Numpy


伪代码到程序


第一个脚本

•1 建⽴项⽬和脚本 •2 运⾏ •3 Debug,查看断点 •4 步进,查看系统函数的代码 •5 查看


行和缩进

python的最大特色就是用缩进来区分模块和逻辑

缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行

if True:print ("True")
else:print("False")

变量

python中的变量赋值不需要类型声明。每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。等号=用来给变量赋值

在内存中存储的数据可以有多种类型

例如,⼀个⼈的年龄可以⽤数字来存储,他的名字可以⽤字符来存储。Python 定义了⼀些标准类型,⽤于存储各 种类型的数据。Python有五个标准的数据类型:

Numbers(数字)

String(字符串)

List(列表)

Tuple(元组)

Dictionary(字典)

counter = 100 #赋值整型变量
miles = 1000.0 #浮点型
name = "john" #字符串print(counter,miles,name)

Python保留字符

def if return and exec not
del import try assert finally

or

elif in while break for pass
else is with class from print
except lamda yield continue global raise

数字类型

python支持四种不同的数字类型

int 有符号整型

long 长整型 也可以表示八进制和十六进制

float 浮点型

complex复数

在NumPy中,有24种新的基本Python类型来描述不同类型的 标量。这些类型描述符主要基于CPython编写的C语⾔中可⽤ 的类型,其他⼏种类型与Python的类型兼容。

N维数组,列表,元组

Python没有默认数组需要numpy库支持,只有列表list和元组tuple

list是列表,list中的元素的数据类型可以不一样。数组中的元素的数据类型必须是一样的,列表中的元素可以是多种类型

元组一旦创建不不可改变,元组不能追加append元素,弹出pop元素,相当于只读的list

ndarray:全程n-dimensional array object 是储存单一数据类型的多维数组

tuple = ('runoob',786,'join',70.2)
list = ['runoob',786,'join',70.2]
# tuple[2] = 1000
list[2] = 1000
print(tuple)
print(tuple[0])
print(tuple[1:3])
print(tuple[2:])
print(list)
print(list[0])
print(list[1:3])
print(list[2:])

二维列表

列表也可以是多维的

nums = [[1,2,3],[4,5,6],[7,8,9],[3,4,7]]
total = 0
for i in nums:for j in i:total += j
print(total)

列表和元组可以套在一起

#元组列表
tuple_list=[(1,2),(3,4)]
tuple_list[0]=(1,2) #合法
#tuple_list[0][0]=1 #⾮法

python字典

字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是⽆序的对象集合。 两者之间的区别在于:字典当中的元素是通过键来存取的,⽽不是通过偏移存取。 字典⽤"{ }"标识。字典由索引(key)和它对应的值value组成

dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name':'join','code':6734,'dept':'sales'}
print(dict['one']) # 输出键为'one' 的值
print(dict[2]) # 输出键为 2 的值
print(tinydict) # 输出完整的字典
print(tinydict.keys()) # 输出所有键
print(tinydict.values()) # 输出所有值

Python模块

Python 模块(Module),是⼀个 Python ⽂件,以 .py 结尾,包含了 Python 对象定义和 Python语句。模块让你能够有逻辑地组织你的 Python 代码段。把相关的代码分配到⼀个 模块⾥能让你的代码更好⽤,更易懂。模块能定义函数,类和变量,模块⾥也能包含可执 ⾏的代码。 模块的使⽤是通过import 复杂的模块也可以由多个⽂件组成,这个时候需要通过包的形式来管理

__init__.pyprimitive/__init__.pyline.pyfill.pytext.pyformats/__init__.pypng.pyjpg.py 

引用模块

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

import module1
• import module1 as name
• from module1 import function
• from module1 import function as name
• from module1 import *

判断语句

if 判断条件: 执⾏语句…… else: 执⾏语句……

# flag = False
# name = 'luren'
# if name == 'python': #判断变量是否是python
#     flag = True     #条件成立时设置标志为真
#     print('welcome boos')   #并输出欢迎信息
# else:
#     print(name)      #条件不成立时输出变量名称num = 5
if num == 3: #判断num 的值print('boss')
elif num == 2:print('user')
elif num == 1:print('worker')
elif num < 0:  # 值⼩于零时输出print('error')
else:print('roadman')  # 条件均不成⽴时输出

for 循环

def find_target(target, nums):  # 找出排序数组的索引for i in range(len(nums)):if nums[i] == target:return iprint(find_target(5, [1, 3, 5, 6]))n=5
for i, j in zip(range(n-1, 0, -1), range(n//2)):print ('i = {0}, j = {1} '.format(i, j))

range() 函数⽤法

range(start, stop[, step]) • start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5); • stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5 • step:步⻓,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)


while 循环

count = 0
while count < 9:print('The count is:', count)count = count + 1print("Good bye")

函数

定义⼀个函数 你可以定义⼀个由⾃⼰想要功能的函数,以下是简单的规则: • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。 • 任何传⼊参数和⾃变量必须放在圆括号中间。圆括号之间可以⽤于定义参数。 • 函数的第⼀⾏语句可以选择性地使⽤⽂档字符串—⽤于存放函数说明。 • 函数内容以冒号起始,并且缩进。 • return [表达式] 结束函数,选择性地返回⼀个值给调⽤⽅。不带表达式的return相当于返回 None。

def move(x, y, step, angle=0):nx = x + step * math.cos(angle)ny = y - step * math.sin(angle)return nx, ny

函数的返回值和调⽤

函数体内部的语句在执⾏时,⼀旦执⾏到return,函数就执⾏完毕,并将结果返回。 如果没有return语句,函数执⾏完毕后也会返回结果,只是结果为None。return None可以简写为return。

import math
def move(x,y,step,angle=0):nx = x +step *math.cos(angle)ny = y - step * math.sin(angle)return nx,nyx,y = move(100,100,60,math.pi/6)
r = move(100,100,60,math.pi/6)
print(x,y)
print(r)

文章默认函数入口

1.通过默认的函数名字

if __name__ =='__main__':

2.脚本和函数混编

缺点容易有对⻬问题

import math
def move(x, y, step, angle=0):nx = x + step * math.cos(angle)ny = y - step * math.sin(angle)return nx, nyx, y = move(100, 100, 60, math.pi / 6)
r = move(100, 100, 60, math.pi / 6)
print(x, y)
print(r)
return nx, nyif __name__ == ‘__main__':

环境设置

PYTHONPATH 变量 作为环境变量,PYTHONPATH 由装在⼀个列表⾥的许多⽬录组成。PYTHONPATH 的语 法和 shell 变量 PATH 的⼀样

在 Windows 系统,典型的 PYTHONPATH 如下: set PYTHONPATH=c:\python27\lib; 在 UNIX 系统,典型的 PYTHONPATH 如下: set PYTHONPATH=/usr/local/lib/python

Pycharm 1)打开File--》Setting—》打开 Console下的Python Console,把选项(Add source roots to PYTHONPAT)点击勾选上 2)右键点击⾃⼰的⼯作空间,找下⾯的Mark Directory as 选择Source Root,就可以解 决上⾯的问题了


常用标准库

操作系统接⼝
import os
os.getcwd() # 返回当前的⼯作⽬录
os.chdir('/server/accesslogs') # 修改当前的⼯作⽬录
os.system('mkdir today') # 执⾏系统命令 mkdir
⽂件通配符
import glob
glob.glob('*.py')
数学
import math
math.cos(math.pi / 4)
math.log(1024, 2)
⽇期和时间

Python的⾼级部分

未完待续~

ISP成像算法基础Day1—Python基础相关推荐

  1. Day1 - Python基础1

    Day1 - Python基础1 目录 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 python的创始人为吉多·范罗苏姆(Gui ...

  2. day1 计算机基础以及python基础

    day1 计算机基础以及python基础 1.cpu 内存 硬盘 操作系统 cpu:计算机的运算和计算中心,相当于人类的大脑 内存:暂时存储数据,临时加载数据应用程序.一般有4G.8G.16G.32G ...

  3. 二十一. Python基础(21)--Python基础(21)

    二十一. Python基础(21)--Python基础(21) 1 ● 类的命名空间 #对于类的静态属性:     #类.属性: 调用的就是类中的属性     #对象.属性: 先从自己的内存空间里找名 ...

  4. python语言的单行注释以井号开头_推荐|零基础学习Python基础知识

    原标题:推荐|零基础学习Python基础知识 Python是一种面向对象.解释型计算机程序设计语言.语法简洁清晰,强制用空白符作为语句缩进. Python具有丰富和强大的库,又被称为胶水语言.能把其他 ...

  5. Day1 python基础

    一.python介绍 目前Python主要应用领域: 云计算: 云计算最火的语言, 典型应用OpenStack WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, ...

  6. Python全栈开发,Day1 - Python基础1

    本章内容 Python是什么? Python的发展史 Python2与3的区别 Python的语言类型 Python的优缺点 一.Python是什么? Python的创始人是吉多·范罗苏姆(Guido ...

  7. Python on the Way, Day1 - Python基础1

    一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为AB ...

  8. 合成孔径雷达成像算法与实现(信号处理基础知识点)

    最近由于学业上需要,重新学习了<合成孔径雷达成像算法与实现>一书,其中第二章是信号处理基础,在此记录下学习过程. 一.信号处理基本概念 1.卷积与相关 卷积:  相关:    卷积从几何解 ...

  9. Python之路,Day1 - Python基础

    本节内容 Python介绍 发展史 一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决 ...

最新文章

  1. spring框架四大原则
  2. Android 急速发布项目到 JitPack
  3. Springboot+Apollo
  4. jQuery 输入框 在光标位置插入内容, 并选中
  5. 会员系统用php框架,代码基地会员中心的PHP签到系统结合thinkphp框架
  6. 判断大小简单算法_算法浅谈——人人皆知却很多人写不对的二分法
  7. 计算机组成原理微课版(谭志虎主编)预习笔记
  8. Android 原生的人脸识别Camera+FaceDetector示例
  9. 史上最完美将windows键盘映射成mac键盘,绝对不需要买HHKB了
  10. spss分析qpcr数据_手把手教你使用 SPSS 分析实时荧光定量数据
  11. 刚培训的java程序员怎么找工作,快来看鸭~
  12. bingo卡片js代码_Excel Bingo卡随机数代码
  13. 国家企业信用信息公示系统爬虫——流程分析
  14. 微信小程序生成图片分享朋友圈
  15. Android在线购物商城 app端+后台
  16. 浅谈cookie跨域的解决方案(domain)
  17. BatchNorm、LayerNorm、InstanceNorm、GroupNorm、WeightNorm
  18. 淘宝面试的几个算法题
  19. Jquery实现点击事件的四种写法
  20. springboot启动源码分析3-环境配置

热门文章

  1. 回溯算法(持续更新)
  2. python编写规范
  3. sql注入空格被过滤_SQL注入:各种绕过检测的姿势
  4. 极速办公(PPT)如何添加双删除线
  5. SCRM:SpringBoot + RabbitMQ + 企微 实现发送消息到企业微信
  6. 家庭版取消灰色勾选加密内容以便保护数据的方法
  7. 【转】MT7688学习笔记(6)——OpenWrt下串口编程
  8. 百面机器学习01-特征工程
  9. vue父组给子子组件传html,vue组件之间互相传值:父传子,子传父
  10. 手机怎么进ph_关于pH调整的有效方法