欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

第二天

程序员文章站 2022-05-29 13:36:29
...

编程的基本概念

python程序的构成

1.Python是由模块组成。

2.模块由语句组成。

3.语句是Python程序的构造单元,用于创建对象、变量赋值等。

对象

  • 对象的构成:标识、类型、值组成
    1.标识用于唯一标识对象,通常对应于对象在计算机内存中的地址。
    2.类型用于表示对象存储的“数据”的类型。
    3.值表示对象所存储的数据的信息。
  • 对象的本质
    一个内存块,拥有特定的值,支持特定类型的相关操作。

引用的本质

在Python中,变量也成为:对象的引用。

变量位于:棧内存

对象位于:堆内存

  • Python是动态类型的语言

变量不需要显式声明类型。

  • Python是强类型语言

每个对象都是数据类型,只支持该类型支持的操作。

标识符

  • 基本用法

标识符:用于变量、函数、类、模块等的名称。

  • 标识符的规则

1.区分大小写。

2.第一个字符必学是字母、下划线。其后的字符是:字母、数字、下划线。

3.不能使用关键字。

4.以下划线开头和结尾的名称通常有特殊含义,尽量避免这种写法。
第二天

赋值

1.变量的声明和赋值用于将一个变量绑定到一个对象上,格式如下: 变量名 = 表达式(a = 123)
注意:变量在使用前必须先被初始化(先被赋值)
2.删除变量
可以通过 del 语句删除不在使用的变量。
如:a = 123;del a;
注意:如果对象没有变量引用,就会被垃圾回收器回收,清空内存空间。
1.链式赋值

链式赋值用于同一个对象赋值给多个变量

如:x=y=520 相当于:x=520;y=520

2.系列解包赋值

系列解包赋值给对应相同个数的变量(个数必须保持一致)

如a,b,c=1,2,3 相当于:a=1;b=2;c=3;

[操作]使用系列解包赋值实现变量交换

a,b=1,2;

a,b=b,a;

print(a,b)

而c语言的变量交换

int a,b,c;

a=1;

b=2;

c=a;

a=b;

b=c;

printf(a,b);

所以,Python更简洁。

3.常量

Python不支持常量的,及没有语法规则限制改变改变一个常量的值。我们只能约定常量的命名规则,以及在程序的逻辑上不对常量的值做出改变。
​​​​

内置数据类型与算数运算符

基本的内置函数

  • 整型整数,2345,10,50
  • 浮点型 小数,3.14 或者科学计数法 314e-2
  • 布尔型 表示真假,仅包含:True、False
  • 字符串型 由字符组成的序列。 “abc”,”sxt”,
    数字与基本的算数运算符
    第二天
    小技巧:使用 divmod()函数同时得到商和余数
    输入:divmod(13,3)
    运行结果: (4, 1)

整数

1.Python 中,除 10 进制,还有其他三种进制:

  • 0b 或 0B,二进制 0 1
  • 0o 或 0O,八进制 0 1 2 3 4 5 6 7
  • 0x 或 0X,十六进制 0 1 2 3 4 5 6 7 8 9 a b c d e f

2.使用 int()实现类型转换:

  1. 浮点数直接舍去小数部分。如:int(9.9)结果是:9
  2. 布尔值 True 转为 1,False 转为 0。 如:int(True)结果是 1
  3. 字符串符合整数格式(浮点数格式不行)则直接转成对应整数,否则报错。

3.自动转型: 整数和浮点数混合运算时,表达式结果自动转型成浮点数。比如:2+8.0 的结果是 10.0

注意:在Python2 中,int 是 32 位,可以存储从-2147483648 到 2147483647 的整数(约± 21 亿)。Long 类型是 64 位,可以存储:-263–263-1 之间的数值,但是在Python3中,int 可以存储任意大小的整数,long 被取消。

时间表示和多点坐标(操作)

  • 时间的表示 计算机中时间的表示是从“1970 年 1 月 1 日 00:00:00”开始,以毫秒(1/1000 秒) 进行计算。我们也把
    1970 年这个时刻成为“unix 时间点”。 这样,我们就把时间全部用数字来表示了。
    第二天
    python 中可以通过 time.time() 获得当前时刻,返回的值是以秒为单位,带微秒 (1/1000 毫秒)精度的浮点值。例如:1530167364.8566。
    下面展示一些 内联代码片
import turtle 
import math #定义多个点的坐标 
x1,y1 = 100,100 
x2,y2 = 100,-100 
x3,y3 = -100,-100 
x4,y4 = -100,100 #绘制折线 

turtle.penup() 
turtle.goto(x1,y1) 
turtle.pendown() 

