$ N. T$ I K. t1 b V 5 H/ ?. N/ S. {& D9 F: y/ a2 _58.使用Python内置的filter()方法来过滤? " @- w" W. U& w! A( E2 U5 r. J4 l: i* J& ?9 O3 V! q5 B7 H& V
7 C2 R# d5 l& u: W- ~
list(filter(lambda x: x % 2 == 0, range(10)))& w! g. N n! x- C8 N* `
1 ( i# f4 _/ T B) s' R59.编写函数的4个原则 # j8 I$ B* q% W2 I. ~: T1 b/ x7 g& \2 {; @2 a
- i! s! E! V7 ?/ D. J$ H1.函数设计要尽量短小 % X. u( I8 O( y( Y" I, U ! d; O& I0 t, M; h, r " c4 M3 O- L/ \. d2.函数声明要做到合理、简单、易于使用 2 ^8 X6 J$ E1 y" F# K! o o ) i3 z5 s# t J* ]. {. O5 {: w: c* m3 o
3.函数参数设计应该考虑向下兼容 , I6 V3 B9 R, f$ M" D- U" [ ' U3 f2 C, h* Z& R/ j( w$ [) L- T+ U- g2 Z6 ^ Y2 l
4.一个函数只做一件事情,尽量保证函数语句粒度的一致性+ n) Z. e3 E/ U- G( T
/ K& V0 J* G! x5 }, { C. L: h( Y3 f: @% |60.函数调用参数的传递方式是值传递还是引用传递?9 X* x; Z- @2 C- {5 s* d/ o
5 n. S7 ]) Y0 e5 o9 J9 d4 y
: l. b- u9 Y( [2 q/ \- ]1 VPython的参数传递有:位置参数、默认参数、可变参数、关键字参数。! V8 \ s: g7 t, r+ o, T
函数的传值到底是值传递还是引用传递、要分情况:0 x. H# e2 D$ c
3 V O+ f* T# B9 @. P ' c6 S- K; E6 o+ t8 P' `不可变参数用值传递:像整数和字符串这样的不可变对象,是通过拷贝进行传递的,因为你无论如何都不可能在原处改变不可变对象。; _, q0 Q( C. T A0 R
可变参数是引用传递:比如像列表,字典这样的对象是通过引用传递、和C语言里面的用指针传递数组很相似,可变对象能在函数内部改变。# ]% M. P8 Q& F5 u1 X7 Z
* e- v# J$ G( @4 V% A/ \# k- _8 d# f, u1 y# S4 }1 n0 M. C
61.如何在function里面设置一个全局变量% T* W& b( v4 {7 s# d
# _. l N3 a4 C( \# _
8 t' Y' a0 J2 k9 X( i l
globals() # 返回包含当前作用余全局变量的字典。 $ p) \" ~+ G" y; b" cglobal 变量 设置使用全局变量" O8 v, T* k; M2 s p
1 ' `) \' [! G b, | S2# s! z( x1 ~/ ]. H' X
62.对缺省参数的理解 ? / F) Q1 b& H* ?" q) m6 g6 H9 R/ L, u U7 A2 w/ y
q6 ~, J6 i8 j- E( P缺省参数指在调用函数的时候没有传入参数的情况下,调用默认的参数,在调用函数的同时赋值时,所传入的参数会替代默认参数。 % R+ Y9 v1 M* `+ P: B: X( d & g/ g/ j% o. U( I$ \7 g, X8 j! J& @1 Y' T. V, R) ~% u6 C
*args是不定长参数,它可以表示输入参数是不确定的,可以是任意多个。 ) [8 H7 N! Z8 a) s# I5 \& \**kwargs是关键字参数,赋值的时候是以键值对的方式,参数可以是任意多对在定义函数的时候不确定会有多少参数会传入时,就可以使用两个参数5 c, d" U% x& H' r; N
/ Y) _3 H. X# h% z$ u! ]8 E & p' d* c$ m: ?0 q' l63.Mysql怎么限制IP访问? 6 |+ ? q! r" s0 h/ X0 K ) F5 l7 U7 ~" \! @9 x1 w 9 R8 A: K: n) }! r* U5 W64.带参数的装饰器?2 ~9 J5 ?, f0 t( j5 `5 {
带定长参数的装饰器 - E& q) _ n+ M! K# j " j) g, G; R& h $ E) d' d- b, |4 [8 V u' \2 a2 w
# r2 J+ R2 }' W4 K( H* ]" L M
, ~% T; b. f+ \' c& R5 C K' O1 W/ q/ _0 F- U) u7 z2 d! A" L
带不定长参数的装饰器7 z! c- T- l* A- e d: m& G9 u
' T1 o$ c( o; M0 z4 b' R
/ O+ l5 ]$ r# I1 y/ @ x, V- X
7 Q, D3 |& x( r; o$ f ' N4 w( U1 _ O1 L% h* ]# a3 \65.为什么函数名字可以当做参数用? 7 e' P4 a) x+ V, p; S / Q4 ?5 J. W7 w1 n8 S% K# j: Z) Y: {# W6 w; p
Python中一切皆对象,函数名是函数在内存中的空间,也是一个对象) u+ F6 ~6 z+ |
8 Z3 s6 f G9 P$ O! l) N d8 r * m- h0 Z4 W# v1 C$ c66.Python中pass语句的作用是什么?2 i: }6 r4 W8 S
, f2 k+ a7 w! U0 h # a' |5 n4 W; U, G在编写代码时只写框架思路,具体实现还未编写就可以用pass进行占位,是程序不报错,不会进行任何操作。 / N0 E2 J; _& I: H1 ? : ?- ~- Q7 s5 a 9 Z4 e. s2 }1 c) ]- W1 S67.有这样一段代码,print c会输出什么,为什么? ! q% u: S8 x& {* w. B }# F6 U$ m; r, M( w0 g; j! s / x8 m% H, m5 s9 ja = 10 + ?& ?8 q* w( ?; }- Vb = 20 : @# E+ e/ V) i0 y0 p C
c = [a] 2 Z! a5 S2 d( _# I
a = 15* ^- p6 q$ @6 U- d5 ~* U
1 2 [0 n6 C) s7 P% M2 : q8 f" z @! w! n- C3 ) B* {/ E& O9 y2 Z" A' C, I- g4 {4 & M" G) q1 R# z1 x答:10对于字符串,数字,传递是相应的值$ b$ D A) Y5 `/ i
4 j; K) h# q3 A5 J6 z2 e& v3 Z
3 C v+ q' Q$ |; }7 g+ X68.交换两个变量的值? 8 L2 t7 H) g! A9 Z U1 E1 C8 H1 E L
6 S$ @( w; c* i
a, b = b, a: l* }+ U# y! L' X0 B" r; t$ D
1 * [/ P+ A6 t" h. K1 t& z69.map函数和reduce函数?( t/ r& R+ D( n6 O% A* u, y