目录

  • 自定义函数
  • 内置函数
  • 文件的操作
  • 练习题

一. 自定义函数

  1. 函数的创建

  1. 函数的创建
  2. 1.def关键字
  3. 2.函数名+()
  4. 3.冒号
  5. 4.缩进
  6. 5. return返回值,可以不写,默认的返回值为None
  7. 例:
  8. def hanshuming():
  9. print(123)
  10. print(456)
  11. return True
  12. hanshuming()

  2. 函数的参数

  (1)参数的定义

  参数是使用通用变量来建立函数和变量之间关系的一个变量。我们都知道函数是用来被调用的,当我们需要给这个函数传送值的时候,参数用来接收调用者传递过来的数据,并保存下来作为一个变量以便后期使用。

  (2)参数的分类

    <1>.实参: 指的是用户在调用函数的时候传递给函数的值。

    <2>.形参: 指的是在函数名后面括号中写入的参数,用来接收用户的实际参数的。

      例:  

  1. # a 指的是形参,用来接收用户的实参
  2. # lsjeg 是实参,用来传递给形参
  3. def test(a):
  4. print(a)
  5. test('lsjeg')

    

    <3>.指定参数: 指的是传递的参数。

    <4>.默认参数: 指的是函数名后面括号内跟的参数,当没有实参传入的时候,默认是这个值。

      例:由结果可知,当传递的有实参的时候,将用实参,这就是指定参数,当没有实参传入的时候,就用默认值“中国”,这就是默认参数。

  1. def test(a='中国'):
  2. print(a)
  3. test(123)
  4. test()
  5. 结果:
  6. 123
  7. 中国

    <5>.动态参数: 指的是加*号的参数。为什么会有动态参数呢?其实就是python把所有的实参循环的放在一个元组里面而已。

    <6>.普通参数: 指的是没有加*的函数,他可以接受任意的实参。

      例:一个星号的动态参数

  1. # a是普通参数
  2. # *args是动态参数,把接收的所有参数都保存在一个元组中
  3. # 动态参数必须放在普通参数后面
  4. # 要注意的是Python他会自动的把第一个形参传递a,然后后面的都会传递给动态参数。
  5. def test(a,*args):
  6. print(args)
  7. test(123,'sl','s2','s3')

      例:两个星号的动态参数(主要为了存储字典) 

      注意他的结果,【11,22,33】前面有*,所以会把里面的元素依次的放入元组中,

  1. # a是普通参数
  2. # *args是动态参数,把接收的所有参数都保存在一个元组中
  3. # **kwargs也是动态参数,把接收的所有参数保存在一个字典中,注意,实参必须是键值对
  4. # 一个*的必须在后面,两个*的必须在一个*的后面
  5. def test(a,*args,**kwargs):
  6. print(args)
  7. print(kwargs)
  8. test(123,*[11,22,33],sle=23)
  9. 结果:
  10. (11, 22, 33)
  11. {'sle': 23}

  3. 变量

  <1>.全局变量:简单来说就是没有在函数中定义的变量。一般用大写表示

  <2>.局部变量: 相反,就是在函数中定义的变量。一般小写

    例1:

  1. # 默认函数里面是没有办法修改全局变量的
  2. TEST = 123
  3. def test(a):
  4. TEST = 456
  5. test(1)
  6. print(TEST)
  7. 结果:
  8. 123

    例2:修改全局变量

  1. TEST = 123
  2. def test(a):
  3. global TEST
  4. TEST = 456
  5. test(1)
  6. print(TEST)
  7. 结果:
  8. 456

  4. lambda表达式

  什么是lambda表达式呢,其实就是对自定义函数的一个简化,当然,他也是只能用于简单的函数创建。  

  例:

  1. # 定义了两个函数,两个函数的功能是一样的
  2. # 一般方式定义test
  3. # lambda表达式定义的lambda_test
  4.  
  5. def test(a1, a2):
  6. return a1+a2
  7.  
  8. lambda_test = lambda a1,a2: a1+a2
  9.  
  10. print(test(1,2))
  11. print(lambda_test(1,2))

  5. 三元表达式

  三元表达式是什么东西呢,其实就是对if...else循环的一个简化,但是只能用于简单的if...else的简化,在很多的语言中都有。

  例:if前面的为条件成立后执行的语句,else后面的为条件不成立时执行的语句

  1. # 普通的判断语句
  2. a = 1
  3. if a < 6:
  4. name = 'huwentao'
  5. else:
  6. name = 'zhouyan'
  7. print(name)
  8.  
  9. # 这个是三元表达式,
  10. name = 'zhouyan' if a < 6 else 'huwentao'
  11. print(name)
  12.  
  13. 输出结果:
  14. huwentao
  15. zhouyan

