python在实际开发中能进行的有大数据,爬虫,人工智能和后端Web开发
这一小节相关代码已经上到到仓库的python2文件夹
条件语句,循环语句
- if语句
我们初始化变量a,判断如果a的值是1,就输出a的值是1,如果a的值是2,输出a的值是2,其他同理,如果a的值不在1,2,3之内,输出a的值是其他的数
'''
if语句
'''
a = 3
if a == 1:
print("a的值是1")
elif a == 2:
print("a的值是2")
elif a == 3:
print("a的值是3")
else:
print("a的值不是1,2,3")
当然,我们也可以使用if来判断数值的范围,真假
#判断范围
if a > 2:
print("a>2")
#判断真假
b=True
if b:
print("true")
else:
print("false")
注意了,上面代码的print语句至少要和判断语句之间有一个缩进,在win上可以使用tab键来打一个缩进
- while
我们可以使用while语句来进行一些循环操作
a = 1
while a < =6:
print(a)
a = a + 1
声明一个变量a,如果a小于6,就继续循环,我们在每次循环都加1,所以在第7次循环时,a的值就成为7,跳出了循环,输出为1,2,3,4,5,6,7
上面讲到,python区分范围,不像其他语言一样使用{}来划地盘,而是使用缩进来表示的,我们来看下面的图片
![](https://img.haomeiwen.com/i4002920/cbaa7c9d7e41343d.png)
因为python是以缩进来区分一个作用域的范围的,print语句和a+=1语句前面有缩进,python就认为它是while循环语句里面的,而到了print,已经没有缩进了,python就认为while语句已经结束,所以上面while循环的整个范围就是上面的红框
那如果我们暂时不知道while循环里面要做什么,可以不写代码吗?
是不行的,如果你写了:下面却什么一行缩进的代码都没有,是会报错的,这时候我们可以用pass来占位
a=1
while a<=3:
print("语句1")
a+=1
print("语句2")
while a<=3:
#这里我还想好要写什么,先用pass占个位
pass
- for循环
'''
for循环
'''
for i in range(1,6):
print(i,end=',')
使用for循环输出1到6,range函数的作用是生成范围1...到6之间的数列,end的作用是让输出不换行,以,结尾
输出结果:
1,2,3,4,5
上一小节我们学习了列表,现在我们来看一下怎么使用循环语句来遍历我们的列表
#遍历列表
list=['a','b','c','d','e','f']
for i in list:
print('当前的列表元素为:',i)
或者我们也可以通过获得列表的长度,通过列表下标遍历列表
print()
# 根据列表下标遍历列表
list2 = ['a', 'b', 'c', 'd', 'e', 'f']
for index in range(len(list2)):
print('当前列表的元素为:', list[index])
接下来看看怎么遍历字典的值
# 遍历字典
dict = {'a': 'A', 'b': 'B', 'c': 'C'}
for key,value in dict.items():
print('字典的键是:',key,'值是',value)
函数,面向对象,异常处理
- 函数
pyhton的函数标识符是def,这里我们新建一个.py文件,看一下函数的简单使用
#声明函数
def getData():
print("获取数据")
#使用函数
getData()
注意在同一个.py文件里面,函数的调用要在函数的声明之后,也就是说要先在前面写好函数再去调用,如以下代码就是错误的
'''
函数调用在函数声明之前,这样是不行的
'''
#使用函数
getData()
#声明函数
def getData():
print("获取数据")
再看看函数怎么传参
# 函数传参
def getData(s):
print(s)
getData("你好,世界")
最终在控制台,我们输出了你好,世界,这个字符串。
然后是带返回值的函数
# 函数返回值
def getData(s):
return s
a=getData("你好,世界")
print(a)
- 面向对象
创建一个具有姓名,年龄属性的学生类
# 创建学生类
class Student:
# 类文档字符串,作用是帮助说明,解释该类的作用和意义
'这是一个学生对象'
# 类构造方法,用来给类的属性进行初始化赋值,self表示类的实例
def __init__(self, name, age):
self.name = name
self.age = age
#通过getData函数,输出学生类的信息,self.name,表示调用该类对象的name属性
def getData(self):
print("学生的姓名是:", self.name, "学生的年龄是:", self.age)
stu = Student("tonjies", "20")
stu.getData()
打印控制台,可以得到字符串:学生的姓名是: tonjies 学生的年龄是: 20
当然我们也可以创建多个类对象
# 创建学生类
class Student:
# 类文档字符串,作用是帮助说明,解释该类的作用和意义
'这是一个学生对象'
# 类构造方法,用来给类的属性进行初始化赋值,self表示类的实例
def __init__(self, name, age):
self.name = name
self.age = age
#通过getData函数,输出学生类的信息,self.name,表示调用该类对象的name属性
def getData(self):
print("学生的姓名是:", self.name, "学生的年龄是:", self.age)
stu = Student("tonjies", "20")
stu.getData()
stu2=Student("xiaoMin","18")
stu2.getData()
接下来我们来看看类的继承是如何实现的,我们创建一个教室类,并让学生继承于教师类
# 创建教师类
class Teacher:
def study(self):
print("不断学习")
# 创建学生类,(Teacher)表示该学生类的父类是教师类
class Student(Teacher):
# 类文档字符串,作用是帮助说明,解释该类的作用和意义
'这是一个学生对象'
# 类构造方法,用来给类的属性进行初始化赋值,self表示类的实例
def __init__(self, name, age):
self.name = name
self.age = age
# 通过getData函数,输出学生类的信息,self.name,表示调用该类对象的name属性
def getData(self):
print("学生的姓名是:", self.name, "学生的年龄是:", self.age)
# 接下来实例化学生类对象
stu = Student("tonjies", "20")
# 用学生类,也就是子类,去调用父类教师类的方法
stu.study()
# 调用自身的方法
stu.getData()
控制台打印出来:不断学习,并且调用study方法也没有报错,说明我们子类继承于父类成功,并且子类能调用户的方法
那我们要是再子类写一个和父类函数名相同的函数,再使用子类对象去调用这个名字的方法会怎么样呢,如果是这样的话,相当于子类重写了父类得方法,那么我们就不会去调用父类的方法,而是直接使用子类自己重写的方法
# 创建教师类
class Teacher:
def study(self):
print("不断学习")
# 创建学生类,(Teacher)表示该学生类的父类是教师类
class Student(Teacher):
# 类文档字符串,作用是帮助说明,解释该类的作用和意义
'这是一个学生对象'
# 类构造方法,用来给类的属性进行初始化赋值,self表示类的实例
def __init__(self, name, age):
self.name = name
self.age = age
# 通过getData函数,输出学生类的信息,self.name,表示调用该类对象的name属性
def getData(self):
print("学生的姓名是:", self.name, "学生的年龄是:", self.age)
#重写父类的方法
def study(self):
print("学生在不断学习")
# 接下来实例化学生类对象
stu = Student("tonjies", "20")
# 用学生类,也就是子类,去调用父类教师类的方法
stu.study()
# 调用自身的方法
stu.getData()
这样的话,我们打印出来的,就不是父类的不断学习了,而是学生在不断学习
我们的python和Java等语言不一样,它是支持类多继承的,一个子类可以继承于多个父类,如下代码
# 创建教师类
class Teacher:
def study(self):
print("不断学习")
# 常见父母亲类
class Parent:
pass
# 创建学生类,(Teacher)表示该学生类的父类是教师类
class Student(Teacher,Parent):
# 类文档字符串,作用是帮助说明,解释该类的作用和意义
'这是一个学生对象'
# 类构造方法,用来给类的属性进行初始化赋值,self表示类的实例
def __init__(self, name, age):
self.name = name
self.age = age
# 通过getData函数,输出学生类的信息,self.name,表示调用该类对象的name属性
def getData(self):
print("学生的姓名是:", self.name, "学生的年龄是:", self.age)
#重写父类的方法
def study(self):
print("学生在不断学习")
# 接下来实例化学生类对象
stu = Student("tonjies", "20")
# 用学生类,也就是子类,去调用父类教师类的方法
stu.study()
# 调用自身的方法
stu.getData()
我们只要在()里面,用,把不同的父类分开就可以了
这里要注意的是,上面说到的父类和函数一样,在同一个文件中,必须写在子类前面,也就是先”声明“,后使用
- 异常处理
预防程序出现某个错误,提前做好防范措施,如我们如何用数去除以0,而分母是不能为0的,那么程序就会报ZeroDivisionError异常
a=1/0
#不能直接输出,会报错
print(a)
那我们就可以给程序加个异常捕获,防止程序出现异常
#进行异常捕获
try:
a=1/0
except ZeroDivisionError:
print("程序出现了异常,分母不能为0")
这样我们运行程序后,发现程序不会因为出现错误而终止运行,打印出了字符串程序出现了异常,分母不能为0
其中except后面根据不同的异常可以填入不同的异常名字,详细可以参考官方文档
如果我们嫌麻烦,而有不需要进行多个异常的捕获的话,可以直接使用Exception来进行异常的捕获
#进行异常捕获
try:
a=1/0
except Exception:
print("程序出现了异常,分母不能为0")
如果你喜欢本篇文章,希望能给我一个喜欢,这对我来说是很好的鼓励
句子控
如果你改变不了世界
就改变自己
改变不了环境,就去适应环境
好人就是这么堕落的,奴性就是这练成的
这句话就一个道理
如果你掉到粪坑了,就安心的吃屎吧
网友评论