第二周——python入门学习

目录

7.4 Day1——b站学习+动手实践

7.5 Day2——b站学习+动手实践

7.6 Day3——b站学习+动手实践

7.7 Day4——看教材+动手实践

7.8 Day5——看教材+动手实践

7.9 Day6——看教材+动手实践

7.10 小结1


学习资料:Python课程天花板,Python入门+Python爬虫+Python数据分析5天项目实操/Python基础.Python教程_哔哩哔哩_bilibili

《Python编程 从入门到实践》(第二版)

7.4 Day1——b站学习+动手实践

学习时间:9:00——11:30    14:30——18:00     19:00——21:00

学习内容:

1.认识python

1.1python的诞生和发展

1.2python的应用 

 2.安装python及pycharm

3.python基本语法

3.1注释

单行注释 :以#开头,#右边的所有东西当做说明,而不是真正要执行的程序,起辅助说明作用

多行注释 :以三个单引号’’‘开头,三个单引号’’'结尾,注释内容放在中间

 第二周——python入门学习_第1张图片

3.2变量及类型

变量可以是任意的数据类型,在程序中用一个变量名表示

变量名必须是大小写英文、数字、下划线组成,且不能以数字开头

 3.3格式化输出

第二周——python入门学习_第2张图片

3.4输入

input()的小括号中放入的是,提示信息,用来在获取数据之前给用户的一个简单提示

input()在从键盘获取了数据以后,会存放到等号左边的变量中

3.5判断变量名类型

type()函数中的小括号中放入变量名,返回变量名的类型

第二周——python入门学习_第3张图片

3.6运算符

第二周——python入门学习_第4张图片

第二周——python入门学习_第5张图片

第二周——python入门学习_第6张图片

 第二周——python入门学习_第7张图片

第二周——python入门学习_第8张图片

第二周——python入门学习_第9张图片

第二周——python入门学习_第10张图片

第二周——python入门学习_第11张图片 3.7流程控制语句

3.7.1条件判断语句

第二周——python入门学习_第12张图片

3.7.2循环语句

第二周——python入门学习_第13张图片

第二周——python入门学习_第14张图片

3.8break、continue及pass语句 

 第二周——python入门学习_第15张图片

 第二周——python入门学习_第16张图片

第二周——python入门学习_第17张图片

3.9python的核心数据类型

3.9.1字符串

第二周——python入门学习_第18张图片


7.5 Day2——b站学习+动手实践

学习时间:9:00——12:00    14:30——18:00

单引号与双引号的区别

第二周——python入门学习_第19张图片

3.9.2列表

  • 列表是写在方括号[]之间,元素之间用逗号分隔开
  • 列表索引值以0为开始值,-1为从末尾的开始位置
  • 列表中元素的类型可以不相同,它支持数字、字符串甚至可以包含列表(所谓的嵌套)
  • 列表可以使用+操作符进行拼接,使用*表示重复

第二周——python入门学习_第20张图片

 3.9.3元组

  • 定义一个只有一个元素的tuple,必须加逗号
  • 定义好的元组的元素不可修改,但可以包含对象,如list
  • 删除时,是删除整个元组,不是元组中的元素

第二周——python入门学习_第21张图片

3.9.4字典

字典是无序的对象集合,使用键值对(key-value)存储,具有极快的查找速度 

  • 字典和列表一样,也能都存储多个数据
  • 字典的每个元素由2部分组成,键:值。例如 ‘name’:‘班长’ ,'name’为键,'班长’为值
  • 同一个字典中,键(key)必须是唯一的
  • 键(key)必须使用不可变类型

第二周——python入门学习_第22张图片

补充:

 3.9.5集合

  • 一组key的集合,但不存储value
  • key不可以重复
  • set是无序的,重复的元素会被自动过滤

3.10函数

3.10.1概念

由若干语句组成的语句块、函数名称、参数列表构成,具有独立功能的代码块称为函数

3.10.2作用

