变量与字符串
- 变量的定义与赋值
answer = 42
-
file = open(' Users/yourname/Desktop/file','w') file.write('hello world!')
-
上面代码的意思是:在桌面上打开一个文件(路径得看个人具体情况),
w
的意思是,如果有则在文件里写入hello world
,如果没有则创建一个文件。 -
Mac可以通过把一个文件拖入到终端里来看文件路径。
-
字符串用单引号跟双引号括起来都可以,特别注意:三个单引号是可以跨行的超长字符串
-
不同数据类型不可以直接合并,合并不同数据类型,需要使用数据类型转换
e.g
合并不同数据类型 运行结果-
需要使用中文注释的时候,记得在开始处加
#utf-8
-
字符串相乘,其实就是几个字符串相加合并
-
一个更复杂的例子
-
字符串的分片与索引
字符串可以通过string[x]的方式进行索引、分片,也就是加一个[]。字符串的分片实际上是可以看作是从字符串中找出来你要截取的东西,复制出来一小段你要的长度,存储在另一个地方,而不会对字符串这个源文件改动。分片获得的每个字符串可以看作是原字符串的一个副本
e.g.
切片例子 一个项目例子-
字符串的方法
-
字符串格式化符
函数
-
python的内建函数
Python官网中各个函数的介绍: https://docs.Python.org/3/library/functions.html
-
创建函数
def function (arg1, arg2): return 'Something'
注意语句块要缩进!不要漏掉冒号!
-
函数调用
-
两个小练习
练习一:设计一个重量转换器,输入以“g”为单位的数字后返回换算成“kg”的结果
重量转换器当输入为1000时,
运行结果
练习二:设计一个求直角三角形斜边长的函数 (两条直角边为参数,求最长边)
求直角边-
传递参数与参数类型
参数有两种类型: 位置参数 (position argument)
关键词参数 (keyword argument)
求梯形面积
位置参数 关键词参数混合方式传入参数
混合传入
-
默认参数
-
设计自己的函数
设计一个函数,需求是:传入参数name与msg就可以控制在桌面写入的文件名称和内容的函数text_create,并且如果当桌面上没有这个可以写入的文件时,那么就创建一个之后再写入。(敏感词过滤器的第一部分)
可以自定义文件名跟内容的函数敏感词过滤函数:定义一个函数text_filter,传入参数 word, censored_word和changed_word实现过滤,敏感词censored_word默认为lame,替换词changed_word默认为Awesome。
敏感词过滤把两个函数合并:创建一个名为text_censorded_create的函数,功能是在桌面上创建一个文件,在其中输入文字,但如果信息中包含敏感词的话就会被默认过滤后写入文件。
text_censorded函数-
一些数学上的操作符
循环与判断
-
布尔表达式
-
比较运算
python的比较运算符跟C语言基本一致
一些复杂的运算
复杂的比较运算 需要注意的小问题
-
成员运算符与身份运算符 (Membership&Identify Operators)
列表
列表成员运算符和身份运算符的关键词是 in
和is
。
布尔值
布尔值python的布尔运算符是直接用英文的and ,or,not 逻辑内涵还是基本的与或非不变。
布尔运算符-
条件控制
python中的if else 跟C语言一个用法
if else用布尔变量优化条件表达式
用布尔变量优化条件表达式多条件判断跟C语言写法略有不同,主要是中间的部分用的是elif, 用法上没区别
加重置密码功能的登陆-
循环
for循环
for循环语法 一个for循环例子for循环与if结合的例子
for与if嵌套循环
九九乘法表while循环
while循环 一个更复杂的例子注意:这里的while可以理解为是if循环版,可以使用while-else结构。
-
练习题
练习一:
练习一 解法一 解法二
练习二:
练习二 复利练习三:
打印一到一百内的偶数
综合练习:
综合练习 猜大小游戏数据结构
存储大量数据的容器,在python中称之为内置数据结构(Built-in Data
Structure)。
我们日常使用的网站,移动应用,甚至是手机短信都依赖于数据结构来进行存储,其中的数据以一种特定的形式存储在数据结构中,在用户需要时被拿出来展现。
python中有四种数据结构,分别是:列表、字典、元组、集合。
四种数据结构-
列表
列表有点像C语言里的数组,只不过,它里面可以放所有python类型,不需要都是同一种类型,这点和数组不同
在列表中插入元素
插入删除列表中的元素
删除 下标方式删除 用del关键字删除列表元素的替换
替换列表的索引
索引-
字典
添加字典元素
添加删除字典元素
删除查找字典元素
查找-
元组
-
集合
因为集合是无序的,所以逻辑上当然是不可以索引的。
-
数据结构的一些技巧
关于zip函数
用zip进行两个列表中元素的操作 用zip生成元组对列表注意:
在python 3.0中zip()是可迭代对象,使用时必须将其包含在一个list中,方便一次性显示出所有结果
list(zip(a,b))
[(1, 4), (2, 5), (3, 6)]
zip()参数可以接受任何类型的序列,同时也可以有两个以上的参数;当传入参数的长度不同时,zip能自动以最短序列长度为准进行截取,获得元组。
推导式
推导式 推导式格式推导式,其实就是在一定范围/条件 内 按照一定格式来生成新的数据结构
更复杂的例子**遍历列表时获取元素的索引
如何获取列表索引?enumerate函数获取列表索引
-
综合项目
解决问题后的最终版本
词频统计 代码讲解类
-
定义一个类
-
类的实例化
-
类属性的引用
-
实例属性
-
实例方法
-
初始化方法
-
类的继承
-
类属性和实例属性
-
内建类
网友评论