第二天

编程的基本概念

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 支持字符串驻留机制,对于符合标识符规则的字符串(仅包含下划线(_)、字母 和数字)会启用字符串驻留机制驻留机制

可变字符串

可变字符串
在Python中,字符串属于不可变的想要修改就只能创建一个新的字符串;但是,如果实在想要修改或频繁的修改这个字符串就可以使用io.StringIO对象或者array。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值