Python学习(2)|程序构成,对象,标识符,变量,时间表示,多点坐标

发布时间:2024年01月17日

章节2_编程基本概念

10_Python程序的构成

Python中一个模块对应一个源文件

语句是程序的基本单元

“缩进”是Python语法的强制规定,Python中花括号{}不能表示缩进

“Tab制表符”表示一个缩进(一般是使用四个空格表示)

行连接符? \??

#见名知意
#行连接符  反斜杠  \
a = "abcedjndgjsnf\
kkdgjdlmkgfkjg"
print(a)

?运行结果:

?11_对象的基本组成

?对象:Python中一切皆对象

对象由三部分组成:标识(identity)、类型(type)、值(value)

对象的本质是一个内存块,拥有特定的值,支持使用特定类型的相关操作。

a = 3
print(a)        #打印值
print(id(a))    #打印标识
print(type(a))  #打印类型
b = "我爱你"
print(b)
print(id(b))
print(type(b))

运行结果:

12_引用的本质-占内存和堆内存

Python中,变量也称为:对象的引用(reference)。变量存储的就是对象的地址,变量通过地址引用了“对象”

变量位于:栈内存(压栈出栈等细节)

对象位于:堆内存

Python是动态类型语言:变量不需要显示声明类型。根据变量引用的对象,Python解释器自动确定数据类型

13_Python程序的构成

标识符规则:

区分大小写。如:sxt和SXT是不同的

第一个字符必须是字母、下划线,其后的字符是字母数字下划线。

不能使用关键字。如:if、or、while等;

以双下划线开头和结尾的名称通常有特殊含义,尽量避免这种写法。如:是类的构造函数。

基本用法:

使用Python帮助系统查看关键字

help()

输出结果如下:

标识符命名规则:

模块和包名:全小写字母,尽量简单。若多个单词之间用下划线。例:math,os,sys

函数名:全小写字母,多个单词之间用下划线隔开。例:phone,my_name

类名:首字母大写,采用驼峰原则。多个单词时,每个单词第一个字母大写,其余部分小写。例:MyPhone,MyClass,Phone

常量名:全大写,多个单词使用下划线隔开。例:SPEED,MAX_SPEED

14_变量的声明-初始化-垃圾回收机制

变量和简单的赋值语句

变量的声明和赋值:用于将变量绑定到一个对象上,格式 变量名=表达式

变量在使用前必须被初始化(先被赋值)

a = 123
print(a)

可以通过del语句删除不再使用的变量

如果对象没有被变量引用,就会被垃圾回收器自动回收清空内存空间

15_常量-链式赋值-系列解包赋值

常量:

Python不支持常量,即没有语法规则限制改变一个常量的值,Python中的常量是假常量,是逻辑上的常量。只能约定常量的命名规则,以及在程序的逻辑上不对常量的值做出修改,实际上可以改变

常量命名一般是大写

MAX_AGE = 150
print(MAX_AGE)
MAX_AGE = 200
print(MAX_AGE)

结果:

链式赋值:

x = y = z = 123
print(x)
print(y)
print(z)

系列解包赋值:

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

a,b,c = 4,5,6
print(a,b,c)

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

m,n = 100,200
m,n = n,m		#变量值互换
print(m,n)

16_内置数据类型-基本算数运算符

Python内置的四种类型:整型(int)、浮点型(float)、布尔型(bool)、字符串型(str)

变量没有类型,对象有类型

a = 123
b = 3.14
b2 = 314e-3
c = True
d = "hello world"
print(type(a))
print(type(b))
print(type(c))
print(type(d))
print("b2:" +str(b2))

数字和基本运算符:

Python支持整数和浮点数运算

运算符? ? ? ? 说明? ? ? ? ? ? ? ? 事例? ? ? ? ? ? ? ? 结果

+? ? ? ? ? ? ? ? 加法? ? ? ? ? ? ? ? 3+2? ? ? ? ? ? ? ? 5

-? ? ? ? ? ? ? ? 减法? ? ? ? ? ? ? ? ?30-5? ? ? ? ? ? ? ? 25

*? ? ? ? ? ? ? ? 乘法? ? ? ? ? ? ? ? ?3*6? ? ? ? ? ? ? ? 18

