PythonBase(一)

1、Python定义

是一个免费、开源、跨平台、动态、面向对象的编程语言。

2、pycharm快捷键

移动到本行开头:home键

移动到本行末尾:end键盘

注释代码:ctrl + /

复制行:ctrl +d

选择列:鼠标左键 + alt

移动行:shift + alt + 上下箭头

智能提示:Ctrl + Space

3、注释

定义:给人看的,通常是对代码的描述信息。

单行注释:以#号开头。

多行注释:三引号开头,三引号结尾。

4、变量

定义:关联一个对象的标识符。

命名:必须是字母或下划线开头,后跟字母、数字、下划线。

             不能使用关键字(蓝色),否则发生语法错误:SyntaxError: invalid syntax。

建议命名:字母小写,多个单词以下划线隔开。

          class_name

赋值:创建一个变量或改变一个变量关联的数据。

语法:变量名 = 数据

          变量名1 = 变量名2 = 数据

          变量名1, 变量名2, = 数据1, 数据2

5、del 语句

语法: del 变量名1, 变量名2

作用:用于删除变量,同时解除与对象的关联.如果可能则释放对象。

自动化内存管理的引用计数:每个对象记录被变量绑定(引用)的数量,当为0时被销毁。

6、数据类型查看

在python中变量没有类型,但关联的对象有类型。

通过type函数可查看

7、空值对象 None

定义表示不存在的特殊对象。

作用:占位和解除与对象的关联

8、整形int

表示整数,包含正数、负数、0。

        如: -5, 100, 0

字面值:

        十进制:5

        二进制:0b开头,后跟1或者1

        八进制:0o开头,后跟0~7

        十六进制:0x开头,后跟0~9,A~F,a~f

        小整数对象池:CPython 中整数 -5 至 256,永远存在小整数对象池中,不会被释放并可重复使用。

9、浮点型float

表示小数,包含正数、负数,0.0

字面值:

        小数:1.0   2.5

科学计数法:e/E (正负号) 指数 

        1.23e-2 (等同于0.0123)

        1.23456e5(等同于123456.0)

10、字符串str

是用来记录文本信息(文字信息)。

字面值:双引号、单引号

11、复数complex

由实部和虚部组成的数字。

虚部是以j或J结尾。

字面值: 1j     1+1j   1-1j

12、布尔bool

用来表示真和假的类型

True 表示真(条件满足或成立),本质是1

False 表示假(条件不满足或不成立),本质是0

13、数据类型转换

转换为整形: int(数据)

转换为浮点型:float(数据)

转换为字符串:str(数据)

转换为布尔:bool(数据)

       结果为False:bool(0)  bool(0.0)  bool(None)  

混合类型自动升级:

  1 + 2.14  返回的结果是 3.14

  1 + 3.0   返回结果是:  4.0

14、算术运算符

+ 加法

- 减法

* 乘法

/ 除法:结果为浮点数

// 地板除:除的结果去掉小数部分

% 求余

** 幂运算

优先级从高到低: ()

            **

                 *  / % //

                 +  -

15、增强运算符

y += x 等同于 y = y + x

y -= x 等同于 y = y - x

y *= x 等同于 y = y * x

y /= x 等同于 y = y / x

y //= x 等同于 y = y // x

y %= x 等同于 y = y % x

y **= x 等同于 y = y ** x

16、比较运算符

 < 小于

 <= 小于等于

 > 大于

 >= 大于等于

 == 等于

 != 不等于

返回布尔类型的值

比较运算的数学表示方式:0 <= x <= 100

17、逻辑运算符

与and

表示并且的关系,一假俱假。         

示例:

    True and True # True

    True and False # False

    False and True # False

False and False # False

或or

表示或者的关系,一真俱真     

  示例:

True or True # True

True or False # True

False or True # True

False or False # False

非 not

表示取反

例如:

not True   # 返回False

not False  # 返回True

18、短路运算

一但结果确定,后面的语句将不再执行

19、身份运算符

    语法:

     x is y

     x is not y

作用

is 用于判断两个对象是否是同一个对象,是时返回True,否则返回False

    is not 的作用与is相反

20、优先级

到低:

算数运算符

比较运算符

快捷运算符

身份运算符

逻辑运算符

21、语句

物理行:程序员编写代码的行。

逻辑行:python解释器需要执行的指令。

建议一个逻辑行在一个物理行上。

如果一个物理行中使用多个逻辑行,需要使用分号;隔开。

如果逻辑行过长,可以使用隐式换行或显式换行。

隐式换行:所有括号的内容换行,称为隐式换行

    括号包括:  ()  []   {} 三种

显式换行:通过折行符 \ (反斜杠)换行,必须放在一行的末尾目的是告诉解释器,下一行也是本行的语句 

pass 语句

通常用来填充语法空白

22、If elif else 语句

作用:

     让程序根据条件选择性的执行语句

语法:

    if 条件1:

        语句块1

    elif 条件2:

        语句块2

    else:

        语句块3

说明:

    elif 子句可以有0个多个

    else 子句可以有0个或1个且只能放在if语句的最后