在结构化编程中,函数是对代码的最基本的封装,一般都是按照功能来封装,封装是为了可以开发程序可以重复使用,减少相同功能代码的冗余,提高编写代码的效率,代码更加简洁,可读读强。

 3.10.3格式

def 函数名(参数可有可无):

     代码块

3.10.4调用

定义了函数之后,就相当于有了一个具有某些功能的代码,想要让这些代码能够执行,需要调用它,调用函数很简单的,通过 函数名() 即可完成调用

 3.10.5返回值

解决了如何将值传入函数中,但如何获得函数计算出来的结果呢,想要在函数把结果返回给调用者,需要在函数中使用return

第二周——python入门学习_第23张图片

第二周——python入门学习_第24张图片 3.10.6局部变量

  • 局部变量,就是在函数内部定义的变量
  • 不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生影响
  • 局部变量的作用,为了临时保存数据需要在函数中定义变量来进行存储,这就是它的作用

 3.10.7全局变量

如果一个变量,既能在一个函数中使用,也能在其他的函数中使用,这样的变量就是 全局变量

  • 在函数外边定义的变量叫做 全局变量
  • 全局变量能够在所有的函数中进行访问如果在函数中修改全局变量,那么就需要使用 global 进行声明,否则出错
  • 如果全局变量的名字和局部变量的名字相同,那么使用的是局部变量的,小技巧**就近原则**

第二周——python入门学习_第25张图片

第二周——python入门学习_第26张图片


7.6 Day3——b站学习+动手实践

学习时间:9:00——11:30     14:40——18:00

3.11文件操作

3.11.1打开文件

在Python,使用open()函数,可以打开一个已经存在的文件或者创建一个新文件

语法格式:open(文件名,访问模式)

什么是访问模式,其实就是对文件的权限,是否可读,是否可写

3.11.2关闭文件

在Python,使用close()函数,可以关闭一个已经打开的文件

第二周——python入门学习_第27张图片

3.11.3写文件

在python中,使用write()可以完成向文件写入数据

注意:如果文件不存在那么创建,如果存在那么就先清空,然后写入数据

3.11.4读文件

在python中,使用read(number)函数以完成从文件中读取数据number表示要从文件中读取的数据的长度(单位是字节),如果没有传入number,那么就表示读取文件中所有的数据 

注意

1.如果open是打开一个文件,那么可以不用写打开的模式,即只写 open(‘test.txt’),默认是只读

2.如果使用读了多次,那么后面读取的数据是从上次读完后的位置开始的

第二周——python入门学习_第28张图片

3.11.5重命名文件

os模块中的rename()可以完成对文件的重命名操作

rename(需要修改的文件名, 新的文件名)

 

3.11.6异常处理

当Python检测到一个错误时,解释器就无法继续执行了,反而出现了一些错误的提示,这就是所谓的"异常",;例如当打开一个不存在的文件时一定会报错,这就是IOError类型的异常

这时,就需要进行异常捕获,其目的是为了检测可能异常的代码块,防止因局部代码异常而使得整个代码报错无法运行

try…except…语句

第二周——python入门学习_第29张图片

  • 把可能出现的异常的代码放在try中,把会出现异常结果写在except中
  • except可以捕获多个异常,用括号括起来,逗号隔开 ,示例如下

第二周——python入门学习_第30张图片

try…except…finally…语句 

 在程序中,如果一个段代码必须要执行,即无论异常是否产生都要执行,那么此时就需要使用finally。 比如文件关闭,释放锁,把数据库连接返还给连接池等

第二周——python入门学习_第31张图片


7.7 Day4——看教材+动手实践

今天正好b站视频刷完,买的教材到了,所以开始细抠概念、复习总结

学习时间:9:00——11:30                    15:00——17:30

1.变量

1.1 在程序中可以随时修改变量的值,而python将始终记录变量的最新值

