2023(春)Python程序设计作业1: 基础语法之控制流程

池玖鱼 2023-春-学生 2023-03-19 20:35:33

一、完成技能树基础语法部分练习,如下:

二、发表博客,内容为基础语法部分的学习笔记。

一、PyThon数据:常量与变量
1. 常量
PyThon共有4个基本数据类型:整型(int),浮点型(float),字符串(str),布尔型(bool),均以对象的形式存在。

1.1 整型
默认无小数点的数据为整型(int),如var = 123,123被默认为整型常量。

1.2 浮点型
默认有小数点的数据为浮点型(float),如var = 123.或123.0,123.被默认为浮点型常量。

1.3 字符串
PyThon字符串可以被单引号、双引号或三引号包裹,如'abc'、"abc"、'''abc'''
单引号或双引号只能包裹单行字符串,而三引号可以包裹多行字符串。

1.4 布尔型
只有真值(True)和假值(Flase),注意PyThon区分字母大小写,首字母均大写。

2. 变量
跟其他高级语言不一样,PyThon是一种动态语言,变量无需定义,直接赋值,可理解为是赋值对象的标签或引用(即不是赋值对象本身)。动态是指:变量的类型可变,取决于赋值对象的类型。

2.1 查看变量类型:type(变量名)

在这里插入图片描述

2.2 强制类型转换:类型名 (变量名)

如:int (var)
bool(var):非0数字或非空串返回True,否则返回False

三、PyThon数据结构

1. 字符串str

1.1 创建字符串

str_var = 'xiaoMing' 或 “xiaoMing" 单引号或双引号包裹单行字符串

1.2 类型转换为字符串型
整型int转换为str:str(123)
浮点型float转换为str:str(123.0)
布尔型bool转换为str:str(True)或str(False)

1.3 转义字符\的应用
转变原本字符的含义:
\n:换行
\t:制表
':单引号
\:反斜杠

1.4 字符串的数学运算
1.4.1 字符串拼接
'xiao' + 'Ming' 不会修改’xiao’本身
'xiao' += 'Ming' 会修改 'xiao’本身

1.4.2 字符串复制
'ab' * 3 返回 字符串 ‘ababab’

1.5 字符串切片操作:提取子串
english = 'abcdefg',注意以下切片操作均不会改变english本身。

1.5.1 整数索引:切单个字符
english[0] = 'a' 第一个元素索引为0
english[-1] = 'g' 最后一个元素索引为-1

1.5.2 切片索引:用冒号分割,前闭后开
english[0: 2]或english[: 2] = 'ab' 从前切
english[-3: ] = 'efg' 从倒数第3个开始一直切到最后
english[-3: -1] = 'ef' 前闭后开
english[: ] = 'abcdefg' 切整个字符串
english[0: 4: 2] = 'ac' 加步长2
english[ : : -1] = 'gfedcba' 或 glish[ : : -2] = 'geca'
负步长从后往前切,只支持整体切片

1.6 字符串函数或方法
english = 'abcdefg',注意以下函数或方法不会改变english本身,只会返回一个新串对象。

1.6.1 求长度函数
len(english) = 7

1.6.2 分割方法
字符串.split() 默认以空格为分隔符,返回一个子串列表。
字符串.split('a')以字母a为分隔符,返回一个子串列表。
以此类推。

1.6.3 去空白符方法
字符串.strip() 默认去掉字符串前后所有空白符 (包括空格、\n、\t、\r、\f)。
字符串.strip('.') 去掉字符串前后所有的小数点。
字符串.strip('a') 去掉字符串前后所有的字母a。
以此类推。

1.6.4 大小写转换方法
字符串.upper() 转大写
``字符串.lower() 转小写

1.6.5 首字母大写方法
字符串.capitalize()

1.6.6 右对齐方法
字符串.rjust(n) 不足n位填充空格

1.6.7 居中方法
字符串.center(n)

1.6.8 替换方法
字符串.replace(被替换子串,替换串)
如:english.replace('cd', 'qq') = 'abqqefg' 查找english中所有的’cd’并替换为 ‘qq’。

1.6.9 子串计数方法
字符串.count(子串) 计算子串的数量

1.6.10 是否以指定子串开头或结尾方法
字符串.startswith(子串) 返回True或False
字符串.endswith(子串) 返回True或False

1.6.11 查找子串方法
字符串.find(子串) 返回子串第一次出现的位置索引(从左数)
字符串.rfind(子串) 返回子串第一次出现的位置索引 (从右数)

1.6.12 连接方法
','.join(子串列表) 用逗号将子串连接成一个新的字符串
字符串.join(子串列表) 用指定字符串将子串连接成一个新的字符串

