Python学习小甲鱼视频做的笔记(持续更新中)

Python

BIF :Built-in functions(内建函数)

Python与大多数其他计算机语言的做法稍有不同,他并不是把值存储在变量中,而更像是把名字贴在值的上边。

在使用变量之前,必须要先对变量赋值

字符串的表示

表示字符串时,用单引号或者双引号将文本包围起来都可以。

如果字符串中需要出现单引号或双引号怎么办?

两种方法:1.使用转义符号(\)对字符串中的引号进行转义

例如:"let\'s go"; 即可将字符串设置为let's go\

原始字符串

反斜杠有时也会带来问题,当打印 >>>str ='C:\now'时,会将\n识别为换行符

解决办法:可以用反斜杠对自身进行转义: >>>str = 'C:\\now'

但如果对于一个字符串中有很多歌反斜杠,这个方法就显得有些麻烦了。

原始字符串的使用

原始字符串的使用非常简单,只需要在字符串前边加一个英文字母r即可:

例如:>>>str=r'C:\now'

长字符串

如果希望得到一个跨越多行的字符串,我们就需要使用到三重引号字符串:

使用"""或者''',将这个跨越多行的字符串包围,即可。

条件分支

if 条件:

条件为真执行的操作

else:

条件为假(False)执行的操作

Python中不使用大括号,而根据缩进来判断哪些代码段是要在一起执行的。

While循环

Python的while循环语法:

while 条件 :

条件为真时的操作

 

注意:条件书写时,没有括号

and, or操作符

and相当于其他语言中的&&

or相当于其他语言中的||

random模块

random模块里边有一个函数叫做 randint(), 会返回一个随机的整型数

secret = random.randint(1,10)//这句话的意思是生成一个1到10之间的随机数

Python的一些数据类型

整型

布尔类型:True是1,False是0

浮点型

e计法(科学计数法)

类型转换

int():将一个数转换为整型

str():将一个数转换为字符串类型

float():将一个数转换为浮点型

这三个函数分别将括号内的参数转换成int类型、字符串类型和浮点类型

如果是浮点数转换为整数,python会采取截断处理:将小数点后面的数抛弃,而不是采用四舍五入。

获取关于类型的信息

isinstance(),type()函数,获取数据的类型,Python官方文档更建议使用isinstance()

isinstance(a,str)

如果a是str类型,返回True,否则返回False

常用操作符

Python中可以写

a = b = c = d = 1

这个式子将a ,b , c , d 4个变量都赋值为1了。这是其他编程语言不允许的操作

也可以写

a<b<c,Python中的这个算式的意思是a<b and b<c。在其他的编程语言中,这样写不能达到这样的效果。

/ 是真正准确的除法符号,会得到一个准确的值而不是取整

// 是整除符号,得到一个整数

**是幂运算的操作符

3 ** 2的意思是3的2次方,幂运算符的左边是底数,右边是指数

幂操作符比其左侧的一元操作符优先级高,比其右侧的一元操作符优先级低

-3**2 ,结果为-9,先计算了3的2次方,再加了个负号

而 3 **-2,就会得到0.111111111111111,说明了幂操作符比左侧的一元操作符优先级高,比右侧的一元操作符优先级低。

 

 

分支和循环

elif 就是else if 的意思

条件表达式(三元操作符)

x=4

y=5

if x<y:

small = x

else:

small = y

这个例子可以改进为

small = x if x<y else y

assert(断言)

assert这个关键字我们称之为断言,当这个关键字后边的条件为假的时候,程序自动崩溃并抛出AssertionError的异常。例如: assert 3>4 程序就会报错

一般来说我们可以用他在 程序中置入检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert关键字就非常有用了。

while循环

while 条件:

循环体

 

for循环

语法:

for 目标 in 表达式:

循环体

会自动调用迭代器的next方法,就好像是java中的 for-each循环一样

len()函数返回参数的长度

print()函数没有规定参数的个数,不管你在函数中写多少个参数,他都能识别并输出出来

range()

语法:range([start,]stop[,step=1])

这个BIF有三个参数,其中用中括号括起来的两个参数是可选的

step=1表示第三个参数的值默认是1,这个参数表示每一次递增的值是多少

range这个BIF的作用是生成一个从start参数的值开始到stop参数的值结束的数字序列(不包括stop数 )

两个关键的语句break与continue

break:终止循环并跳出循环体

continue:跳过本轮循环的剩下操作,跳到下一轮循环

 

列表(一个打了激素的数组)

序列是Python中最基本的数据结构,序列中的每个元素都分配一个数字-它的位置(索引index)列表的索引从0开始。使用下标的索引可以来访问列表中的值

L=['Google','Runoob','Taobao']

Python 表达式 结果 描述
L[2] 'Taobao' 读取第三个元素
L[-2] 'Runoob' 从右侧开始读取倒数第二个元素: count from the right
L[1:] ['Runoob', 'Taobao'] 输出从第二个元素开始后的所有元素

可以对列表的数据进行修改更新(直接对对应索引的元素直接赋值即可),也可以使用append()方法来添加列表项(以后会讨论)

可以使用del语句来删除列表的元素

list = ['Google', 'Runoob', 1997, 2000]
 
print ("原始列表 : ", list)
del list[2]
print ("删除第三个元素 : ", list)

向列表内添加元素:

append()方法

member.append(‘xiaodingding’)

会将xiaodingding添加到列表的尾部,每次只能有一个参数

extend()方法

member.extend(['竹林小溪','Crazy迷恋'])

extend方法是将一个列表添加到另一个列表的尾部,故他的参数是一个列表

insert()方法

这个方法有两个参数,第一个参数是要插入元素的位置,第二个参数是插入的元素

member.insert(1,'牡丹')

将牡丹插入到第二个索引处

 

从列表中获取元素

可以像数组一样,通过元素的索引值来获取元素值

从列表删除元素

remove(),参数为元素的名称,不需要知道这个元素在列表中的哪个位置

member.remove('怡静'),这样就将怡静从列表当中删除了

 

del

del member[1] 将member列表中的第二个元素进行删除了。

del member ,将member这整个列表删除掉

pop()

pop()方法从列表的尾部弹出一个元素返回,并从列表中删除这个元素

name = member.pop() 会将member列表中的最后一个元素赋值给name,并从列表中删除这个元素。

pop()方法在括号内还可以填上参数,参数为需要弹出的元素的索引值

例如 member.pop(1) 就将列表中的第二个元素弹出来了。

列表分片(Slice)

利用索引值,每次我们可以从列表获取一个元素,如果需要一次性获取多个元素,需要利用列表分片来实现。

member[1:3] 选出从第二个到四个元素的值,组成一个新的列表(左闭右开),新的列表是对原列表中部分元素的拷贝。

member[1:] 选出从第二个元素开始,到列表最后的元素的值

member[:3] 选出从第一个元素开始到第四个元素的值(不包括第四个元素)

member[:] 获得原列表的拷贝,在要复制一个和member一样的列表时,需要用到

member2 = member[:] 就得到了member2,一个内容和member2一样的列表。

如果使用member2=member ,则member2只是获得了member表示的列表的管理权,member2和member的操作会同时对同一个列表进行改变。

member2和member其实是在管理同一片内存,而member1将member列表的数据拷贝过来之后,储存到另外一片新的内存进行管理。

所以在需要进行拷贝的时候,最好使用分片的方式,不然可能会遇到一些意想不到的bug出现。

列表的一些常用操作符

·比较操作符

·逻辑操作符

·连接操作符

·重复操作符

·成员关系操作符

比较操作符

在两个列表进行比较大小时,从第一个元素开始依次比较,若不相同,则得出答案,若相同,则向后依次比较元素的大小。

逻辑操作符

还可以判断两个列表中的元素是否相等,利用== 即可进行判断,返回布尔值,若两个列表中的元素完全相等(包括元素的顺序),则返回True,否则返回False

连接操作符列表可以使用+运算符进行连接,和字符串的连接有相似性,也类似于extend()方法。但+运算符不能实现添加一个新元素的操作,例如 list1+'jiji' 程序会报错

重复操作符

*运算符进行重复操作

list1 * 3,得到一个将list1中的元素重复三遍的列表 list2 = list1*3

也可以使用 list1*=3,将list1重复三遍并又重新赋给list1

成员关系操作符

in 和 not in

123 in list1 如果123在列表list1中存在,返回True,否则返回False

'小鸡鸡' not in list 2

 

list5 = [123,['小鸡鸡',['小鸡']],456]

'小鸡鸡' in list5

返回False,不能直接对列表中嵌套的列表进行元素是否存在的验证

如果写为 '小鸡鸡' in list5[1]

则会返回True

列表类型的内置函数

count():返回参数在列表中出现的次数

list1.count)(123) 看123在list1中出现了多少次

index():返回参数在列表中的位置(索引值)

list1.index(123):会返回第一个123所在位置的索引值

list1.index(123,3,7):第二个参数和第三个参数分别代表从第4个位置开始到第8个位置结束,之间的123出现的索引位置。 3是start位置,7是stop位置。

reverse()方法:将整个列表进行翻转

list1.reverse()

sort()方法:用指定的方法对列表的元素进行排序,默认是从小到大进行排列

sort(func,key,reverse),前两个方法不用管,第三个方法默认值为False:表示从小到大进行排列,如果将其改成True的话,就会进行从大到小的排序了。

list1.sort(reverse=True)

元组:戴上了枷锁的列表

创建和访问一个元组

元组(tuple)和列表是近亲关系,所以元组和列表在实际使用上是非常相似的。创建元组时,一般是使用小括号

元组的访问,拷贝的操作与列表都是一样的

元组的元素是不能够被改变的

逗号在表示是元组中是很重要的,如果要创建一个只有一个元素的元组,要像下面这样创建:

temp =(1,) #这样就创建了一个只有1个元素1 的元组。如果没有加逗号,会认为temp是一个普通的整型变量

只要是创建时为一组以逗号隔开的数据,创建后的类型就为元组,不管有没有加上小括号。

如果要创建一个空元组,则在创建时,将变量声明为小括号()就可以了。

更新和删除一个元组

temp = ('小甲鱼','黑夜','迷途','小布丁') temp = temp[:2]+('怡静',)+temp[2:]

如果要在temp元组中插入一个新的元素'怡静',需要先将元组拆成两部分,使用拼接的方法将2部分和需要插入的元素进行组合起来,重新给temp元组。

注意:对于插入的元素而言,小括号和逗号缺一不可。

如果需要删除一个元素,也可以使用切片的方式,把不进行删除的元素进行拼接,然后重新赋值给temp,这样的话,没在片中的元素就相当于被删除了。

如果要删除整个元组,可以使用del的语句进行删除

元组相关的操作符

+: 连接操作符,+两边都必须是元组

*:重复操作符

in not in :成员操作符

< > = :关系操作符

and or :逻辑操作符

字符串及其内置方法

下表中带有中括号的字段代表这一项是可选的

capitalize() 把字符串的第一个字符改为大写
casefold() 把整个字符串的所有字符改为小写
center(width) 将字符串居中,并使用空格填充至长度 width 的新字符串
count(sub[, start[, end]]) 返回 sub 在字符串里边出现的次数,start 和 end 参数表示范围,可选。
encode(encoding='utf-8', errors='strict') 以 encoding 指定的编码格式对字符串进行编码。
endswith(sub[, start[, end]]) 检查字符串是否以 sub 子字符串结束,如果是返回 True,否则返回 False。start 和 end 参数表示范围,可选。
expandtabs([tabsize=8]) 把字符串中的 tab 符号(\t)转换为空格,如不指定参数,默认的空格数是 tabsize=8。
find(sub[, start[, end]]) 检测 sub 是否包含在字符串中,如果有则返回索引值,否则返回 -1,start 和 end 参数表示范围,可选。
index(sub[, start[, end]]) 跟 find 方法一样,不过如果 sub 不在 string 中会产生一个异常。
isalnum() 如果字符串至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False。
isalpha() 如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False。
isdecimal() 如果字符串只包含十进制数字则返回 True,否则返回 False。
isdigit() 如果字符串只包含数字则返回 True,否则返回 False。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值