二. 内置函数简介

  1. 1. str(), int(), bool(), list(), dict(), set(), tuple(), bytes(), type(), isinstance()
  2. 这个是一系列的关于数据类型的函数,因为对于数据类型创建一般有两种方式,
  3. 例: <1>: i = 10 <2>: i = int(10) 这两种方式是一样的,其本质都是调用int函数的_init_函数去创建的对象,其他的类型也一样
  4. type(): type() 可以显示出类型
  5. 例:
  6. i = 10
  7. print(type(i))
  8. 结果:<class 'int'>
  9. isinstance(要判断的数据, 数据类型): 用来判断是不是某个类型
  10. 例:
  11. i = 10
  12. print(isinstance(i, int))
  13. 结果: True 因为i就是int类型。所以返回True
  14.  
  15. 2. bin(), int(), hex(), oct()
  16. 这是一系列关于进制转换的函数,
  17. bin(): 十进制转二进制
  18. 例:print(bin(10)) ----->0b1010
  19. hex(): 十进制转十六进制
  20. 例:print(hex(10)) ----->0xa
  21. oct(): 十进制转八进制
  22. 例:print(oct(10)) ----->0o12
  23. int(): 其他进制转十进制
  24. 例:
  25. print(int('', 2)) #二进制---》十进制
  26. print(int('ab', 16)) #二进制---》十进制
  27. print(int('', 8)) #二进制---》十进制
  28. 结果:
  29. 21
  30. 171
  31. 8
  32. 3. repr(), ascii()
  33. 这两个函数差不多是一样的,就是调用内置函数里面的_repr__()
  34.  
  35. 4. all(), any()
  36. all(): 里面的变量全部为真,返回值为真
  37. 例:
  38. print(all(['hu','zhou','xiaozhou']))
  39. print(all(['hu','zhou','xiaozhou','']))
  40. 结果:
  41. True
  42. False
  43. any(): 里面的变量只要有一个为真,就返回为真
  44. 例:
  45. print(any([]))
  46. print(any(['hu','zhou','xiaozhou']))
  47. print(any(['hu','zhou','xiaozhou','']))
  48. 结果:
  49. False
  50. True
  51. True
  52.  
  53. 5. dir(), help()
  54. 用来获得当前模块或者函数的属性列表
  55. dir() 获取简单的属性列表
  56. print(dir(list))
  57. help() 获取详细的属性列表
  58. help(list)
  59.  
  60. 6. enumrate() ,len()
  61. 会给一个序列在生成一列索引,由以下例子可以看出,自动增加缩进然后以一个元组的形式保存在i变量中
  62. 例:
  63. list = ['hu','zhou','xiaozhou']
  64. for i in enumerate(list, 1):
  65. print(i)
  66. 结果:
  67. (1, 'hu')
  68. (2, 'zhou')
  69. (3, 'xiaozhou')
  70. len(): 得到长度
  71.  
  72. 7. max(), min(), sum(), sorted(), round(), reversed(), abs(), pow(), range(), divmod(), zip()
  73. 这个是一系列关于数据操作的函数
  74. 由名字可以看出,取最大值,最下值,求和,排序,四舍五入,翻转,取绝对值,求幂运算,生成一个可迭代对象
  75. round():
  76. 例:
  77. print(round(11.1))
  78. print(round(11.5))
  79. print(round(11.6))
  80. 结果:
  81. 11
  82. 12
  83. 12
  84. reversed():
  85. 例:
  86. list = [99,32,1,232,44]
  87. print(sorted(list))
  88. range():生成一个可迭代对象
  89. 例:
  90. a = range(10)
  91. print(a)
  92. for i in a:
  93. print(i, end = ' ')
  94. 结果:
  95. range(0, 10)
  96. 0 1 2 3 4 5 6 7 8 9
  97. divmod(): 把除数和余数同时输出来
  98. 例:
  99. print(divmod(10, 3)) -----》 (3, 1)
  100. zip(): 结合两个列表
  101. list = [11,22,33,44]
  102. hu = ['hu','zhou','xiaohu','xiaozhou']
  103. a = zip(list, hu)
  104. for i in a:
  105. print(i)
  106.  
  107. 8. callable()
  108. 判断里面的数据是否可执行,一般函数和类是可执行的
  109. 例:
  110. def test():
  111. return 10
  112. print(callable(1))
  113. print(callable('weg'))
  114. print(callable(test))
  115. 结果:
  116. False
  117. False
  118. True
  119. 9. chr(), ofd()
  120. chr(): 数字转ascii
  121. ord(): asscii转数字
  122. 例:
  123. print(chr(69))
  124. print(ord('E'))
  125. 10. compile(),exec(),eval()
  126. complie():用来编译生成对象
  127. exec(): 用来执行编译生成的对象
  128. 例:
  129. str = '''
  130. for i in range(4):
  131. print(i)
  132. '''
  133. c = compile(str,'','exec')
  134. exec(c)
  135. eval():只能对简单的代码进行操作,不能进行代码的执行
  136. 例:
  137. print(eval('1+2'))
  138.  
  139. 11. local() globals(), hash()
  140. local():当前执行函数的所有局部变量
  141. globals:当前执行函数的所有全局变量
  142. hash(): 对里面的数据进行hash运算
  143. 12. exit()
  144. exit(): 退出程序
  145. 13. open(), import
  146. open是打开文件
  147. import导入模块
  148.  
  149. 14. filter(), map()
  150. filter(函数,过滤的对象): 每一个过滤的对象都相应的执行函数,当返回为真的时候,就返回回去,并且返回的是一个对象
  151. 例:
  152. def hanshu(aa):
  153. if aa > 22:
  154. return True
  155. else:
  156. return False
  157. a = filter(hanshu, [11,22,33,44])
  158. print(a)
  159. for i in a:
  160. print(i)
  161. 结果:
  162. <filter object at 0x000000A1636B4470>
  163. 33
  164. 44
  165. map(函数,对象):每一个过滤的对象都响应的代入函数中执行,返回的是他的返回值,而且返回的是一个对象
  166. 例:
  167. def hanshu(aa):
  168. if aa > 22:
  169. return True
  170. else:
  171. return False
  172. a = map(hanshu, [11,22,33,44])
  173. print(a)
  174. for i in a:
  175. print(i)
  176. 结果:
  177. <map object at 0x0000005B2B504470>
  178. False
  179. False
  180. True
  181. True