23、if 语句的真值表达式

if 100:

        print("真值")

等同于

if bool(100):

    print("真值")

24、条件表达式

  语法:变量 = 结果1 if 条件 else 结果2

  作用根据条件(True/False) 来决定返回结果1还是结果2。

25、循环语句

while语句

作用:

        可以让一段代码满足条件,重复执行。

语法:

while 条件:

        满足条件执行的语句

    else:

        不满足条件执行的语句

说明:

    else子句可以省略

    在循环内用break终止循环时,else子句不执行

26、for 语句

作用:用来遍历可迭代对象的数据元素。

可迭代对象是指能依次获取数据元素的对象,例如:容器类型

语法:

    for 变量列表 in 可迭代对象:

        语句块1

    else:

        语句块2

说明:

    else子句可以省略

    在循环内用break终止循环时,else子句不执行

27、range 函数

作用:用来创建一个生成一系列整数的可迭代对象(也叫整数序列生成器)。

语法:

    range(开始点,结束点,间隔)

说明:

函数返回的可迭代对象可以用for取出其中的元素

返回的数字不包含结束点

开始点默认为0

间隔默认值为1

28、break 语句

跳出循环体,后面的代码不再执行

可以让while语句的else部分不执行

29、continue 语句

跳过本次,继续下次循环

30、循环选择的准则

次数未知选择while循环

次数已知选择for循环

31、数学运算符

+:用于拼接两个容器

+=用原容器与右侧容器拼接,并重新绑定变量

*重复生成容器元素

*=用原容器生成重复元素, 并重新绑定变量

< <= > >= == !=依次比较两个容器中元素,一但不同则返回比较结果 

32、成员运算符

语法

        数据 in 序列

        数据 not in 序列

作用

   如果在指定的序列中找到值返回bool类型。

33、索引index

作用:访问容器元素

语法:容器[整数]

说明:

正向索引从0开始,第二个索引为1,最后一个为len(s)-1

反向索引从-1开始,-1代表最后一个,-2代表倒数第二个,以此类推,第一个是-len(s)

34、切片slice

作用:

从容器中取出相应的元素重新组成一个容器。

语法

容器[(开始索引):(结束索引)(:(步长))]

说明

小括号()括起的部分代表可省略

结束索引不包含该位置元素

步长是切片每次获取完当前元素后移动的偏移量

35、内建函数

len(x) 返回序列的长度

max(x) 返回序列的最大值元素

min(x) 返回序列的最小值元素

sum(x) 返回序列中所有元素的和(元素必须是数值类型)

36、字符串 str

定义

由一系列字符组成的不可变序列容器,存储的是字符的编码值

编码

  • 字节byte:计算机最小存储单位,等于8 位bit.
  • 字符:单个的数字,文字与符号。
  • 字符集(码表):存储字符与二进制序列的对应关系
  • 编码将字符转换为对应的二进制序列的过程
  • 解码将二进制序列转换为对应的字符的过程
  • 编码方式

--ASCII编码:包含英文、数字等字符,每个字符1个字节

  --GBK编码兼容ASCII编码,包含21003中文;英文1个字节,汉字2个字节。

  --Unicode字符集国际统一编码,字符集每字符2字节字符集4字节。

  -- UTF-8编码:Unicode存储传输方式,英文1字节,中文3字节

相关函数

ord(字符串):返回该字符串的Unicode码。

chr(整数):返回该整数对应字符串。

字面值

单引和双引号的区别

  • 单引号内的双引号不算结束符
  • 双引号内的单引号不算结束符

三引号作用

  • 换行会自动转换为换行符\n
  • 三引号内可以包含单引号和双引号
  • 作为文档字符串

转义字符

改变字符的原始含义。

\’  \”  \”””  \n  \\  \t  \0 空字符  

  1. 原始字符串取消转

a = r”C:\newfile\test.py”

字符串格式化

定义:生成一定格式的字符串。

语法:字符串%(变量)

"我的名字是%s,年龄是%s" % (name, age)

类型码:

%s 字符串     %d整数     %f 浮点数

37、列表 list

定义

由一系列变量组成的可变序列容器。

基础操作

  • 创建列表:

列表名 = []   

列表名 = list(可迭代对象)

  • 添加元素:

列表名.append(元素)

列表.insert(索引,元素)

  • 定位元素:

索引、切片

  • 遍历列表:

正向:

for 变量名 in 列表名:

变量名就是元素

反向:

for 索引名 in range(len(列表名)-1,-1,-1):

列表名[索引名]就是元素

  • 删除元素:

列表名.remove(元素)

del 列表名[索引或切片]

38、深拷贝和浅拷贝

浅拷贝:复制过程中,只复制一层变量,不会复制深层变量绑定的对象的复制过程

深拷贝:复制整个依懒的变量

39、列表对比字符串

列表和字符串都是序列,元素之间有先后顺序关系

字符串是不可变的序列,列表是可变的序列

字符串中每个元素只能存储字符,而列表可以存储任意类型

列表和字符串都是可迭代对象

函数

将多个字符串拼接为一个。

result = "连接符".join(列表)

