1.python程序组成
程序由模块组成、模块由语句、函数、类、数据组成
语句包含表达式、表达式建立并处理数据对象
2.标准数据类型
数据类型:数字、字符串、列表、元组、集合、字典
(1)Number(数字):int、float、bool、complex
核心数据类型:整型、浮点型、复数、布尔型、空值。)
整型:int 包括自然数、0、负数(如:-5 100 0)
整型数的字面值表达式:
十进制:10 200 33333 3333333333(逢10进1)
二进制:0b开头,后跟0-1(逢2进1) 如:0b11011001 #217
八进制:0o开头,后跟0-7(逢8进1) 如:0o177 #127 0o11 #9
十六进制:0x开头,后跟0-9,A-F,a-f 如:0x11 #17
方法:二进制转8进制(3位),十六进制(4位)
浮点型数:float 带小数部分的数字
表达形式1:小数形式, 3.14 3.1 3. .14 0.14
表达形式2:科学计数法, 格式e/E(正负号)指数 如:8.18E-1 2.9979e8
e8表示10的8次方 e-1表示10的-1次方
复数:complex
分为两部分:实部:real 虚部:image 虚数以j或J结尾
字面值:1j (2j) 1+1J 3-4J (-100+100J)
布尔类型数:bool,用来表示真和假两个状态的类型
Ture 表示真(条件满足或成立) False 表示假(条件不满足或不成立)
说明:Ture 值为1 False值为0
空值:none对象,是表示不存在的特殊对象
作用:用来表示占位,用来变量解决绑定
(2)String(字符串):' 或双引号 " 反斜杠 \ 转义特殊字符
语法格式: 变量[头下标:尾下标]
(3)List(列表):使用最频繁的数据类型
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
例子:
list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]
tinylist = [123, 'runoob']
print (list) # 输出完整列表
print (list[0]) # 输出列表第一个元素
print (list[1:3]) # 从第二个开始输出到第三个元素
print (list[2:]) # 输出从第三个元素开始的所有元素
print (tinylist * 2) # 输出两次列表
print (list + tinylist) # 连接列表
(4)Tuple(元组):元组写在小括号 () 里,元素之间用逗号隔开 //元组的元素不能修改
例子:
tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2 )
tinytuple = (123, 'runoob')
print (tuple) # 输出完整元组
print (tuple[0]) # 输出元组的第一个元素
print (tuple[1:3]) # 输出从第二个元素开始到第三个元素
print (tuple[2:]) # 输出从第三个元素开始的所有元素
print (tinytuple * 2) # 输出两次元组
print (tuple + tinytuple) # 连接元组
(5)Set(集合):由一个或数个形态各异的大小整体组成的
构成集合的事物或对象称作元素或是成员
可以使用大括号 { } 或者 set() 函数创建集合
创建格式:parame = {value01,value02,...} 或者 set(value)
(6)Dictionary(字典):字典用{ }标识,
它是一个无序的 键(key) : 值(value) 的集合,键(key)必须使用不可变类型。
tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组)
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)
3.表达式和运算符
表达式:expression,由一个数字/数字/运算符组成,也叫操作符
作用:通常让计算机做一些事情并返回结果,例如:1 + 2
运算符: + 加 - 减 * 乘 / 除 // 地板除 % 取余(取模) ** 幂运算
除法:得到的数是浮点数,不会丢掉小数部分
1/3 = 0.333333333333333333333
4/4 = 2.0
// 地板除:除的结果去掉小数部分,向下取整
7/3 得2.333333333333
7 // 3 得2
8 // 3 得2
3.25 // 1.5 得2.0
% 取模 : 10 % 3 得1
3.25 % 1.5 得0.25
** 幂运算:格式 X**y 意思:x的y次方
4 ** 2 #得16
3.0 ** 4.0 #得27
5.6 ** 1.418 #得...
4.Python注释
单行注释: #
多行注释: 三引号(''' ''''或""" """)
如:
"""
注释内容
注释内容
"""
5.运算符
基本运算符:+ - * / % ** //
比较运算符:== != > < >= <=
赋值运算符:= += -= *= /= %= **= //= :=
位运算符:把数字看作二进制来进行计算(对二进制做运算)
& 按位与运算符 | 按位或运算符 ^ 按位异或运算符 ~ 按位取反运算符
<< 左移动运算符 >> 右移动运算符
逻辑运算符 and or not
成员运算符 in not in
身份运算符 is is not
运算符优先级:
运算符的优先级:** (优先级最高) * / // % (优先级一样) + - (优先级一样)
例子: 1 + 3 * 3 ** 2 + 4 // 2 得30
括号分组子表达式:用()可以将表达式分组,()内的表达式先进行计算
运算顺序:() --> ** -->* // / % --> + -
混合类型自动升级:
1 + 2.14 得 3.14
基本输出函数:print
格式:print(要打印的数据) //各数据可以用逗号','分隔开
例子:print("hello")
print(4,5,6) 打印 4 5 6
练习:已经矩形长6cm,宽4cm,学程序切除矩形周长面积。
print("这个矩形的周长是:",6 * 2 + 4 * 2)
print("这个矩形的面积是:",6 * 4 )
6.变量和赋值
变量:variable,用来绑定数据对象的标识符
变量的命令方法:
变量名必须为字母或下划线开头,后跟字母或下划线或数字
不能使用python关键字作为变量名:合法变量名例子 a a1 b _aaa va _Avv a12dsdf
不合法的变量名:1a 123 $ABC +a -b $a @ab #ba
python关键字:True/False/None/is/del/if/elif等(33个关键字)
开头:A-Z a-z _ 后面:A-Z a-z 0-9 _
赋值语句:statement
语法: 变量名 = 表达式 (变量绑定一个数据对象) (或)变量名1 = 变量名2 = 表达式
(或)变量名1 ,变量名2,... = 序列 x,y,z = 100,200,300 -->序列,x=100,y=200,z=300
作用:用于创建变量并将变量绑定(或关联)在一个对象上
说明:当变量不存在时,创建该变量同时绑定在这个对象上
当变量存在时,改变此变量的绑定的对象
一个变量只能绑定一个对象
两个变量可以同时绑定在同一个对象
x = y = z = 10 -->批量赋值
python中关联、绑定、引用的含义:
变量没有类型,关联、绑定、引用都是指变量和一个对象的关联关系
在交互模式下查看变量的绑定关系:
>>>help('__main__') help('__main__'):查看变量的绑定关系,所有变量值
python中的自动化内存管理:
a = 10000
b = 20000
a = a + b 发生什么事?
--> a = 30000 (当变量存在时,改变变量绑定关系)两个变量
序列赋值的语法:
变量名1,变量名2,... = 对象1,对象2,...
变量名1,变量名2,... = (对象1,对象2,...)
变量名1,变量名2,... = [对象1,对象2,...]
例子:变量的交换绑定:
已经a=10000,b=20000。 在不创建新对象的情况下交换ab绑定值。
a = 10000 b = 20000
以下实现交换算法,
tmp = a #先借助第三个变量temp绑定10000
a = b
b = temp
print(a) #20000 print(b) #10000 (此时ab交换赋值,方法1)
序列赋值实现: a,b = b,a 此时ab就交换赋值(方法2)
is / is not运算符:
作用:判断两个变量是否绑定同一个对象,如果是同一个对象返回true,
否则返回false is / is not 返回结果相反
a = 1000 b = 10000 a is b -->false ab不是同一对象,虽值相同但非同一对象
a = b = 10000 a is b --->true -->ab是同一个对象
小整数对象池:
CPython中整数-5至256,永远存在于小整数池中,不会释放并可重复使用
例子:a = 5 b = 5
a is b #true 此时为true (-5-256整数可重复使用)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App