三. 文件的操作

  1. 文件的操作

  文件的基本操作有打开,和关闭,读写等。

  1. # 一般在打开一个文件的时候会创建一个对象传递给一个变量f
  2. # parameter1:文件名,如果是相对路径,必须在一个目录下面
  3. # parameter2:模式, 大致分为两种r,w
  4. # parameter3:编码方式
  5. f = open('parameter1','parameter2','parameter3')
  6. f.close()

  2. 文件的模式

  (1)普通的读写

    <1>.  r: 只能读,传入的文件参数必须要存在,否则会报错

  1. # test在当前目录下一定要存在
  2. # flie.write不能用,只能读
  3. file = open('test','r')
  4. data = file.read()
  5. # file.write('lwjege')
  6. file.close()

    <2>.  w: 只能写,不能读,传入的文件如果存在,就清空里面的内容,如果不存在,就创建

  1. # 当传入的参数是w的时候,执行完此代码再去查看test文件的时候,会发现里面的内容为“大中国”,无论之前的内容是什么,都是这个内容,因为写操作不是追加的,而是先清空之前的内容然后在写入。
  2. file = open('test','w')
  3. file.write('大中国')
  4. file.close()

    <3>.  x: 只能写,不能读,传入的文件不能存在,存在就报错

  1. # 这里的参数test2在此目录下面不能存在,如果存在就会报错,而且不能读数据
  2. file = open('test2','x')
  3. # file.read()
  4. file.write('大中国')
  5. file.close()

    <4>.  a: 只能写,不能读,传入的文件存在,就追加写入,如果不存在,就创建

  1. # 当传入的参数是a的时候,不能读数据,只能进行写数据,而且他是追加写入,不像w,会把之前的数据都清空
  2. file = open('test','w')
  3. file.write('大中国')
  4. file.close()

  (2)可读可写

    以下的操作其实很大程度上是继承了上面普通操作的属性,只是加上+号的都是可读可写的,其余的都基本上一样。

    <1>.  r+: 可读可写,文件必须存在,不存在就报错,而且他不是覆盖存储的,也不是清空之后存储的。由以下例子可见,r+是从前往后覆盖存储的。

    例1:写入文件

  1. file = open('test','r+',encoding='utf-8')
  2. print(file.tell())
  3. file.write('我是中国人,我骄傲.')
  4. file.close()
    查看文件内容:
  1. 我是中国人,我骄傲.

    例2:再次写入文件

  1. file = open('test','r+',encoding='utf-8')
  2. print(file.tell())
  3. file.write('woshi')
  4. file.close()
  5. 显示文件文内容:
  6. woshi�中国人,我骄傲.

    例3:有读操作

  1. # 只要是读操作执行了,在写的时候就会默认的在后面追加
  2. with open('test','r+',encoding='utf-8') as f:
  3. print(f.tell())
  4. f.read(1)
  5. f.write('xxx')
    原文件内容:123456
    执行完上述操作的内容:123456xxx

    例4: 有读操作,也有seek

  1. # 如果在写操作前面加上seek指定地址,写操作就会再这个地址后面添加内容,覆盖后面的内容
  2. with open('test','r+',encoding='utf-8') as f:
  3. print(f.tell())
  4. f.read(1)
  5. f.seek(2)
  6. print(f.tell())
  7. f.write('xxx')
  8.  
  9. 源文件内容:123456789
  10. 执行完代码的内容:12xxx6789

    <2>.  w+: 可读可写,文件不存在可以创建,存在就清空再存储

  1. file = open('test','w+',encoding='utf-8')
  2. print(file.tell())
  3. file.write('woshidab')
  4. file.close()
  5. 显示内容:
  6. woshidab

    <3>.  x+: 依然是文件不能存在,存在就报错,可读可写。

  1. file = open('test6','x+',encoding='utf-8')
  2. print(file.tell())
  3. # file.write('woshidab')
  4. file.close()

    <4>.  a+: 可读可写,文件存在就追加存储,文件不存在就创建。

  1. file = open('test7','a+',encoding='utf-8')
  2. print(file.tell())
  3. file.write('woshidab')
  4. file.close()

  (3)字节方式的存储

    r 和不加r的区别主要在于一个 是python内部自动给我们转换成了字符串的格式,一个是没有转换的直接就是字节格式。

    例:

  1. # 此例可知道,加上b之后的的操作都是bytes,而不加b就是字符
  2.  
  3. file = open('test','r')
  4. data = file.read()
  5. print(type(data))
  6. file.close()
  7.  
  8. file = open('test','rb')
  9. data = file.read()
  10. print(type(data))
  11. file.close()
  12. 显示结果:
  13. <class 'str'>
  14. <class 'bytes'>

    原理:

    

    <1>. rb: 和r的属性都一样,只是输出的是字节而已,我们把他转换一下就可以了。

  1. # 输出的那一句做了字节到字符串的转换,编码方式需要看test本身的编码方式是什么
  2. file = open('test','rb')
  3. data = file.read()
  4. print(str(data,encoding='utf-8'))
  5. file.close()

    <2>. wb: 和w的属性都一样,只是输出的是字节而已,我们把他转换一下就可以了。

  1. # 读和写的编码方式要一样
  2. file = open('test','wb')
  3. file.write(bytes('我是中国人',encoding='utf-8'))
  4. file.close()
  5.  
  6. file = open('test','rb')
  7. print(str(file.read(),encoding='utf-8'))
  8. file.close()
  9.  
  10. 输出结果:
  11. 我是中国人

    <3>. xb: 和x的属性都一样,只是输出的是字节而已,我们把他转换一下就可以了。

    <4>. ab: 和a的属性都一样,只是输出的是字节而已,我们把他转换一下就可以了。

  1. # 因为他是追加输入,我多运行了几次,因此显示如下结果
  2. file = open('test','ab')
  3. file.write(bytes('我是中国人',encoding='utf-8'))
  4. file.close()
  5.  
  6. file = open('test','rb')
  7. print(str(file.read(),encoding='utf-8'))
  8. file.close()
  9.  
  10. 输出结果:
  11. 我是中国人我是中国人我是中国人我是中国人

  3. 文件类的额外功能

  1. flush:用来刷新缓冲区的,把缓冲区的内容写入文件中而不需要等待文件被关闭,并清除缓冲区。
  2. readline:一次读入一行
  3. tell 获取当前指针指向的位置
  4. seek 调整当前指针的指向的位置
  5. truncate:用来截断文件,当前内容后面的都将会被删除
  6. write 写入操作
    read 读取操作
    open 打开文件
    close 关闭文件

  4. 同时打开多个文件

  1. # 固定的格式
    with open('源文件','r') as obj1,with open('新文件','w') as obj2
  2. for line in obj1:
  3. obj2.write(line)

