从零开始的Python图像识别-Week1 Python编程基础

学校开设了Python图像识别的课程,想在这里给大家分享一下学习的内容与经历,那么就从开课这周开始吧!

文章目录

  • Python编程基础
    • 编码
    • 注释
    • 标识符
    • 关键字
    • 数据类型
    • 运算符
    • 列表
    • 元组
    • 字典
    • 集合

Python编程基础

编码

默认情况下,Python源码文件以UTF-8编码,字符串以unicode编码。不过也可以为源文件指定编码,在编程时最好指明编码(ps:要养成良好的编程习惯呀!)

第一种格式:
# coding = 
如:
# coding = utf-8
第二种格式:(最常用)
# -*- coding: -*-
如:
# -*- coding:utf-8 -*-

注意:没有“coding”前缀或声明没有在第一、第二行是无法生效的。


注释

  • # 是单行注释
  • ‘’’ ‘’'或""" “”" 是多行注释
# 这是单行注释
'''
这是多行注释
'''

(其实python并没有多行注释,这个多行注释严格意义上是一个没人要的字符串,就把它当注释啦)
不写注释的程序员不是好程序员嗷!


标识符

  • 第一个字符必须是字母表中字母或下划线_
  • 标识符的其他部分由字符、数字和下划线组成
  • 标识符对大小写敏感
  • 以下划线开头的标识符是有特殊意义的。以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用"from xxx import * "来导入
  • 以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如__init__()代表类的构造函数

Python 3中可以以中文作为变量名了,且非ASCII标识符也是允许的。


关键字

as and assert break class continue def del elif else except
finally for from global if in is import lambda not nonlocal
or pass raise return try with while yield False None True

数据类型

Python 3 中有六个标准的数据类型:

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Sets(集合)
  • Dictionary(字典)

其中又分为两类:

  • 不可变数据:Number、String、Tuple、Sets
  • 可变数据:List、Dictionary

运算符

  • 算术运算符
  • 逻辑运算符
  • 位运算符
  • 赋值运算符
  • 比较运算符
  • 成员运算符
  • 身份运算符

算数运算符

a = 2
b = 3

a + b = 5 # 加
a - b = -1 # 减
a * b = 6 # 乘
a / b = 0.6666666666666666 # 除
a % b = 2 # 取模
a ** b = 8 # 幂
a // b = 0 # 整除

逻辑运算符

a and b = 3 # 布尔"与"  如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值
a or b = 2 # 布尔"或"   如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值
not(a and b) = False # 布尔"非"   如果 x 为 True,返回 False 。如果 x 为 False,它返回 True

位运算符

a = 0001 1100
b = 1001 0101

a & b = 0001 0100 # 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
a | b = 1001 1101 # 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1
a ^ b = 1000 1001 # 按位异或运算符:当两对应的二进位相异时,结果为1
~a = 1110 0011 # 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1
a << 2 = 0101 0000 # 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0
a >> 2 = 0000 0101 # 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数

赋值运算符

c = a + b
c += a # c = c + a
c -= a # c = c - a
c *= a # c = c * a
c /= a # c = c / a
c %= a # c = c % a
c **= a # c = c ** a
c //= a # c = c // a

比较运算符

a == b # False
a != b # True
a > b # False
a < b # True
a >= b # False
a <= b # True

成员运算符

list = [1, 2, 3, 4, 5]

a in list # True
b not in list # False

身份运算符

a = 10
b = 20

a is b # False
a is not b # True

a = 20

a is b # True
a is not b # False

运算符优先级

运算符 描述
** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,求余数和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 ‘AND’
^ | 位运算符
<= < > >= 比较运算符
== != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not and or 逻辑运算符

列表

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。

  • 列表的基本格式:
    list1 = ['hello', 'world', '123']
    
  • 查看列表:
    list[0] = 'hello'
    list[0:2] = ['hello', 'world', '123']
    
  • 更新列表:
    list[1] = 100
    
  • 删除列表:
    del list[1]
    

元组

元组Tuple是只读有序序列。可认为Tuple是只读列表,即无法修改的列表。

  • 元组的基本格式:
    tuple1 = ('hello', 'world', '123')
    
  • 元组的注意事项:
    • 元组的小括号可以省略
    • 元组不能进行修改和部分内容的删除
    • 元组可以进行合并等操作

字典

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 。

  • 字典的基本格式:
    d = {key1: value1, key2: value2}
    
  • 字典的注意事项:
    • 字典中的键必须是唯一的,但值不必
    • 值可以取任何数据类型,但键必须是不可变的,如字符串、数字或元组

集合

集合(set)是一个无序的不重复元素序列。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

  • 集合的基本格式:
    parme = {value1, value2, ...}
    或者
    set(value)
    

Python在语法方面几乎与其他编程语言相似,这点内容可去自行查看,在此不在阐述咯。


这里是 咸鱼不垫底
不定时更新自己的学习经历,以及分享自己学到的知识!

你可能感兴趣的:(从零开始的Python图像识别-Week1 Python编程基础)