1.条件结构
#python中:数字0,空字符串 空列表 空元组 空字典 None等,在布尔表达式中都为False,
#非空任意类型(除了整数0),在布尔表达式中都为True
if condition1 :
pass
elif condition2 :
pass
else:
pass
is:判断两个对象是否相等(内容、地址)
is not:判断是否不相等。
==:判断内容是否相同
None:既不是0,也不是false,是一个不可变对象。
因为python有缓冲区,将[-5,256]区间的整数值放在缓冲区,效果:cmd可见,其他编译器进行了优化。可以用
id(变量)来进行查看
2.循环
循环:for、while
写法:
for x in 序列:
循环体
x表示:每一次循环都会把序列的值一次赋给x
循环里面常用2个关键字:break:终止当前循环(最里面的循环);continue:结束本次循环,继续下一次循环
while 布尔表达式:
循环体(满足条件执行循环体,不满足条件就跳出循环)
3.函数
"""
函数:和C语言里面的函数概念一样
调用函数:
(1)内置函数:内置函数名()
(2)库函数:库名.函数名()
(3)同目录下其他文件里面调用函数:from 文件名 import 函数名?
定义函数:
def 函数名(参数):
函数体
(return 可有可无)
当没有返回值时,默认返回None
函数参数:
(1)位置参数:def d(a,b,c): -->a,b,c都是位置参数
(2)默认参数:def f(a,b=2): -->b就是默认参数,一定要放在后面
(3)可变参数:def d2(*m): -->m就是可变参数(元组,可以传入无数个参数)
递归函数:自己调用自己的函数
递归头:结束递归
递归体:什么调用自己
isinstance(object,(int,float,...))判断object是否是int\float\...类型的对象
"""
print("----------函数-----------")
def method1():
pass
def method2(arg1, arg2=5,arg3=6):
return arg1+arg2+arg3
def method3(arg):
if(isinstance(arg,type([1,2]))):
print("传入参数是list类型")
elif(isinstance(arg,type(2))):
print("传入参数是int类型")
def method4(*a):
if isinstance(a,type([12,2])):
a.append(2)
print("可变参数",a)
else:
for i in a:
print(i)
method1()
method2(2,3,4)#9
method2(2)#13
method3([12,3])
method3(3)
method4([1,2],5)
5、类,面向对象
'''
面向对象:将要解决的问题抽象成各个对象,各个对象再去完成各个功能,最后结合起来就可以解决问题
类:有相似特征一类事物称为类(电脑,学生,老师,学校...)
对象:以类为模板(具体到某一个学生,某一个老师就是对象)
声明类:class 类名(): 类名的首字母大写
声明对象:变量名 = 类名() 声明了该类的对象
给对象添加属性:
(1)对象引用.属性名= 属性值
(2)通过重写父类(Object)_init_函数来添加属性
访问权限:protected:给属性名前加一个下划线 _属性名, private:双下划线
'''
class Student:
def __init__(self,name,age,function):
self.__name=name
self.__age=age
self.__function=function
def set_name(self,name):
self.__name=name
def get_name(self):
return self.__name
def set_age(self,age):
self.__age=age
def get_age(self):
return self.__age
def set_function(self,function):
self.__function=function
def get_function(self):
return self.__function
student1=Student("Tom",28,"学习")
print(student1.get_name(),student1.get_age(),student1.get_function())
student1.set_name("Jerry")
student1.set_age(29)
student1.set_function("搞破坏")
print(student1.get_name(),student1.get_age(),student1.get_function())
'''
类的继承与多态:Object是所有类的父类
继承
定义:
'''
class Animal:
def voice(self):
print("这里是原始生物,没用声音")
def go(self,animal):
animal.voice()
class Dog(Animal):
def voice(self):
print("汪汪汪")
class Cat(Animal):
def voice(self):
print("喵喵喵")
dog=Dog()
dog.voice()
animal=Animal()
animal.go(dog)
animal.go(animal)