四. 练习题:

1. 简述普通参数,指定参数,默认参数,动态参数的区别

2. 写函数,计算传入字符串中【数字】,【字母】,【空格】以及【其他】的个数

  1. # -*- coding:GBK -*-
  2. # zhou
  3. # 2017/6/13
  4. def function1(a):
  5. digit = 0
  6. str = 0
  7. space = 0
  8. other = 0
  9. for i in a:
  10. if i.isdigit():
  11. digit += 1
  12. elif i.isalpha():
  13. str += 1
  14. elif i.isspace():
  15. space += 1
  16. else:
  17. other += 1
  18. return ({'数字':digit,'字符':str,'空格':space,'其他':other})
  19. a = function1('234wlj**ego ewjgo')
  20. for i in a:
  21. print(i,a[i],'个')
  22.  
  23. 显示结果:
  24. 字符 11
  25. 空格 2
  26. 数字 3
  27. 其他 2

3. 写函数,判断用户传入的对象(字符串,列表,元组)长度是否大于5

 

  1. # -*- coding:GBK -*-
  2. # zhou
  3. # 2017/6/13
  4. def function(a):
  5. if len(a) <= 5:
  6. print('传入的参数长度小于等于5')
  7. else:
  8. print('传入的参数长度大于5')
  9. function('lwejglejgl')
  10. function([11,22,33,44])
  11. function((1,2,3,4,5,6))
  12. 显示结果:
  13. 传入的参数长度大于5
  14. 传入的参数长度小于等于5
  15. 传入的参数长度大于5

