==判断字符串或者序列里面的值是否相等,is判断对象的地址是否相等
1,条件判断if语句,是可能有一条语句可以执行或者都不执行
2,while循环,不断重复的语句一定要写在循环语句块内
3,如果语句进入了死循环,可以用ctrl+c来停止
4, for i in range(5)其中5是生成从0开始序列的个数,也是循环几次
5,python有自己的内置函数,print() len() 可以直接调用使用,也有一些标准库,需要引入才能使用
上面的图片说明有误,random.randint(1,10)
随机生成整数,包括1和10。
random.randint(1, 10)
与 random.randint(10, 1)
不同。函数调用 random.randint(1, 10)
将返回 1 到 10 之间的
一个随机整数,因为第一个参数是范围的下界,第二个参数是范围的上界(而random.randint(10, 1)
会导致错误)
6,None是NoneType唯一的值,首字母必须大写,对于所有没有 return 语句的函数定义,Python 都会在末尾加上 return
None。如果使用不带值的 return 语句,那么就返回 None。
8,定义在函数内的变量,为局部变量,其他的为全局变量。
1.如果变量在全局作用域中使用(即在所有函数之外),它就总是全局变量。
2.如果在一个函数中,有针对该变量的 global 语句,它就是全局变量。
3.否则,如果该变量用于函数中的赋值语句,它就是局部变量。
4.但是,如果该变量没有用在赋值语句中,它就是全局变量。
9,异常处理;当我们运行程序时,可能会发生错误,python会报错,后面的程序不会再执行,我们希望python能报错并进行处理,并且继续执行后面的程序,这就需要异常处理了
10,下面是列表切片的用法,
列表的操作,和字符串是一致的
删除列表中的元素的方法
列表使用的例子,给自己的很多猫命名,可以使用列表来
判断一个元素是否在列表中存在,用in 或者 not in
对列表的操作(增删改查)
①查找某个值是否在列表中,在的话就返回下标,不在就报错,如果某个值在列表中有多个,只返回第一个值的下标,使用index()方法
②给列表添加元素,有两种方法,一种是append(元素值),在列表后面依次添加元素。另一种是插入元素
insert(新元素的下标,新元素),而列表中原来的元素会随之后移。(append()和insert()这两个方法是列表独有的方法)
③删除列表中的元素有两种,一种是del,是根据下标来删除 del arr[2] ,而remove是根据元素名来删除,如果元素在列表里出现多次,只会删除第一次出现的值
④sort()函数,来排序列表,只能对元素是数值或者字符串的排序,列表里既有字符串又有数字的不能排序,字符串列表排序按照ascii码来排的
列表和字典的不同,
列表有顺序,字典没有顺序,比较两个列表是否相同,值相等,顺序也要一致,字典就不用这样
因为字典是不排序的,所以不能像列表那样切片。
values() 返回的字典的值的假列表,如果想得到真列表,可以用list()转化, keys()返回的是字典的键的假列表,一样用list()可以转为真列表,.items() 可以获得键值对的列表,每一个元素都是一个键值对的元组
当我们想取得字典里的值时,先要判断字典中是否有这个键,然后才能根据键来取值,否则根据一个键直接取值,如果键不存在就会报错,python为字典提供了get()方法,他有两个参数,第一个是键,第二个是如果字典里面没有这个键时,会提供这个默认的值
python也提供了一种方法,检查字典中有没有这个键,有就返回值,没有就把这个键对应的值设置入字典
字符串的操作
1,upper()
和 lower()
字符串方法返回一个新字符串,其中原字符串的所有字母都被相应地转换为大写或小写。字符串中非字母字符保持不变。
2,isupper()
和islower()
判断字符串中所有的字母是否都是大写或者都是小写,返回bool值
3,isalnum()
返回 True,如果字符串只包含字母和数字,并且非空; isdecimal()
返回 True,如果字符串只包含数字字符,并且非空;
4,join()和 split() ,都是字符串调用他们,join() 传入的是列表参数,返回的是字符串,分隔符是调用它的那个字符串,split()正好相反,返回的是列表,是以调用他的那个字符串作为分割
5,strip()
去掉字符串中所有空格、rstrip()
去掉字符串中尾部的空格和 lstrip()
去掉字符串中头部的空格
正则表达式
^符号用在[]中括号内部,表示取反,而不用再中括号里面,表示从开头取值
^和 连 用 , 匹 配 的 是 整 个 字 符 串 , 只 匹 配 字 符 串 的 某 个 子 集 是 没 有 用 的 ; 如 果 使 用 了 和 连用,匹配的是整个字符串,只匹配字符串的某个子集是没有用的;如果使用了^和 连用,匹配的是整个字符串,只匹配字符串的某个子集是没有用的;如果使用了和,那么整个字符串必须匹配该正则表达式
文件操作(需要引入os)
1,在window下面,文件目录分割符用的是反斜杠,所以’c:\my\dfd\fdj\conut’ ,既然分隔符是反斜杠,为什么加两个反斜杠呢?因为 反斜杠还有转义字符的意思,所以加两个是转为真正的反斜杠
os.path.join('C:\\Users\\asweigart', filename)
是拼接字符串,返回一个完整的路径字符串
1.2,os.getcwd()
获得当前文件的路径, os.chdir('C:\\Windows\\System32')
更改当前文件的路径为
操作文件和路径的方法
1, os.makedirs('C:\\delicious\\walnut\\waffles')
创建文件夹和路径,字符串里面的文件夹,没有的话就全部创建
2,os.path.join()
用来拼接路径字符串
3,os.path.abspath(path)
将传入的路径转为绝对路径(返回绝对路径字符串);os.path.isabs(path)
判断给的路径是否是绝对路径,如果是返回True,不是返回False。os.path.relpath(路径1, 路径2)
返回从路径2到路径1的相对路径字符串。(也就是从路径2的位置,找到路径1里面的文件)
4,os.path.dirname(path)
返回文件路径字符串,os.path.basename(path)
返回文件名字符串
5,os.path.getsize(path)
查看文件的字节数,os.listdir(path)
查看文件夹下面所有的文件名,返回文件名组成的列表
6, os.path.split(文件路径),返回一个文件路径和文件分离的字符串元组
os.path.splitext(文件路径)
,返回一个文件路径和文件扩展名的字符串元组,(这个可以拿到点 .扩展名)
7,os.path.exists(文件路径)
如何这个文件或者文件夹存在,返回True 否则返回False
os.path.isfile(文件路径)
如果这是一个文件,并且存在,返会true
os.path.isdir(path)
如果文件是一个文件夹,并且存在,返回True
操作文件
1,打开文件,file=open('/Users/asweigart/hello.txt', 'r')
打开文件,并读取返回一个文件对象,如果要读,可以调用.read()函数,如果要写可以调用.write()函数,或者调用readlines()方法,返回一个列表,列表的每一个元素都是文件的一行内容
2,如果传递给 open()的文件名不存在,写模式 r 和添加模式 a 都会创建一个新的空文件。在读取或写入文件后,调用 close()方法,然后才能再次打开该文件。
对文件的移动 复制 删除等操作(需要借助shutil模块里面的函数,所以需要引入这个模块)
1,复制文件到新的目录里面 shutil.copy(source, destination) 第一个参数是原目录文件,第二个参数是新的文件夹目录(目的地),
2,上面的copy()只是把一个文件移动到新的路径文件夹内,而shutil.copytree(source, destination)
是将这个文件夹内所有的文件和文件夹(及文件夹下面的所有子文件(包括文件夹文件))复制到新的文件夹内
3,移动(移动和复制不一样,复制是保留原来的文件,移动是把文件搬移到其他目录,删除原来的路径里的文件)
shutil.move(source, destination)
就是移动文件,如果第二个参数是一个文件夹,就是把第一个参数文件移动到第二个文件夹内(并且第二个参数文件夹里面有文件,这些文件就会被覆盖掉,要小心)。如果第二个参数也是文件,就是把第一个文件移动到第二个文件所在的文件夹内,并改名为第二个参数的文件名,删除原来的文件。
4,删除文件和文件夹
os.unlink(path)
删除文件 os.rmdir(path)
只能删除空的文件夹 shutil.rmtree(path)
删除文件夹及其下面的所有文件
Python 内建的 shutil.rmtree()
函数不可恢复地删除文件和文件夹。使用第三方的 send2trash
模块,它会将文件夹和
文件发送到计算机的垃圾箱或回收站,而不是永久删除它们。
遍历一个文件夹下面的所有的文件夹和文件
folderName是每一个文件夹,代指当前需要遍历的文件夹
subolders是上面folderName文件夹下面的所有子文件夹组成的列表
filenames是上面folderName文件夹下面所有子文件组成的列表