/? ? ? ? ? ? ? ? 浮点数除法? ? ???8/2? ? ? ? ? ? ? ? 4.0

//? ? ? ? ? ? ? ? 整数除法? ? ? ? ?7//2? ? ? ? ? ? ? ? 3

%? ? ? ? ? ? ? ? 模(取余)? ? 7%4? ? ? ? ? ? ? ? 3

**? ? ? ? ? ? ? ? 幂? ? ? ? ? ? ? ? ? ?2**3? ? ? ? ? ? ? ? 8

使用 divmod() 函数同时得到商和余数

即 >>>divmod(13,3)

结果 (4,1)

divmod() 是一个函数,返回的是一个元组

print(divmod(13,3))

17_整数-不同进制-其他类型转成整数

Python中进制:

十进制

二进制: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

a = 0b101001
b = 0o11
c = 0xff
print(a)
print(b)
print(c)

结果:41

? ? ? ? ? ?9

? ? ? ? ? ?255

使用int实现类型转换:

浮点数直接舍去小数部分。如: int(9.9) 结果是: 9

布尔值 True 转为 1 , False 转为 0 。如: int(True) 结果是 1

字符串符合整数格式(浮点数格式不行)则直接转成对应整数,否则报错

整数可以任意大:

Python3中, int 可以存储任意大小的整数

e = 100**1000
print(e)

?18_Python程序的构成

浮点数(float):

浮点数用科学计数法表示。比如:3.14 表示成 314E-2 或者 314e-2(相当于三百一十四乘以十的负二次方)

这些数字在内存中也是按照科学计数法存储

类型转换和四舍五入

类似于 int() 我们也可以使用 float() 将其他类型转化成浮点数

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

round(value) 可以返回四舍五入的值,但不会改变原有值,而是产生新的值

增强型赋值运算符:

运算符 + - * ** 和赋值 = 可以构成“增强型赋值运算符”

运算符? ? ? ? ? ? ? ? ? ? ? ? ??例子? ? ? ? ? ? ? ? ? ? ? ? ?????等价

+=? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? a +=2? ? ? ? ? ? ? ? ? ? ? ? ? a = a + 2

-=? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?a -=2? ? ? ? ? ? ? ? ? ? ? ? ? ?a = a - 2

*=? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?a *=2? ? ? ? ? ? ? ? ? ? ? ? ? ?a = a * 2

/=? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? a /= 2? ? ? ? ? ? ? ? ? ? ? ? ? a = a / 2

//=? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?a //= 2? ? ? ? ? ? ? ? ? ? ? ? ?a = a // 2

**=? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? a **= 2? ? ? ? ? ? ? ? ? ? ? ? ?a = a ** 2

%=? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? a %= 2? ? ? ? ? ? ? ? ? ? ? ? a = a % 2

a = 3.14
b = 314E-2
print(b)
c = 9.5
d = round(c)        #四舍五入
x = y = 3
y += x
print(y)            #y = y + x
x = y = 3
y += x*2            #y = y+(x*2)
print(y)
x = y = 3
y *= x+2            #y = y * ( x + 2 )
print(y)

结果:

3.14

6

9

15

19_时间的表示-unix时间点-毫秒微秒-time模块

计算机时间的表示是从“1970年1月1日00:00:00”开始,以毫秒(1/1000秒)进行计算。我们也把1970年这个时刻称为“unix时间点”。

Python中可以通过time.time()获得当前时刻,返回的值是以秒为单位,带微秒(1/1000毫秒)精度的浮点值。例如:1630350628.5632517.

import time

b = time.time()
print(b)
b = int(time.time())
print(b)
totalMinutes = b//60
print(totalMinutes)
totalDay = totalMinutes//(60*24)
print(totalDay)
totalYears = totalDay//365
print(totalYears)

结果;

1705398100.201866
1705398100
28423301
19738
54

20_多点坐标-绘制折线图-计算两点距离

【操作】定义多点坐标绘出折线并计算起始点和终点的距离。

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)
turtle.done()       #该语句让程序等待,而不是直接退出窗口

文章来源:https://blog.csdn.net/weixin_73921499/article/details/135628989
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。