turtle.goto(x2,y2)
turtle.goto(x3,y3) 
turtle.goto(x4,y4) #计算起始点和终点的距离 
distance = math.sqrt((x1-x4)**2 + (y1-y4)**2)
turtle.write(distance)

运行结果:

布尔值和运算符

  • Python2 中没有布尔值,直接用数字 0 表示 False,用数字 1 表示 True。 Python3 中,把 True 和
    False 定义成了关键字,但他们的本质还是 1 和 0,甚至可以和数 字相加。

  • 比较运算符

  • 第二天
    第二天

  • 逻辑运算符
    第二天

  • 同一运算符
    同一运算符用于比较两个对象的存储单元,实际比较的是对象的地址。
    第二天

  • 注意:is与 == 的区别
    is用于判断2个变量引用对象是不是同一个而 == 是比较引用变量引用对象的值是不是相等。

  • 整数缓存问题
    Python 仅仅对比较小的整数对象进行缓存(范围为[-5, 256])缓存起来,而并非是所有整数对 象。需要注意的是,这仅仅是在命令行中执行,而在 Pycharm 或者保存为文件执行,结果是不一样 的,这是因为解释器做了一部分优化(范围是[-5,任意正整数])。

  • 基本运算符
    第二天

  • 复合赋值运算符
    第二天

  • 运算符优先级问题
    如下优先级,从高到低。
    第二天
    实际使用中,记住如下简单的规则即可,复杂的表达式一定要使用小括号组织。
    (1) 乘除优先加减
    (2)位运算和算术运算>比较运算符>赋值运算符>逻辑运算符

字符串(上)

字符串的基本特点

字符串的本质是:字符序列
Python 不支持单字符类型,单字符也是作为一个字符串使用的。

注意字符串编码问题 :Python3 直接支持 Unicode,可以表示世界上任何书面语言的字符。Python3 的字符 默认就是 16 位 Unicode 编码,ASCII 码是 Unicode 编码的子集。 使用内置函数 ord()可以把字符转换成对应的 Unicode 码; 使用内置函数 chr()可以把十进制数字转换成对应的字符。

  • 引号创建字符串
    我们可以通过单引号或双引号创建字符串。例如:a=’abc’; b=”sxt”
    使用两种引号的好处是可以创建本身就包含引号的字符串,而不用使用转义字符。

连续三个单引号或三个双引号,可以帮助我们创建多行字符串。

字符串的常用方法

转义字符

第二天

拼接

可以使用+将多个字符串拼接起来。例如:’aa’+ ’bb’ == >’aabb’。
(1) 如果+两边都是字符串,则拼接。
(2) 如果+两边都是数字,则加法运算。
(3) 如果+两边类型不同,则抛出异常。
可以将多个字面字符串直接放到一起实现拼接。例如:’aa’’bb’==>’aabb’

复制

使用*可以实现字符串复制。如:a = ‘Sxt’*3 运行结果:‘SxtSxtSxt’

不换行打印

我们前面调用 print 时,会自动打印一个换行符。有时,我们不想换行,不想自动添加换行 符。我们可以自己通过参数 end = “任意字符串”。
如:print(“sxt”,end=’ ‘)
print(“sxt”,end=’##’)
print(“sxt”)
运行结果:
sxt sxt##sxt

常用的查找方法

len(a) 字符串长度
a.startswith(‘c’) 是否以指定字符串开头
a.endswith(‘c’) 是否以指定字符串结尾
a.find(‘c’) 第一次出现指定字符串的位置
a.rfind(‘c’) 最后一次出现指定字符串的位置
a.count(‘c’) 指定字符串一共出现几次
a.isalnum() 是否所有字符全是字母或数字

大小写转换

a.capitalize()产生新的,首字母大写
a.title()产生新的,单词首字母大写
a.upper()产生新的,所有字符全大写
a.lower()产生新的,所有字符全小写
a.swapcase()产生新的,所有字母大小写转换

排版

center()、ljust()、rjust()这三个函数用于对字符串实现排版。

常用于字符串的函数

  • 切片函数slice()
  • 切割函数splice()
  • 合并函数join()
  • 格式化函数format()
    Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的 功能。 基本语法是通过 {} 和 : 来代替以前的 % 。 format 函数可以接受不限个参数,位置可以不按顺序。
  • replace()实现字符串替换

字符串的驻留机制

字符串驻留:仅保存一份相同且不可变字符串的方法,不同的值被存放在字符串驻留池中。 Python 支持字符串驻留机制,对于符合标识符规则的字符串(仅包含下划线(_)、字母 和数字)会启用字符串驻留机制驻留机制