将一个字符串拆分为多个。

列表 = “a-b-c-d”.split(“分隔符”)

40、列表推导式

定义:

使用简易方法,将可迭代对象转换为列表。

语法:

变量 = [表达式 for 变量 in 可迭代对象]

变量 = [表达式 for 变量 in 可迭代对象 if 条件]

说明:

如果if真值表达式的布尔值为False,则可迭代对象生成的数据将被丢弃

41、列表推导式嵌套

语法:

变量 = [表达式 for 变量1 in 可迭代对象1 for 变量2 in可迭代对象2]

传统写法:

result = []

for r in  ["a", "b", "c"]:

    for c in ["A", "B", "C"]:

        result.append(r + c)

推导式写法:

result = [r + c for r in list01 for c in list02]

42、元组 tuple

定义

由一系列变量组成的不可变序列容器

不可变是指一但创建,不可以再添加/删除/修改元素。

基础操作

  • 创建空元组:

元组名 = ()

元组名 = tuple()

  • 创建非空元组:

元组名 = (20,)

元组名 = (1, 2, 3)

元组名 = 100,200,300

元组名 = tuple(可迭代对象)

  • 获取元素:

索引、切片

  • 遍历元组:

正向:

for 变量名 in 元组名:

变量名就是元素

反向:

for 索引名 in range(len(元组名)-1,-1,-1):

元祖名[索引名]就是元素

作用

元组与列表都可以存储一系列变量,由于列表会预留内存空间,所以可以增加元素。

元组会按需分配内存,所以如果变量数量固定,建议使用元组,因为占用空间更小。

应用:

变量交换的本质就是创建元组:x, y = y, x

格式化字符串的本质就是创建元祖:"姓名:%s, 年龄:%d"  % ("demaxiya", 15)

43、字典 dict

定义

由一系列键值对组成的可变散列容器。

散列:对键进行哈希运算,确定在内存中的存储位置,每条数据存储无先后顺序。

键必须惟一且不可变(字符串/数字/元组),值没有限制。

基础操作

  • 创建字典:

字典名 = {键1:值1,键2:值2}

字典名 = dict (可迭代对象)

  • 添加/修改元素:

语法:

    字典名[键] = 数据

说明:

    键不存在,创建记录。

    键存在,修改映射关系。

  • 获取元素:

变量 = 字典名[键]  # 没有键则错误

  • 遍历字典:

for 键名 in 字典名:

字典名[键名]

for 键名,值名 in 字典名.items():

语句

  • 删除元素:

del 字典名[键]

44、字典推导式

定义:

使用简易方法,将可迭代对象转换为字典

语法:

{键:值 for 变量 in 可迭代对象}

{键:值 for 变量 in 可迭代对象 if 条件}

45、字典 对比列表

都是可变容器。

获取元素方式不同,列表用索引,字典用键。

字典的插入,删除,修改的速度快于列表。

列表的存储是有序的,字典的存储是无序的。

46、集合 set

定义

由一系列不重复的不可变类型变量组成的可变散列容器。

相当于只有键没有值的字典(键则是集合的数据)。

基础操作

  • 创建空集合: 

集合名 = set()  

集合名 = set(可迭代对象)

  • 创建具有默认值集合:

集合名 = {1, 2, 3}

集合名 = set(可迭代对象)

  • 添加元素:

集合名.add(元素)

  • 删除元素:

集合名.discard(元素)

47、运算

  • 交集&:返回共同元素。

s1 = {1, 2, 3}

s2 = {2, 3, 4}

  s3 = s1 & s2  # {2, 3}

  • 并集:返回不重复元素

s1 = {1, 2, 3}

   s2 = {2, 3, 4}

   s3 = s1 | s2  # {1, 2, 3, 4}

  • 补集-:返回只属于其中之一的元素

   s1 = {1, 2, 3}

   s2 = {2, 3, 4}

  s1 - s2  # {1} 属于s1但不属于s2

  • 补集^:返回不同的的元素

   s1 = {1, 2, 3}

   s2 = {2, 3, 4}

   s3 = s1 ^ s2  # {1, 4}  等同于(s1-s2 | s2-s1)

  • 子集<:判断一个集合的所有元素是否完全在另一个集合中
  • 超集>:判断一个集合是否具有另一个集合的所有元素

   s1 = {1, 2, 3}

   s2 = {2, 3}

s2 < s1  # True

   s1 > s2  # True

  • 相同或不同== !=:判断集合中的所有元素是否和另一个集合相同。

  s1 = {1, 2, 3}

   s2 = {3, 2, 1}

   s1 == s2  # True

   s1 != s2  # False

子集或相同,超集或相同 <=  >=

48、集合推导式

  • 定义:

使用简易方法,将可迭代对象转换为集合。

  • 语法:

{表达式 for 变量 in 可迭代对象}

{表达式 for 变量 in 可迭代对象 if 条件}

49、固定集合 frozenset

定义

不可变的集合

作用

固定集合可以作为字典的键,还可以作为集合的值。

基础操作

创建固定集合:frozenset(可迭代对象)

运算

等同于set

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值