变量与字符串
- 变量的定义与赋值
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的函数,功能是在桌面上创建一个文件,在其中输入文字,但如果信息中包含敏感词的话就会被默认过滤后写入文件。

-
一些数学上的操作符

循环与判断
-
布尔表达式

-
比较运算
python的比较运算符跟C语言基本一致
一些复杂的运算


-
成员运算符与身份运算符 (Membership&Identify Operators)
列表

成员运算符和身份运算符的关键词是 in
和is
。

布尔值

python的布尔运算符是直接用英文的and ,or,not 逻辑内涵还是基本的与或非不变。

-
条件控制
python中的if else 跟C语言一个用法

用布尔变量优化条件表达式

多条件判断跟C语言写法略有不同,主要是中间的部分用的是elif, 用法上没区别

-
循环
for循环


for循环与if结合的例子

嵌套循环

while循环


注意:这里的while可以理解为是if循环版,可以使用while-else结构。
-
练习题
练习一:



练习二:


练习三:
打印一到一百内的偶数

综合练习:


数据结构
存储大量数据的容器,在python中称之为内置数据结构(Built-in Data
Structure)。
我们日常使用的网站,移动应用,甚至是手机短信都依赖于数据结构来进行存储,其中的数据以一种特定的形式存储在数据结构中,在用户需要时被拿出来展现。
python中有四种数据结构,分别是:列表、字典、元组、集合。

-
列表
列表有点像C语言里的数组,只不过,它里面可以放所有python类型,不需要都是同一种类型,这点和数组不同


在列表中插入元素

删除列表中的元素



列表元素的替换

列表的索引

-
字典


添加字典元素

删除字典元素

查找字典元素

-
元组

-
集合

因为集合是无序的,所以逻辑上当然是不可以索引的。
-
数据结构的一些技巧

关于zip函数


注意:
在python 3.0中zip()是可迭代对象,使用时必须将其包含在一个list中,方便一次性显示出所有结果
list(zip(a,b))
[(1, 4), (2, 5), (3, 6)]
zip()参数可以接受任何类型的序列,同时也可以有两个以上的参数;当传入参数的长度不同时,zip能自动以最短序列长度为准进行截取,获得元组。
推导式


推导式,其实就是在一定范围/条件 内 按照一定格式来生成新的数据结构

**遍历列表时获取元素的索引


-
综合项目




解决问题后的最终版本


类
-
定义一个类

-
类的实例化

-
类属性的引用

-
实例属性

-
实例方法



-
初始化方法



-
类的继承



-
类属性和实例属性



-
内建类

网友评论