python程序构成
1.程序由模块组成,模块由语句组成。
2.程序:对应python源文件。后缀为.py
模块:运行时按照语句顺序执行
语句:构造单元。创建对象,变量赋值,调用函数,控制语句。
对象
1.本质是有特定值的内存块。支持特定类型相关操作。
2.(对象)object≈(标识)identity+(类型)type+(值)value
标识:内存地址。可用id(obj)返回函数
类型:数据的类型。可用type(obj)获得所属类型。
值:数据的具体信息内容。可用print(obj)打印输出值。
引用
1.变量(对象赋值后的内存块)位于栈中。对象位于堆中。
2.变量为对象的引用。变量通过地址引用对象。
标识符
1.给变量,函数,类,模块等起的名称。
2.规则:区分大小写;开头为下划线或者字母;不能用关键字;避免双下划綫开头和结尾的标识符。(针对不同类型的标识符有更详细的约定俗称的规则)
变量的声明和赋值
变量名=表达式1
可通过del语句删除不再使用的变量。
若删除了变量,对象值虽然在,但因为没有变量引用,会被垃圾回收器回收。
常量
python不支持常量。约定产量的命名规则,逻辑上不作任何修改。
eg: MAX_NUMBER=3
print(MAX_NUMBER)
整数
其他三种进制:二,八,十六。可进行位运算操作。
使用int()类型转换:
1.浮点数去小数部分。
2.可以输出布尔值布尔值true=1,false=0.
3.字符串符合整数格式的直接转换成对应整数。
浮点数
float,内存中用科学计数法存储。round(value),可以返回四舍五入的值。
例:时间用数字来表示。
1970年为“unix时间点.
time.time(),获得当前时刻,返回值以秒为单位,带微秒的浮点数。
b=int(time.time):转换为整型。
totalMinutes=b//60:得知多少分钟
totalDays=totalHours//24:得知多少
运算符
1.比较运算符
符号 | 作用 |
---|---|
== | 比较是否相等,返回false |
!= | 比较是否不相等,返回true |
>= | 判断是否大于等于,返回false(<=返回true) |
> | 判断是否大于,返回,返回false(<返回true) |
2.逻辑运算符
or and not
或 与 非
或:全假则假,其余为真
与:全真则真,其余为假
3.同一运算符
is:判断两个标识符是不是引用同一个对象。比较的是两个对象id值是否相等,指向同一内存地址。
注:==是判断引用变量引用对象的值是否相等。
字符串
1.本质为字符序列,python不支持单字符类型。
2.python3的字符默认16位unicode编码,也包括ASCII码。
3.内置函数ord(),字符转换成unicode码。
内置函数chr(),十进制数字转换成字符。
4 创建:可通过单引号和双引号创建。
连续三个单引号或三个双引号,可以创建多行字符串
5.len(),计算字符串含有多少字符。
6.字符串拼接:可用+多个字符串拼接起来,也可将多个字面字符串直接放到一起实现拼接。
7.字符串复制:a=‘abc’*3
结果为:abcabcabc
8.不换行打印:end=任意字符串",实现末尾添加任何内容。
9.input()从控制台读取键盘输入的内容。
10.str()实现数字转型字符串
str(314e2)==>‘3.14’
11 使用[]提取字符
[]指定偏移量,找到并提取该位置的单个字符
正向搜索:从左到右,0开始,直到len(str)-1
反向搜索:从右到左,-1开始,直到-len(str)
例:a=‘abcde’
a[4]=e
12 replace():创建新的字符串对象,并指向了变量的位置并替换,没有修改的过程。
13 切片slice操作:(包头不包尾)
eg:“abcdef”[1:5:2] ==>“bd”
#起始偏移量为1,终止偏移量为5,步幅为2
eg:“abcdef”[:2] ==>“ab”
#起始偏移量为0,终止偏移量为2,步幅为1
14 split()分割和join()合并
分割:多个子字符串存储到列表中
合并:多个子字符串连接起来
eg: a=“to be or not to be”
a.split(“to”)
>>>[’’,‘be or not’,‘be’]
eg:’=’.joint(a)
>>>to=be=or=not=to=be
15 字符串驻留
标识符规则符合的字符串,仅保存一份相同也不可变的字符串。两者被判断为同一个对象。
eg: a=“a_3”
b=“a_3”
a is b
>>>true
16 成员操作符
in/not in:判断某个字符是否包括在其中。
17 常用方法
(1)strip()去除指定信息
(2)a.startswith(’***’):指定字符串开头
a.endswith(’***’):指定字符串结尾
(3)a.upper():产生新的字符串,所有字符大写
a.lower():产生新的字符串,所有字符小写
(4)center(),ljust(),rjust():对字符串实现排版
18 格式化
str.format():通过新的参数或字符串,来代替{}中的内容。
19 填充与对齐
^ ,<,>分别是居中,左对齐,右对齐
:后面带填充的字符,只能是一个字符,不可空格。
20 数字格式化
浮点数用f,整数用d.
练习
1.定义多点坐标,画出折线,计算起始点和终点距离
import turtle()
import math() #导入数学模块
#定义三个点坐标
x1,y1=10,20
x2,y2=20,30
x3,y3=30,40
#绘图
turtle.penup()
turtle.goto(x1,y1)
turtle.pendown()
turtle.goto(x2,y2)
turtle.goto(x3,y3)
turtle.done()
#计算起始点和终点距离
distance=math.sqrt((x1-x3)**2+(y1-y3)**2)
turtle.write(distance) #计算得出距离
变量使用前必须先赋值(初始化) ↩︎