# ----------------------------------------------------------------------
# def my_function1(name, address, age):
# print('姓名:%s, 地址:%s, 年龄:%s' % (name, address, age))
#
# # 正确:
# my_function1('北京',50,'田老师')
#
# # 错误:
# my_function1(50, '北京', '田老师')
#
# # 指定参数名,顺序可以与定义时不一致
# my_function1(age=50, address='北京', name='田老师') # 默认值 # 我们已知的情况:
# def my_function2(name, age):
# print('姓名:%s, 年龄:%s' % (name, age))
# #
# my_function2('田老师') # 一定场景下,带默认值
# def my_function2(name, age=18):
# print('姓名:%s, 年龄:%s' % (name, age))
# #
# my_function2('张老师')
# my_function2('田老师', 46) # 有默认值时的参数顺序
# 正确:
# def enroll(name, city='Beijing'):
#
# print('name:', name)
# print('city:', city)
# print('-------------') # def enroll(name, city='Beijing'):
#
# print('name:', name)
# print('city:', city)
# print('-------------')
# #
# enroll('ShangHai') # 以下的代码的输出什么? 你将如何修改 extendList 的定义所带来的隐患问题
# def extendList(val, list=[]):
# list.append(val)
# return list # def extendList(val, list=None):
# if list == None:
# list = []
# list.append(val)
# return list
#
# list1 = extendList(10) # list1 = [10]
# list2 = extendList(123, []) # list2 = [123]
# list3 = extendList('a') # list3 = ['a']
#
# print("list1 = %s" % list1)
# print("list2 = %s" % list2)
# print("list3 = %s" % list3) # 隐患和修改方法:
# 函数定义时,如果参数有默认值,则在定义时就会开辟一块内存空间来存储该默认值
# 调用函数时,如果未给有默认值的参数传值,就会使用该内存空间的数据
# 多次调用时,该空间就会被重复使用,如果某一次调用时改变了该空间的数据,其他次调用也会收到影响
# 可变数据类型,内存空间内容可以被改变,所以尽可能不用可变数据类型
# 如果一定要用,默认值不要用空对象,应该用None # 可变参数 *
# def my_function3(name, age, gender, *other):
# print('name:', name)
# print('age:', age)
# print('gender:', gender)
# print('other:', other)
#
# my_function3('田老师', 56, '男', '北京','慧测','汤立路220号','哈哈哈') # 可变参数 **
# def my_function4(name, age, gender, **other):
# print('name:', name)
# print('age:', age)
# print('gender:', gender)
# print('other:', other)
# #
# my_function4('田老师',56, '男', city='北京', corp='慧测', address='汤立路220号') # 参数顺序一般是非可选参数在前,可选参数在后 # 1 *
# def enroll(name, *other):
#
# print('name:', name)
# print('other:', other)
#
# enroll('zhanglaoshi', 18, '北京') # 这样也可以,但不建议
# def enroll(*other, name):
#
# print('name:', name)
# print('other:', other)
#
# enroll( 'Beijing', 18, name='张老师') # 2 **
# def enroll(name, **other):
# print('name:', name)
# print('other:', other) #
# # 调用时传参
# enroll(address='Beijing', age=18, name='张老师') # return
# def my_function4():
# print(1)
# return # def calc(x,y):
# a = x+y
# b = x-y
# c = x*y
#
# return a,b,c
#
# print(calc(3,4))
#
# def is_longer_than_5(seq):
# if len(seq)>5:
# return True
# else:
# return False
#
# print(is_longer_than_5('hello')) # def avg(list):
# sum = 0
# for ele in list:
# sum += ele
# length = len(list)
# return sum/length
#
# print(avg([1,2,5,7,8]))
#
# my_function4() # 3. (选做)编写一个生成get请求地址的函数,上游传递过来的参数有url=“”,domain=“”,data={},
# 请根据以上参数返回一个get请求的完整链接,其中data和url有可能不传
#
# http://127.0.0.1/access/log?a=1&b=2
# domain url data {'a':1,'b':2} # def gen_get_address(domain, url=None, data=None):
# address = 'http://' + domain
# if url:
# address += '/' + url
# if data:
# params_list = []
# for k, v in data.items():
# param = k + '=' + v
# params_list.append(param)
# params = '&'.join(params_list)
# address += '?' + params
# return address
#
#
# print(gen_get_address(domain='127.0.0.1',
# url='huice/huice',
# data={'usr': 'tiantian', 'passwd': 'bugaosuni'})) # 递归 # 5! = 5* 4!
# 4! = 4* 3!
#
# n! = n * (n-1)! # def fact(n):
# if n == 1:
# return 1
# return n * fact(n-1)
#
# print(fact(100)) # def factorial(n):
# if n > 1:
# return n * factorial(n - 1)
# elif n == 0 or n == 1:
# return 1
#
# print(factorial(100)) # a = 'hello'
# for i in map(ord, a):
# print(i)
#
# def my_func(x):
# return x + 'kitty' # m = map(lambda x: x + 'kitty', ['hello', 'haha', 'hei', 'hehe', 'helloworld'])
# print(list(m))
#
#
# def is_longer_than_3(seq):
# if len(seq) > 3:
# return True
# else:
# return False
#
#
# result = filter(is_longer_than_3, ['hello', 'haha', 'hei', 'hehe', 'helloworld'])
# print(list(result)) # filter
# def ispositive(x):
# if x>0:
# return True
# else:
# return False
#
# result = filter(ispositive, [1,-2,3,-1,4])
# print(list(result))
#
# a = ['adam', 'LISA', 'barT']
#
# def my_capitalize(string):
# return string.capitalize()
#
# print(list(map(my_capitalize, a))) class HuiceStudent:
'慧测学生类'
school = 'Huice'
__xuefei = 980 def __init__(self, xingming, nianling=18):
self.name = xingming
self.age = nianling def __study(self):
''
print(self.name +'交完'+ str(self.xuefei) + '在学习!') def eat(self, something):
print(self.name + '在吃' + something) @classmethod
def go_to_school(cls):
print('欢迎来' + cls.school) @staticmethod
def my_print():
print('haha'+ HuiceStudent.school) def __len__(self):
return len(self.name) def __str__(self):
return '%d岁的学生%s' % (self.age, self.name) @classmethod
def get_xuefei(cls):
# if authority = 'boss':
return cls.__xuefei
# else:
# return None
@classmethod
def set_xuefei(cls, new_xuefei):
if new_xuefei > 1000 or new_xuefei < 900:
print('学费不合理')
else:
cls.__xuefei = new_xuefei
print('设置成功') # 学校
# 学费 类变量
#
# 姓名
# 身高 实例变量 成员变量
#
# 上学 类方法
#
# 跑
# 跳
# 吃
# 学习 成员方法
#
#
#
# pass # a = HuiceStudent('张三')
# b = HuiceStudent('李四')
# print(a.name)
# print(a.xuefei)
# a.xuefei = 930
# print('李四的学费是', b.xuefei)
# b.study()
# b.eat('肉')
# b.go_to_school()
#
# # print(HuiceStudent.xuefei)
#
# HuiceStudent.go_to_school() # print(HuiceStudent._HuiceStudent__xuefei) # print(HuiceStudent.__doc__) # c = HuiceStudent('王五')
# print(c.name)
# c.eat('肉肉')
# print(len(c))
# print(c)
#
#
# print(HuiceStudent.get_xuefei())
#
# HuiceStudent.set_xuefei(990)
# print(HuiceStudent.get_xuefei())
# # class Stack:
# def __init__(self, max_size):
# __lst = []
# self.max_size = max_size
#
# def pop(self):
# pass
#
# def push(self, element):
# pass
#
# def get # class Auto:
# def __init__(self, pinpai, yanse):
# self.brand = pinpai
# self.speed = 0
# self.color = yanse
#
# def start(self):
# print self.brand + '启动了'
#
# def speedup(self):
# self.speed += 10
#
# def stop(self):
# if self.speed > 30:
# self.speed -= 30
# else:
# self.speed = 0
#
#
# if __name__ == '__main__':
#
# mycar = Auto('BMW', '蓝色')
# mycar.start()
# mycar.speedup()
# mycar.speedup()
# mycar.speedup()
# mycar.speedup()
# mycar.speedup()
# print mycar.speed
# mycar.stop()
# print mycar.speed
# mycar.stop()
# print mycar.speed # class Animal:
# def __init__(self, name):
# self.name = name
#
# def eat(self):
# print(self.name + '在吃东西')
#
# def run(self):
# print(self.name + 'is running!')
#
#
# # ani = Animal('动物')
# # ani.eat()
# # ani.run()
#
# class Dog(Animal):
#
# def bark(self):
# print(self.name + '在狂吠')
#
# def eat(self):
# print(self.name + '在吃骨头')
#
# class Cat(Animal):
#
# def eat(self):
# print(self.name + '在吃<・)))><<')
#
# class Tiger(Animal):
#
# def eat(self):
# print(self.name + '在吃肉')
#
# class Elephant(Animal):
#
# def eat(self):
# print(self.name + '在吃树叶')
# # class Person:
# def __init__(self, name):
# self.name = name
#
# def feed(self, a):
# a.eat() # def feed_cat(self, cat):
# cat.eat()
#
# def feed_tiger(self, tiger):
# tiger.eat() # t = Person('tiantian')
# d = Dog('旺旺')
# c = Cat('花花')
# tg = Tiger('大王')
# e = Elephant('大白')
#
# t.feed(d)
# t.feed(c)
# t.feed(tg)
# t.feed(e)
#
# def bark(self):
# print('汪汪')
#
# def eat(self):
# print(self.name, '在吃骨头')
#
# class Cat(Animal):
#
# def eat(self):
# print(self.name, '在吃鱼')
#
# class Tiger(Animal):
#
# def eat(self):
# print(self.name, '在吃肉')
#
# class Elephant(Animal):
#
# def eat(self):
# print(self.name, '在吃树叶')
#
# class Person:
# def __init__(self,name):
# self.name = name
#
# # def feed_dog(self, dog):
# # dog.eat()
# #
# # def feed_cat(self, cat):
# # cat.eat()
# #
# # def feed_tiger(self, tiger):
# # tiger.eat()
#
# def feed(self, anim):
# anim.eat()
#
#
# tls = Person('tianlaoshi')
# #
# mydog = Dog('旺旺')
# mycat = Cat('花花')
# mytiger = Tiger('大王')
# myele = Elephant('小白')
#
# # tls.feed_cat(mycat)
# # tls.feed_dog(mydog)
# # tls.feed_tiger(mytiger)
# #
# tls.feed(mydog)
# tls.feed(mycat)
# tls.feed(mytiger)
# tls.feed(myele)
#
# #多态 #异常 # import sys
# import traceback
# ImportError:导入模块错误
# import A # IndexError:索引超出范围
# list1 = [1,2,3]
# print(list1[3]) # KeyError:字典中不存在的键
# dict1 = {'name':'ivy','age':20,'gender':'female'}
# print(dict1['height']) # NameError:访问没有定义的变量
# print(a) # IndentationError:缩进错误
# if 1==1:
# print 'aaa' # SyntaxError:语法错误
# list2 = [1,2,3,4 # TypeError:不同类型间的无效操作
# print(1+'1') # ZeroDivisionError:除数为0
# print(a/b)
# try:
# print(5/0)
#
# print('hehe')
# except:
# print('haha')
# raise BaseException('除数不能为0')
# # finally:
# # print('xixi')
#
# print('haha') # import traceback
# #捕获 抓
# def sum(a,b):
# try:
# return a/b
# except (ZeroDivisionError, TypeError) as e:
# traceback.print_exc()
# print e
# return 0
#
# print sum(5, 'a')
# print 'haha' # 无法预知的调用错误
# def sum(a, b):
# print a+b
#
# print sum(0, 1)+2 # print long(a) # raise ZeroDivisionError('除数不能为0') # def test():
# try:
# print 5/0
# print 1
# except (TypeError, ZeroDivisionError):
# print 'error'
# return 0
# finally:
# print '0000'
#
# print test() # a = [1,'a','c',10,23]
#
# counter = 0
# for ele in a:
# try:
# int(ele)
# except:
# counter += 1
# print counter # try:
# print 'try...'
# r = 10 / 0
# print 'result:', r
# except ZeroDivisionError, e:
# print 'except:', e
# finally:
# print 'finally...'
# print 'END'
#
# try:
# print 'try...'
# r = 10 / int('a')
# print 'result:', r
# except ValueError, e:
# print 'ValueError:', e
# except ZeroDivisionError, e:
# print 'ZeroDivisionError:', e
# finally:
# print 'finally...'
# print 'END' import day3
from Day4 import file1
# from Day4.file1 import HuiceStudent
# HuiceStudent() import time
print(time.strftime('%Y%m%d%H%M%S', time.localtime())) import random
for i in range(1, 11):
a = random.randint(1,100)
print(a)