2. 列表list
重要特性:可以包含不同类型的元素,但元素有序,用[ , ]表示。

2.1 创建列表
方法1:直接创建,[123, 123.4, 'abc', True]。[]代表空列表。
方法2:list()函数将其他数据结构对象(如字符串、元组、集合等)、迭代器、生成器转换为列表
如:list(range(5)) 返回[0, 1, 2, 3, 4]

2.2 列表嵌套
列表元素也可以是列表,提取子列表元素使用双重索引。

2.3 列表切片操作
类似于字符串的切片操作,分为整数索引切片和切片索引切片两种,不同之处在于,无论是整数索引还是切片索引,字符串切片返回的均是子串,类型为str。而列表整数索引返回指定元素,切片索引返回子列表。

2.4 列表修改
可使用切片索引同时对多个元素修改
如a[ : 2] = [100, 200]

2.5 列表合并
方法1:a + b,返回新列表,但a和b不变
方法2:a.extend(b) 将b的元素添加至a的末尾,a变b不变

2.6 列表添加元素
方法1:a.append(新元素) 将新元素添加至末尾,返回None
方法2:a.insert(index, 新元素) 将新元素添加至指定位置

2.7 列表删除元素
方法1:a.pop() 默认删除最后一个元素并将其返回
方法2:a.pop(index) 删除指定位置元素并将其返回
方法3:del a[index] 删除指定位置元素但不作返回
方法4:a.remove(元素值) 删除指定元素值,返回None

2.8 判断指定值是否在列表中
元素值 in a 返回True或False

2.9 列表元素定位
a.index(元素值) 类似字符串的find()方法

2.10 统计指定元素的个数
a.count(元素值)

2.11 列表排序
a.sort()

2.12 列表求长度
len(a)

3. 字典dict
重要特性:无序,用{key1:value1, ...}表示,每一个元素的键key互不相同。

3.1 创建字典
方法1:直接创建,{k1: v1, k2: v2, ...},{}代表空字典。
方法2:dict()将其他类型的数据结构、迭代器、生成器转换为字典。

3.2 字典取值
因为字典无序,所以没有切片操作。
方法1:a[key]做右值时,代表对应的value,取值。如果不存在,会报KeyError异常。
方法2:a.get(key),如果不存在,默认返回None
方法3:a.get(key, return_default),如果不存在,返回指定return_default。

3.3 字典修改(一定条件下添加)
a[key] = value,如果存在key,则修改其值,如果不存在,则添加一个键值对。

3.4 字典合并
a.update(b) 将字典b中的键值对添加至字典a中,a变b不变。

3.5 字典删除
del a[key] 删除指定键值对

3.6 清空字典
a.clear() 清空字典a中元素,使a变为空字典{}

3.7 判断指定键是否在字典中
key in a 返回True或False

3.8 字典方法
a.keys()、a.values()、a.items()分别返回键、值和键值对元组组成的列表迭代器 (即封装起来的列表)


4. 元组tuple
重要特性:元组一旦指定便不可改变(元素的值和顺序均不可改变),因此元组对象可以作为字典或集合的key,而列表对象不能;元素类型可以不同;有序 (可以进行切片操作)。

4.1 创建元组
方法1:直接创建:注意PyThon解释器通过逗号,判断是否是一个元组,而不是小括号()
多元素:(123, 123.4, 'abc')或123, 123.4, 'abc'
单元素:(123,)或123,
空元组:()
方法2:tuple()将其他类型数据结构、迭代器、生成器转换为元组。

4.2 元组解包赋值
a = (1, 2, 3)
b, c, d = a
相当于元组a赋值给由b、c、d组成的元组,b = 1, c = 2, d = 3。

4.3 解包数据交换
a, b = b, a 等价于a与b交换数据。

5. 集合set
重要特性:元素值唯一;无序;用{key1, key2, ...}表示。

5.1 创建集合
方法1:直接创建,{key1, key2, ...}。
方法2:set()将其他类型数据结构、迭代器、生成器转换为集合。
注意:{}表示空字典,而不是空集合。只能使用set()创建或表示。


5.2 集合运算
5.2.1 交集 &
set1 & set2

5.2.2 并集 |
set1 | set2

5.2.3 差集 -
set1 - set2

5.3 添加元素
方法1:set1.update(新元素)
方法2:set1.update(set2) 等价于并集运算,但会改变set1。

5.4 判断元素是否在集合中
key in set1 返回True或False。

 

 

 

...全文
43 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

163

社区成员

发帖
与我相关
我的任务
社区描述
软件工程老师
python 高校 江苏省·南通市
社区管理员
  • juking@ntu
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