4. 写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将其作为新列表返回给调用者

  1. # -*- coding:GBK -*-
  2. # zhou
  3. # 2017/6/13
  4.  
  5. def function(a):
  6. if isinstance(a,list):
  7. if len(a) > 2:
  8. ret = a[0:2]
  9. else:
  10. ret = a
  11. else:
  12. ret = a
  13. return ret
  14. print(function([11,22,33,44]))
  15. print(function(['hu','zhou']))
  16. 结果:
  17. [11, 22]
  18. ['hu', 'zhou']

5. 写函数,判断用户传入的对象(字符串,列表,元组)的每一个元素是否含有空内容

  1. # -*- coding:GBK -*-
  2. # zhou
  3. # 2017/6/13
  4. def function(a):
  5. for i in range(len(a)):
  6. if a[i].count(' ') != 0:
  7. print('输入的对象中第%d元素中含有空格'%(i+1))
  8.  
  9. function(['hu','zh ou'])

6. 写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者

  1. # -*- coding:GBK -*-
  2. # zhou
  3. # 2017/6/13
  4.  
  5. def function(a):
  6. ret = []
  7. for i in range(len(a)):
  8. if i % 2 == 1:
  9. ret.append(a[i])
  10. return ret
  11. print(function(['hu','zhou','mage','laomanhai']))

7. 写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将其新内容返回给调用者

  1. # -*- coding:GBK -*-
  2. # zhou
  3. # 2017/6/13
  4. def function(a):
  5. ret = a
  6. for i in a.keys():
  7. if len(a[i]) > 2:
  8. ret[i] = a[i][0:2]
  9. else:
  10. ret[i] = a[i]
  11. return ret
  12. print(function({'k1':'v1','hu':'haoshuai','zhou':'haomei'}))
  13. 结果:
  14. {'k1': 'v1', 'zhou': 'ha', 'hu': 'ha'}

8. 验证码

  1. # -*- coding:utf-8 -*-
  2. # zhou
  3. # 2017/6/14
  4. import random
  5. temp = str()
  6. for i in range(6):
  7. num = random.randrange(0, 4)
  8. if num == 1 or num == 3:
  9. num = random.randrange(0, 10)
  10. temp = temp + str(num)
  11. else:
  12. rad = random.randrange(65, 91)
  13. rad = chr(rad)
  14. temp = temp + rad
  15. print(temp)

  