1.2 变量名只能包含字母、数字和下划线,只能以字母或下划线开头,不能包含空格(用下划线代替间隔),不能将关键字和函数名作为变量名,慎用小写字母l和大写字母O,变量名应既简短又具有描述性·

1.3 变量是可以赋给值的标签,描述为储存值的盒子不准确(至于为什么,初学者的我还搞不太清楚)

2.字符串

2.1 字符串就是一系列字符,在python中用引号括起来的都是字符串,引号可以是单、双、三引号

2.2 title()方法可以将每个单词的首字母都改为大写、upper()方法将字符串全部改为大写、lower()方法将字符串全部改为小写

2.3 f字符串(在字符串中使用变量)

xing = "fan"
ming = "chenyang"
name = f"{xing} {ming}"
print(name)

将定义过的变量名放在花括号内,f放在引号外

xing = "fan"
ming = "chenyang"
name = f"{xing} {ming}"
print(f"hello,{name.title()}!")

2.4空白

空白泛指任何非打印字符,入空格、制表符(\t)和换行符(\n),目的是为了让读者阅读起来更容易

空白很重要,因为经常需要比较两个字符串是否相同

rstrip()方法可以删除字符串末尾的空格

favorite_language="python "
print(favorite_language)
print(len(favorite_language))
print(favorite_language.rstrip())
print(len(favorite_language.rstrip()))

这种删除仅是暂时删除,如果想要永久删除,必须对删除结果关联到变量,删除开头或同时删除两边的空白可以分别使用lstrip()、strip()

2.5数

加(+)减(-)乘(*)除(/)乘方(**)可以用()修改运算顺序

任意两个数相除时,结果总是浮点数,即便这两个数都是整数且能整除

再其他运算中如果运算的一方是整数,另一方是浮点数,其结果都是浮点数

当打印很大的数时,可以使用下划线将其中的数字分组,python不会打印下划线

profit=140000_0000000_0000
print(profit)

 一行代码可以同时给多个变量赋值,用逗号将变量名分开,对要赋的值也同样处理。

常量类似于变量,但它的值在程序的整个个生命周期内保持不变,通常将它的变量名全部大写

2.6注释

可以用#号标识单行注释,用'''  代码块  '''标识多行注释  

3.列表简介

列表是由一些按特定顺序排列的元素组成,其中元素之间没有任何关系

3.1访问列表元素

列表名[索引]          索引是该元素的位置,从0开始

最后一个元素的索引客为-1,倒数第二个元素为-2,以此类推。这种情况适用于你不知道列表的长度

3.2添加元素

末尾添加:append()                     列表名.append(新元素)

插入元素:insert()                        列表名.insert(索引,新元素)

3.3删除元素

del语句:可删除任意位置的元素,条件是知道索引,当删除后无法访问

del 列表名[索引]

pop语句:将元素删除,并接着使用它的值,列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶的元素

列表名.pop()                                括号中可以填想到弹出元素的索引,不填默认弹出最后一个元素

remove语句:将元素删除,并接着使用它的值,条件是知道元素的值

列表名.remove(元素的值)

remove()只能一次删除一个指定的值,如果要删除的值出现多次,就需要用到循环来将每个值都删除

3.4组织列表

sort语句:对列表按字母顺序永久排序

列表名.sort()                         若按字母相反顺序排序则括号内填参数(reverse=True)

sorted语句:对列表按字母顺序临时排序,保留原来的排列顺序

列表名.sorted()

reverse语句:永久反转列表元素的排列顺序

列表名.reverse()

len语句:确定列表长度

len(列表名)


7.8 Day5——看教材+动手实践

学习时间:9:00——11:30                   15:00——17:00

4.操作列表

4.1遍历整个列表

对列表中的每个元素都执行相同操作时,可以使用for循环

for 临时变量 in 列表名:

     执行的操作1,例如:print(临时变量)                                 本行需要缩进4个字符

     执行的操作2

     执行的操作3

     ......

