2016/09/14

1. Python视频

  A.内置函数

# ************************************
# abs()  # 绝对值
# ************************************
# all()  # 所有为True,才为True
# n = all([1,2,3,4,0])
# print(n)

# any()  # 只要有一个为True,则为True
# n = any([1,2,3,4,0])
# print(n)

# 0, False, None, '', [], {}, () 布尔值皆为False
# ************************************
# ascii()  # 自动执行对象的__repr__方式
# class Foo:
# 	def __repr__(self):
# 		return '444'
# n = ascii(Foo())
# print(n)
# ************************************
# # bin()  # 十进制转二进制
# print(bin(5))   # 0b101

# # oct()  # 十进制转八进制
# print(oct(9))   # 0o11

# # hex()  # 十进制转十六进制
# print(hex(17))  # 0x11
# ************************************
# bytes()   # 将字符串转换为字节类型
# s = '李杰'
# print(bytes(s,encoding='utf8'))   # b'xe6x9dx8exe6x9dxb0'
# print(bytearray(s,encoding='utf8'))   # bytearray(b'xe6x9dx8exe6x9dxb0')

# utf-8 一个汉字是三个字节,一个字节是8位
# gbk   一个汉字是二个字节,一个字节是8位

# str()   # 字节转换为字符串
# print(str(b'xe6x9dx8exe6x9dxb0',encoding='utf-8'))   # 李杰
# ************************************
# callable()
# def f1():
# 	pass
# f2 = 123
# print(callable(f1))
# print(callable(f2))

# ************************************
# print(chr(65))
# print(ord('B'))
# ************************************
# Random authentication code
# import random
# li = []
# for i in range(6):
# 	r = random.randrange(0,5)
# 	if r == 2 or r == 4:
# 		num = random.randrange(0,10)
# 		li.append(str(num))
# 	else:
# 		temp = random.randrange(65, 91)
# 		c = chr(temp)
# 		li.append(c)
# result = ''.join(li)
# print(result)
# ************************************
# compile()
# 将字符串编译成python代码

# exec()
# 执行python代码,接收:代码或字符串。没有返回值。

# eval()
# 执行表达式,并获取结果。有返回值。

# s = 'print(123)'
# r = compile(s, '<string>', 'exec')
# print(r)		# <code object <module> at 0x000001A9D8BE2930, file "<string>", line 1>
# exec(s)			# 123
# exec(r)			# 123
# print(eval('8*8'))		# 64
# ************************************
# dir()  # 快速查看某对象提供的功能
# print(dir(dict))
# help()   # 查看功能的详细解释
# help(dict)
# ************************************
# divmod()   # 返回商和余数,元组
# r = divmod(97,10)
# n1, n2 = r
# print(n1)
# print(n2)
# ************************************
# isinstance()  # 判断对象是否是某类的实例
# s = 'alex'
# r = isinstance(s, str)
# print(r)
# ************************************
# s = 'alex'   # 对象,'alex'  =>   类,str
# 			   # 对象要执行功能时,去所在类里面去寻找
# 			   # 对象是类的实例
# ************************************
# filter(函数,可迭代对象)
# def f2(a):
# 	if a > 22:
# 		return True
# li = [11,22,33,44,55]
# ret = filter(f2,li)  # 把li的每个元素拿来执行f2,若返回True,则该元素添加到ret
# print(list(ret))

# lambda() 和 filter() 组合使用
# li = [11,22,33,44,55]
# result = filter(lambda a: a>33, li)
# print(list(result))

# lambda()  自动return
# f1 = lambda a: a > 30
# ret = f1(10)
# print(ret)			# False
# ************************************
# map(函数,可迭代对象)
# li = [11,22,33,44,55]
# result = map(lambda a: a+100, li)  # 把li的每个元素拿来执行f2,将函数返回值添加到ret
# print(list(result))
# ************************************
# globals()		# 显示所有的全局变量
# locals()		# 显示所有的局部变量
# NAME = 'alex'
# def show():
# 	a = 123
# 	c = 123
# 	print(locals())
# 	print(globals())
# show()
# ************************************
# hash()  # 转换为哈希值,一般用于字典的key来保存
# s = 'hhh'
# print(hash(s))
# ************************************
# id()  # 查看内存地址
# s = 1
# a = id(s)
# print(a)
# ************************************
# len()
# s = '李杰'
# print(len(s))  # 在python3中是2(按字符),python2.7中是6(按字节)
# b = bytes(s, encoding='utf-8')	# 转换为字节方式
# print(len(b))
# ************************************
# python2 for '李杰'
# python3 for '李杰'
# ************************************
# max()
# min()
# sum()
# r = sum([11,22,33,1])
# print(r)
# ************************************
# pow()
# r = pow(2,10)
# print(r)
# ************************************
# round()  # 四舍五入
# ************************************
# zip()  # 接受多个序列作为参数,返回一个tuple列表
# l1 = ['alex',11,22,33]
# l2 = ['is',11,22]
# l3 = ['sb',11,22,33]
# r = zip(l1,l2,l3)
# temp = list(r)[0]
# print(temp)
# ret = ' '.join(temp)
# print(ret)
# ************************************

  

  B. 装饰器

    B-1 装饰器流程剖析

							# 解释器步骤:
def outer(func):			# 1.解释outer,不执行内部
	def inner():			# 3.解释inner
		print('before')				# 5.1
		func()						# 5.2 指向老的f1
		print('after')				# 5.4 
	return inner			# 4.返回inner函数给f1(若inner加括号,则会先执行inner函数)
							#   则f1函数只想inner函数。若调用f1,则执行inner函数,示例5


# @ + 函数名
# 功能:
# 	1.自动执行outer函数并且将下面的函数名f1当作参数传递
#	2.将outer函数的返回值,重新赋值给f1

@outer						# 2.解释,执行outer
def f1():
	print('F1')						# 5.3

  

  第4周作业

2. MOOC - 软件工程导论

  第2周 - 计算思维起步--符号化、计算化与自动化 -> 完成

3. MOOC - 数据结构 -> C语言基础差,听不懂,暂时放下

  第2周 - 线性结构

4. MOOC - 数据库技术及应用

  第1周:走进数据库

*******************************************************************************

5. MOOC课表

  

原文地址:https://www.cnblogs.com/wnzhong/p/5870915.html