python系列3之内置函数和文件操作的更多相关文章

  1. python day5 lambda,内置函数,文件操作,冒泡排序以及装饰器

    目录 python day 5 1. 匿名函数lambda 2. python的内置函数 3. python文件操作 4. 递归函数 5. 冒泡排序 6. 装饰器 python day 5 2019/ ...

  2. python基础十三之内置函数

    内置函数 操作字符串代码 eval和exec print(eval('1+2')) # 简单的计算 有返回值 exec('for i in range(10):print(i)') # 简单的流程控制 ...

  3. Python全栈开发之4、内置函数、文件操作和递归

    转载请注明出处http://www.cnblogs.com/Wxtrkbc/p/5476760.html 一.内置函数 Python的内置函数有许多,下面的这张图全部列举出来了,然后我会把一些常用的拿 ...

  4. Python学习日记(六)——内置函数和文件操作(lambda)

    lambda表达式 学习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即: # 普通条件语句 if 1 == 1: name = 'prime' else: name = 'c ...

  5. set、def、lambda、内置函数、文件操作

    set : 无序,不重复,可以嵌套 .add (添加元素) .update(接收可迭代对象)---等于批量 添加 .diffrents()两个集合不同差 .sysmmetric difference( ...

  6. 【python】函数之内置函数

    Python基础 内置函数 今天来介绍一下Python解释器包含的一系列的内置函数,下面表格按字母顺序列出了内置函数: 下面就一一介绍一下内置函数的用法: 1.abs() 返回一个数值的绝对值,可以是 ...

  7. Python之内置函数

    内置函数 python里的内置函数.截止到python版本3.6.2,现在python一共为我们提供了68个内置函数.它们就是python提供给你直接可以拿来使用的所有函数. 分类学习内置函数: 总共 ...

  8. python之内置函数(一)

    一.内置函数一1.内置函数总览 abs() dict() help() min() setattr()all() dir() hex() next() slice() any() divmod() i ...

  9. python基础之内置函数和匿名函数

      内置函数 学习函数以后多了很多概念,例如函数的命名空间,函数的作用域,函数的调用等等,函数的作用就是为了实现某些功能而方便以后可以调用,内置函数就是这样的一些公共的函数,被称为内置函数. 我们就一 ...

随机推荐

  1. Spring-cloud微服务 Eureka学习教程-分布式搭建EurekaServer、EurekaClient(中级)

    我们这里只有一台服务器,所以我们先仿集群搭建. 完整demo项目代码:https://github.com/wades2/EurekaDemo2 在这之前我们先分析分析Eureka相比其他注册中心的好 ...

  2. JQuery Dialog对话框 不能通过Esc关闭

    背景:想通过Esc键关闭展示中的Dialog对话框,发现有些对话框可以,有些会失效. 原因分析: 1.对话框上可以输入内容的标签元素可以,反之不行. 2.如果鼠标点击对话框后,也可以Esc键关闭. 可 ...

  3. css 伪元素选择器

    /*设置第一个首字母的样式*/ p:first-letter{ color: red; font-size: 30px; } /* 在....之前 添加内容 这个属性使用不是很频繁 了解 使用此伪元素 ...

  4. php socket简单使用

    php的socket编程算是比较难以理解的东西吧,不过,我们只要理解socket几个函数之间的关系,以及它们所扮演的角色,那么理解起来应该不是很难了,在笔者看来,socket编程,其实就是建立一个网络 ...

  5. Struts2_用DomainModel接收参数

    用域模型接收参数 User类 package com.bjsxt.struts2.user.model; public class User { private String name; privat ...

  6. 概念:RPG游戏中两个兵种互相攻击的逻辑

    直接上题目: 解析题目: 根据题目的解析,进行代码的实现: 输出结果: 心得: (1) 当我们面对‘公式结果不是我们想要的’时,应该在脑海里将一个完整的攻击流程进行想象,就会对流程有个更清晰的思路 ( ...

  7. 详细讲解:通过composer安装TP5.1(Thinkphp5.1)

    现在TP5越来越火了,TP5也更新到了5.1版本,但是5.1以上版本只能通过composer来进行安装,那么这里贴出详细的步骤 前提:PHP版本必须要5.6以上 参考网址:http://www.thi ...

  8. 数据结构与算法分析java——线性表2(ArrarList )

    ArrayList ArrayList 是一个数组队列,相当于 动态数组.与Java中的数组相比,它的容量能动态增长.它继承于AbstractList,实现了List, RandomAccess, C ...

  9. Selenium入门10 弹出框的处理 switch_to.alert

      三种弹出框alert(一个按钮),confirm(两个确认,取消),prompt(两个按钮+输入框). 切换到弹框: switch_to_alert()  新版的selenium用:  brows ...

  10. Codeforces 760A Petr and a calendar

    题目链接:http://codeforces.com/problemset/problem/760/A 题意:日历需要多少列. #include <bits/stdc++.h> using ...