知识点比较乱,看看就行
比较操作符: == 和 is
1, == 比较的是内容 is 比较的是地址
a = '123'
b = str(int(123))
print('a:', a)
print('b:', b)
print(a == b)
print(a is b)
2, 控制台输入:
name = input()
print(name)
3, 全局变量
global
4: 报错 Non-UTF-8 code starting with ‘\xb9’ in file
程序中有汉字的时候,有可能报这个错
解决办法: 文件头部 添加 # -*- coding: utf-8 -*-#
4,类和对象
python中的构造函数: init(self) (但实例化时调用的第一个方法时 _new_(cls))
5,python命名格式
包名、模块名 全部小写
类名约定以大写字母开头
方法名: 单词小写,多个单词用下划线隔开
参数名:小写
普通变量名: 小写字母,单词之间分割或者驼峰原则
常量: 全部定义为大写 必要时下划线分割
6.@property装饰器详解
参考: http://c.biancheng.net/view/4561.html
类的属性既要保护 又要使用,可以使用@property
通过 @property 装饰器,可以直接通过方法名来访问方法,不需要在方法名后添加一对小括号,Python内置的@property装饰器就是负责把一个方法变成属性 ,起作用相当于java中get set方法,
相对直接使用公开属性 多一个get 和set方法(尤其是set方法) 能更好的对数据进行把控 使用方法 (如果像只读效果,就只需要定义@property就可以,不需在设置@age.getter)
另外属性名和方法名必须一致
# _*_ coding= utf-8 _*_
class Student(object):
def __init__(self):
self._age = 18
@property
def age(self):
print(" @property")
return self._age
@age.setter
def age(self, value):
print(' @age.setter')
self._age = value
@age.deleter
def age(self):
self.age = None
'''
@age.getter
def age(self):
print(' @age.getter')
return self._age
'''
if __name__ == '__main__':
stu = Student()
stu.age = 9
print(stu.age)
del stu.age
print(stu.age)
- assert(断言)
assert True/False 可以主动触发 AssertionError 错误
如下:def fun(value): print(1, value) assert 2 == value print(2, value) print(3, value)