注意:给列表中每个值相关联的临时变量指定名称时,名称应该具有实际意义

           想要在for循环结束后执行一些操作,只需将语句不再缩进,与for同列

           想要同时循环多条语句,注意缩进,for语句末尾有冒号不要遗漏,更不要写成封号

4.2创建数值列表

使用函数range() 可以打印一系列数

for 临时变量 in range(开始数,停止数,步长)       

PS:停止数的意思是到这个数停止,不包括这个数,因此打印范围是[开始数,停止数),步长可以理解为等差数列的公差,不写默认为1

要创建数字列表,可以使用函数list()将range()的结果直接转换成列表,即将range()作为list()的参数

numbers=list(range(1,6))
print(numbers)

那么,要想打印一定规律的数集呢?例如,打印前10个整数的平方

squares=[]
for num in range(1,11):
    squares.append(num**2)
print(squares)

 min()、max()、sum()函数可以轻松求出列表中的最小值、最大值和总和

列表解析:将for循环和创建新元素的代码合并成一行,并自动附加新元素

squares=[num**2 for num in range(1,11)]
print(squares)

  注意for语句末尾没有冒号

4.3使用列表的一部分

切片:指定要使用的第一个元素和最后一个元素的索引,范围同样是左闭右开

列表名[开始元素索引:停止元素索引:步进值]          步进值不写默认1

列表名[:停止元素索引]            如果没有第一个元素的索引,默认从列表开头开始

列表名[开始元素索引:]            如果没有第二个元素的索引,默认到列表结尾终止

列表名[:]                                  如果两个索引均没有,默认从列表开头开始到列表结尾终止

 当你不知道列表长度时,负数索引可以返回列表末尾的元素,因此可以输出列表末尾的任意切片

例如要输出列表最后三个元素:

list=['a','b','c','d','e']
print(list[-3:])

 PS:如果要遍历列表的部分元素,可以在for循环中使用切片,只需将列表名更换为想使用的切片

复制列表

要复制列表可以创建一个包含整个列表的切片,但不能将旧列表直接赋值给新列表即(新列表=旧列表)

list1=['1','3','5','7']
list2=list1[:]
list1.append('9')
list2.append('11')
print(list1)
print(list2)

    

list1=['1','3','5','7']
list2=list1
list1.append('9')
list2.append('11')
print(list1)
print(list2)

 

4.4 元组

列表非常适合用于存储在程序期间可能变化的数据集,然而有时又需要一些不可修改的元素,这就是元组

元组名=(元素1,元素2...)                 PS:列表为中括号,元组为圆括号

注意:严格的说,元组是由逗号标识的,圆括号只是让元组看起来更整洁,清晰。如果要定义包括一个元素的元组,必须在这个元素后面加上逗号

元组内的元素虽然不可修改,但可以重新定义整个元组

5.if语句

5.1条件测试

每条if语句的核心都是一个值为True或False的表达式,这种表达式称为条件测试,True则执行;False则忽略

最简单的条件测试是检查变量的值是否与特定值(不)相等

a=1                     #=为赋值
print(a==2)             #==为相等运算符

当同时检查多个条件时,可以使用关键字 and 和 or 将多个条件合并起来

and:当条件都成立时整个表达式为True,反之为False,为了改善可读性,可以将每个条件分别放在一对圆括号内

or:当条件至少一个成立时整个表达式为True,每个条件都不成立时为False

当判断特定的值是否包含在列表内,可使用关键字in;是否不在列表内,可使用关键字not in

list1=[1,2,3,4,5]
if 1 in list1:
    print("the number is in this list.")

5.2if语句

上述代码也是最简单的一个if语句,在if语句中缩进的作用和在for循环中相同

但是,通常需要在条件测试通过时执行一个操作,未通过时执行另一个操作,就用到了if-else语句

if condition:

   do something

else:

    do something

当然,我们经常会遇到多个条件的情况,这时就用到了if-elif-else结构,其中elif可以有多个,而末尾的else也可以被elif代替,它会依次检查每个条件测试,直到遇到通过了的条件测试

