Python语法第三讲
1. ⼏个概念
1.1 表达式
例如:1+2,可以运行,但是没有输出结果
- 表达式,是由数字、算符、数字分组符号(括号)、⾃由变量和约束变量等以能求得数值的有意义排列⽅法所得的组合
- 表达式特点
- 表达式⼀般仅仅⽤于计算⼀些结果,不会对程序产⽣实质性的影响
- 如果在交互模式中输⼊⼀个表达式,解释器会⾃动将表达式的结果输出
1.2 语句:
例如:判断语句,循环语句,比较语句等
- ⼀个语法上⾃成体系的单位,它由⼀个词或句法上有关连的⼀组词构成
- 语句的执⾏⼀般会对程序产⽣⼀定的影响,在交互模式中不⼀定会输出语句的执⾏结果
1.3 程序(program)
一个程序就是相当于一个功能
- 程序就是由⼀条⼀条的语句和⼀条⼀条的表达式构成的。
1.4 函数(function)
- 函数就是⼀种语句,函数专⻔⽤来完成特定的功能
- 函数⻓的形如:xxx()
- 函数的分类:
- 内置函数 : 或者内建函数,就是由语法规定存在的函数,这些函数,包含在编译器的运⾏时库中,程序员不⽐单独书写代码实现它,只需要调⽤既可。例如:input(),print()
- ⾃定义函数 : 由程序员⾃主的创建的函数 当我们需要完成某个功能时,就可以去调⽤内置函数,或者⾃定义函数。 例如 def fun():
- 函数的2个要素
- 参数
- 返回值
2. 标识符
2.1 关键字
- python⼀些具有特殊功能的标识符,这就是所谓的关键字关键字,是python已经使⽤的了,所以不允许开发者⾃⼰定义和关键字相同的名字的标识符
win键 + R --> CMD --> 回⻋,在命令行里面输入:python回车,import keyword回车,再输入keyword.kwlist,就可以看到python保留字
2.2 标识符概念
- 开发⼈员在程序中⾃定义的⼀些符号和名称。标识符是⾃⼰定义的,如变量名、函数名等
- 组成:由26个英⽂字⺟⼤⼩写,数字 0-9, 符号 _
- 标识符的规则:
- 标识符中可以包含字⺟、数字、_,但是不能使⽤数字开头
- 例如:正确的:name1 name_1 _name1 ; 错误的:1name(不⾏)
- Python中不能使⽤关键字和保留字来作为标识符
- 命名⽅式
- 驼峰命名法:
- ⼩驼峰式命名法: 第⼀个单词以⼩写字⺟开始;第⼆个单词的⾸字⺟⼤写,例如:myName、aDog
- ⼤驼峰式命名法: 每⼀个单字的⾸字⺟都采⽤⼤写字⺟,例如:FirstName、LastName
- 下划线命名法
- 不过在程序员中还有⼀种命名法⽐较流⾏,就是⽤下划线“_”来连接所有的单词,⽐如 get_url buffer_size
- 驼峰命名法:
3 基本数据类型
- 数据类型指的就是变量的值的类型,也就是可以为变量赋哪些值
类型 | 表示方法 |
---|---|
文本类型 | str |
数值类型 | int(整数型), float(浮点数), complex(复数) |
序列类型 | list(列表), tuple(元组), range(区间) |
映射类型 | dict(字典) |
集合类型 | set(集合), frozenset (冻结的集合) |
布尔类型 | bool(布尔) |
二进制类型 | bytes(字节), bytearray(新字节数组), memoryview (内存查看对象) |
3.1 整数和⼩数
- 整数 : 所有整数 例如 : a = 1 b = 100 c =999 都是int类型
- ⼩数常量 : 所有⼩数 例如 a = 1.2 b=6.66 ⽤float类型表示
3.2 布尔值和空值
- 布尔: 只有2个值⼀个是True ⼀个是False
- **None常量:**只有⼀个数值就是None 也就是空值
3.3字符串
3.3.1 什么是字符串
- 字符串是由数字、字⺟、下划线组成的⼀串字符
- 注意
- 单引号或双引号不能混合使⽤
- Python中⽤⼀对双引号或者⼀对单引号包裹的内容就是字符串
3.3.2 转义字符
- 转义字符是⼀种特殊的字符常量。转义字符以反斜线""开头,后跟⼀个或⼏个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符
- 总结
\t 表示制表符
\n 表示换⾏符
\\ 表示反斜杠
\' 表示 '
\ '' 表示 ''
\(在行尾时)表示续行符
\e表示换页
3.3.3 ⻓字符串
- ⻓字符串 ⼜叫做⽂档字符串 我们使⽤三重引号来表示⼀个⻓字符串’’’ ‘’'或‘’‘’‘’
- 三重引号可以换⾏,并且会保留字符串中的格式
- Python 长字符串由三个双引号"""或者三个单引号’’'包围,语法格式如下
"""长字符串内容"""
'''长字符串内容'''
长文本注释,运行程序不会报错
3.3.4 格式化字符串
-
第⼀种格式化字符串 拼串
-
第⼆种格式化字符串 参数传递
-
第三种格式化字符串 占位符
- %s 字符串占位
- %f 浮点数占位
- %d 整数占位
-
第四种格式化字符串 f’{变量}’
-
第五种格式化字符串:str.format ()
3.3.5 字符串的其他操作
-
len() 字符串的⻓度
-
max() 最⼤值
-
min() 最⼩值
-
str.split()分割字符串
-
str.join()拼接字符串
-
str.find()查找字符串
-
str.replace() 替换字符串
-
str.partition() 把字符串分割为三部分
-
去空格
- s.strip() 左右两边去空格
- s.lstrip() 去左边空格
- s.rstrip() 去右边空格
-
字符串⼤⼩写
-
s.upper() 全部⼤写
-
s.lower() 全部⼩写
-
s.isupper() 判断是不是⼤写
-
s.islower() 判断是不是⼩写
4 变量
4.1 变量的概念?
- 变量是计算机内存中的⼀块区域,存储规定范围内的值,值 可以改变,通俗的说变量就是给数据起个名字。
- 变量命名规则
- 变量名由字⺟、数字、下划线组成要符合标识符的命名规范
- 数字不能开头
- 不能使⽤关键字
- 注意 : 两个对象相等和两个对象是同⼀个对象是两个概念
4.2 变量的运算
- 变量的运算就是正常的四则运算 ,需要注意的是在运算过程中含有浮点数,那么它返回的就是⼀个浮点数类型
- 变量的除法,即使变量都是整数型(int),结果依然是浮点数型(float)
4.3 变量在内存中的原理
- 原理:变量在内存中就是⼀块特定的存储区域(地址)
4.3.1 引⽤变量
-
两个引⽤指向同⼀个int数据: 结果:地址⼀样
-
两个引⽤指向同⼀个str数据 结果:地址⼀样
-
两个引⽤指向同⼀个list数据 结果:地址不⼀样 因为列表是可变类型
第三讲作业
- a,b = 6, 8 我想让a=8 b=6我该怎么办?⽤2种⽅式实现
- 完成字符串的逆序以及统计
- 设计⼀个程序,要求只能输⼊⻓度低于31的字符串,否则提示⽤户重新输⼊
- 打印出字符串⻓度
- 使⽤切⽚逆序打印出字符串
-