python学习2019//4/28

函数

a = 1.23632
print(round(a,2))
1.24
得出小数点后两位
或者
可以先设置一个变量result
result=(a,2)
print(result)
round函数自动四舍五入

python查看命令
help(print)
python直插?
import this

函数特性

1.功能性
2.隐藏细节
3.避免编写重复的代码

def 定义一个函数
def funcname(parameter_list):
pass
1.参数列表可以没有
2.return value none

实现两个数字的相加
打印输入的参数

系统自定递归一般不超过1000次
如需要设置递归次数可调用sys
import sys
sys.setrecursionlimit(99999)

def add(x, y):
result =x +y
return result

def print_code(code):
print(code)

a=add(1,2)
b=print_code(‘python’)

print(a,b)
输出
python
3 none
先输出 b调用的print_code python
换行
再输出print(a,b)
同行输出
a调用def add 就是相加的加法函数,并返回result这个数值所以根据a=add 1+2 得 3
b由于没有设置return,返回数据,所以输出的为none

求skill1,skill2输出的伤害

def damage(skill1,skill2):
damage1 = skill1+10
damage2 = skill2*2
return damage1,damage2

skill1_damage,skill2_damege= damage(3,5)
#序列解包
print (skill1_damage,skill2_damege)

序列解包

python 的可阅读性
a=1
b=2
c=3
a,b,c=1,2,3

d=1,2,3
#解包d
a,b,c=d
print(a,b,c,d)
1 2 3 (1, 2, 3)
a,b=d 无法解包,超过序列内赋值数量
a=1
b=1
c=1
a=b=c=1
如数值相同,可以用简化写法进行赋值

参数

1。必须参数 包含 形式参数和实际参数 ,实际使用时调用的参数
2.关键字参数
def add(x, y):
result =x +y
return result

c=add(y=3,x=2) #关键字参数
print©

3.默认参数 形式参数 实际参数,默认参数
def print_student_files(name,gender=‘男’,age=‘6’,college=‘非正常人研究中心’):
print(‘我叫’+name)
print(‘我今年’+age+‘岁’) 形参设置默认参数后,
print(‘我是’+gender+‘生’) 后面就不能跟无默认参数的形参了
print(‘我在’+college+‘上学’) 无默认参数的形参必须放在有默认参数
的形参之前

print_student_files(‘小明’,‘男’,‘6’,‘非正常人研究中心’)
可以按照顺序进行对默认参数的更改
print(’————————————’)
print_student_files(‘小王’,‘女’,8)
输入参数不足的情况下,系统会调用缺省参数对不足的部分进行补足
print(’————————————’)
print_student_files(‘小猪’,age=9,college=‘华师大’,gender=‘女’)
实参前用形参进行调用就不需要遵循安顺序进行填充的规则

print_student_files(‘小猪’,gender=‘女’,9, college=‘华师大’,)
上方代码会报错,实参调用需要后面所有参数都进行调用,否则就算按照顺序填写也会报错

面向对象

#有意义的面向对象的代码
类=面向对象
类、对象
如何实例化类

class Student():
name=’’
age = 0

def print_file(self):
    print('name: '+ self.name)
    print('age: '+ str(self.age))

student=Student()
student.print_file()

类最基本的作用就是封装代码
类无法直接在其中调用参数
类只是对内部的一个定义
只能在类的外部进行类的调用

from p1 import Student
student = Student()
student.print_file()

在其他模块下调用类模块
在模块下所赋值的一般称为变量
在类下所赋值的一般称为数据成员

组成类的数据成员的行为与特征

类与对象的关系就像是模板和成品的关系
一个模板可以制作出很多不同的成品
class Student():
name=’’
age = 0

def __init__(self):  #构造函数
    print('student')

def do_homework(self):
    print('homework')

调用类的函数时init,构造函数会自动调用,
也可以主动调用init函数
init函数调用出来的type是nonetype
也没有返回值

初始化对象的属性

类变量,实例变量

class Student():
name=’’ 类变量
age = 0 《《《

def __init__(self,name,age):  #构造函数
    self.name=name                       实例变量
    self.age=age                              《《《

student1=Student(‘子路’,18)
student2=Student(‘王子’,8)
#student1.do_homework()
print(student1.name)
print(student2.name)
print(Student.name)

输出实例变量并不会改变类变量
class Student():
sum1= 0
name=’’ 类变量
age = 0 《《《

def init(self,name,age): #构造函数
self. name=name 实例变量
self. age=age 《《《
student1=Student(‘子路’,18)
print(student1.name)

如果变量前不加self.的话dict内部就没有加入此实例变量
python在实例变量中没有找到此变量就会输出类变量内的变量

变量是定义的数值
方法是利用变量定义的数值实现想要达成的目的
方法操作变量以实现
实例方法操作实例变量

在实例方法内调用实例变量还是需要加self.
否则调用的是实例…?或者报错

访问类变量

如果需要内部调用类变量如上类内需要在前面加print(Student. sum1)
或者print(self.class.sum1)
如果需要外部调用类变量可以print(Student.sum1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值