当要检查的条件可能同时多个成立时,就应当避免使用if-elif结构,而使用多个简单的if语句(也可以使用for循环)

list1=[1,2,3,4,5]
if 1 in list1:
    num=1
elif 2 in list1:
    num=2
print(f"the {num} is in this list.")

list1=[1,2,3,4,5]
if 1 in list1:
    num=1
    print(f"the {num} is in this list.")
if 2 in list1:
    num=2
    print(f"the {num} is in this list.")

 

5.3使用if语句处理列表

current_users = ['eric', 'willie', 'admin', 'erin', 'Ever']
new_users = ['sarah', 'Willie', 'PHIL', 'ever', 'Iona']
current_users_lower = [user.lower() for user in current_users]
for new_user in new_users:
    if new_user.lower() in current_users_lower:
        print(f"Sorry {new_user}, that name is taken.")
    else:
        print(f"Great, {new_user} is still available.")

第二周——python入门学习_第32张图片


7.9 Day6——看教材+动手实践

学习时间:15:30——17:10

6.字典

6.1定义

在python中,字典是一系列的键值对,每个键和一个值相关联,可以通过使用键来访问相关联的值,值的范围可以是数、字符串、列表乃至字典

格式:字典名={键:值}             键和值之间用冒号分隔,而键值对之间用逗号分隔

6.2访问字典中的值

要想访问与键相关联的值,可以指定字典名和放在方括号内的键,字典中可以包含任意数量的键值对

6.3添加键值对

info={'name':'Fancy','age':19}
print(info)
info['gender']='man'
print(info)

再添加键值对时,也可以新建一个空的字典 

当需要使用多行定义字典时,要在输入左花括号后按回车键,在下一行缩进四个空格,指定第一个键值对,并在他后面加上一个逗号,之后重复操作,定义完字典后,在最后一个键值对的下一行添加一个右花括号,并缩进四个空格

favorite_language={
    'fancy':'python',
    'jian':'c',
    'hang':'java',
    }
print(favorite_language)

6.4修改字典中的值

要修改值,可以依次指定字典名、用方括号括起来的值和与键相关联的新值

info={'name':'Fancy','age':19}
info['age']=18
print(info)

 6.5删除键值对

可以使用del语句,将相应的键和对应的值一起删除

格式:del 字典名{键}

6.6访问值

如果用print语句输出字典中没有的键,那么python会报错,但是为了避免报错,可以使用get()方法在键不存在时返回一个默认值

info={'name':'Fancy','age':19}
print(info.get('id','no assigned'))

get()方法括号里的第二个参数也可以不填,返回时默认为None

6.7遍历字典

遍历所有键值对:for key,value in 字典名.items()    (key和value分别为两个参数,储存键和值)

遍历所有的键:for x in 字典名.keys()     (如果不加keys.()python默认遍历键)

遍历所有的值:for x in 字典名.values()     

字典中键是独一无二的,但值可能是相同的,此时如果想输出不重复的值,可以使用集合set

set(字典名.values())

可以使用一对花括号直接创建集合,并在其中用逗号分隔元素,集合中的元素是无序的

6.8嵌套

有时候,需要将一系列字典存储在列表中,或将列表,作为值存储在字典中,这就称为嵌套

字典列表:

可以创建多个字典,然后将创建的字典存储在一个列表中;也可以创建一个字典,将列表作为值存储在字典内,也就是一个键关联多个值;还可以创建一个字典,将其他字典作为值存储


7.10 小结1

因为之前学过c++,python学起来比较轻松,不需要对变量申明,非常简洁,但是也更容易出错。经过一周的学习,已经掌握了一些基本的语法,可以看懂较复杂的程序,但是不够熟练,没有培养出编写程序的思维方式,所以让自己写还是没有什么头绪,接下来的一周会注重思维培养,实操一些项目。

.

你可能感兴趣的:(学习,python)