【02python基础-函数,类】
1.函数中的全局变量与局部变量
全局变量:
在函数和类定义之外声明的变量。作用域为定义的模块,从定义位置开始到模块结束。
全局变量降低了函数的通用性和可读性,要尽量避免全局变量的使用。
全局边个两一般作为常量使用。
函数内改变全局变量的值要用global说明
局部变量:
在函数体内(包含形式参数)声明的变量。
局部变量的引用比全局变量快,有限考虑使用。
如果局部变量和全局变量同名,则在函数内隐藏全局变量,只是用同名的局部变量。(局部变量优先于全局变量)
2.类的定义
# 构造函数-类
class Student: # 类名一般为首字母大写,驼峰原则 def __init__(self, name, score): # self必须位于第一个参数
self.name = name
self.score = score def say_score(self): # self必须位于第一个参数
print("{0}的分数是:{1}".format(self.name, self.score)) s1 = Student("胡皓", 100) # 通过类名()调用构造函数
s1.say_score() s2 = Student("高希希", 99)
s2.say_score() # 程序员编写
Student.say_score(s2) # 解释器执行的时候
print(dir(s2)) # 获得所有的属性
print(s2.__dict__) # 获得定义的属性
print(isinstance(s2,Student)) # 判断类型
3.实例对象和属性
"""
实例属性:self.A=A 实例方法:1.定义实例方法时,第一个参数必须为self。和前面一样,self指的是当前的实例对象。
2.调用实例方法时,不需要也不能给self传递参数,self由解释器自动传参。
"""
class Student: # 类名一般为首字母大写,驼峰原则 def __init__(self, name, score): # self必须位于第一个参数
self.name = name # 实例属性
self.score = score # 实例属性 def say_score(self): # self必须位于第一个参数
print("{0}的分数是:{1}".format(self.name, self.score))
4.类对象和类属性
class Student:
company = "SXT"
count = 0 def __init__(self,name,score):
self.name = name
self.score = score
Student.count = Student.count + 1 def say_score(self):
print("我的公司是:",Student.company)
print(self.name,"的分数是",self.score)
s1 = Student("gxx",60)
s1.say_score()
【02python基础-函数,类】的更多相关文章
- C++进阶-1-模板基础(函数模板、类模板)
C++进阶 模板 1.1 函数模板 1 #include<iostream> 2 using namespace std; 3 4 // 模板 5 6 // 模板的简单实例 7 // 要求 ...
- 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数
[源码下载] 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数 作者:webabcd 介绍速战速决 之 PHP 函数基础 函数参数 函 ...
- python基础——定制类
python基础——定制类 看到类似__slots__这种形如__xxx__的变量或者函数名就要注意,这些在Python中是有特殊用途的. __slots__我们已经知道怎么用了,__len__()方 ...
- Python基础-类的探讨(class)
Python基础-类的探讨(class) 我们下面的探讨基于Python3,我实际测试使用的是Python3.2,Python3与Python2在类函数的类型上做了改变 1,类定义语法 Python ...
- python基础—函数装饰器
python基础-函数装饰器 1.什么是装饰器 装饰器本质上是一个python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能. 装饰器的返回值是也是一个函数对象. 装饰器经常用于有切 ...
- Python学习---基础函数的学习
1.1. 基础函数 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可. 灌输一个概念:Python中函数就是对象,函数和我们之前的[1,2,3],'abc ...
- python基础,函数,面向对象,模块练习
---恢复内容开始--- python基础,函数,面向对象,模块练习 1,简述python中基本数据类型中表示False的数据有哪些? # [] {} () None 0 2,位和字节的关系? # ...
- springMVC基础controller类
此文章是基于 搭建SpringMVC+Spring+Hibernate平台 功能:设置请求.响应对象:session.cookie操作:ajax访问返回json数据: 创建springMVC基础con ...
- hibernate基础dao类
此文章是基于 搭建SpringMVC+Spring+Hibernate平台 功能:数据库的保存.更新.删除:sql.hql查询:分页查询:调用存储过程 创建hibernate基础dao类: BaseD ...
随机推荐
- 显示IP地址的命令
显示IP地址的命令 Centos7默认显示IP地址的命令 #获取所有网卡的IP地址 [root@clf ~]# ip a1: lo: <LOOPBACK,UP,LOWER_UP ...
- Springboot下实现阿里云短信验证功能(含代码)
Springboot下实现阿里云短信验证功能 一 开通阿里云短信服务 阿里云官网注册登录 找到短信服务并开通 打开短信服务的管理台 在国内消息那栏中添加签名管理和模板管理(按照格式要求去写) 在右上角 ...
- Mysql 实例:mysql语句练习50题(普通sql写法)
为了练习sql语句,在网上找了一些题,自己做了一遍,收益颇多.很多地方换一种思路,有更好的写法,欢迎指正. 题目地址:https://blog.csdn.net/fashion2014/article ...
- bzoj3155Preprefix sum
bzoj3155Preprefix sum 题意: 询问一个数组前缀和数组的前缀和,支持单点修改. 题解: SSi=sigma(i,1,n)(n-i+1)*ai=(n+1)*Si-sigma(i,1, ...
- kafka零拷贝
Kafka之所以那么快的另外一个原因就是零拷贝(zero-copy)技术.本文我们就来了解Kafka中使用的零拷贝技术为什么那么快. 传统的文件拷贝 传统的文件拷贝通常需要从用户态去转到核心态,经过r ...
- 解决使用resin服务器Unsupported major.minor version 51.0错误
是因为jdk版本不对,更换成需要的版本
- Ethical Hacking - GAINING ACCESS(15)
CLIENT SIDE ATTACKS Social Engineering Gather info about the user(s). Build a strategy based on the ...
- 机器学习作业---K-Means算法
--------------------------K-Means算法使用-------------------------- 一:数据导入及可视化 import numpy as np import ...
- GEDIT外部工具
首先通过编辑-首选项-插件-外部命令来打开外部命令,然后在工具-Manage External Tools来添加新工具,工具代码使用bash语言. 代码使用方式:+添加新插件,在编辑框中粘贴代码,快捷 ...
- C++语法小记---string类
string类 #include <iostream> #include <string> using namespace std; // 实现字符串右移, 例子hello & ...