When you look at the Python Cookbook, section 9.5, "Defining an adorner that can be modified by the user", has an adorner that takes some time to make a note lest you forget the second time you brush the book.Complete code: https://github.com/blackmatrix7/python-learning/blob/master/python_cookbook/chapter_9/section_5/attach_wrapper.pyThe decorator in the book (called the Accessor function in the book)def attach_wrapper (obj, func=None): if is none
the value of key is the set typec['a'].add (1) c['a'].add (2) c['a'].add (2) c['b'].add (4)Print('the value of key is a dictionary of the list type:', D)Print('the value of key is a dictionary of the set type:'C>>> ================================ RESTART ================================>>>the value of key is a dictionary of list type: Defaultdict (class 'List', {'b': [4],'a': [1, 2, 2]}) The value of key is a dictionary of the set type: Defaultdict (class 'Set', {'b': {4},'a': {1, 2}})>>>One t
errorTraceback (most recent): File"", Line 1,inchIndexerror:index out of range>>> Heappush (a,3)>>>a[3]>>> Heapreplace (a,2)#Delete (Heappop (a)->3) first, then join (Heappush (a,2))3>>>a[2]>>> Heappush (a,5) >>> Heappush (a,9)>>> Heappush (a,4)>>>a[2, 4, 9, 5]>>> Heapreplace (a,6)#first find the minimum value from heap A and return, then add 62>>>a[4, 5, 9, 6]>>> Heapreplace (a,1)#1 is added later, before 1, the minimum value in a is 4 .4>>>a[1, 5, 9, 6]>>> a=[2,4,6] >>> b=[1,3,5]>>>
Problem: You want to access the element by name to reduce the dependency on the location in the structureSolution: Use the named Tuple collections.namedtuple (). It is a factory method that returns a subclass of the standard tuple type in Python, gives it a type name and the corresponding field name , returns a class that can be instantiated, gives you a defined field name to pass in the value, and so on.The primary purpose of a named tuple is to decouple the code from the location of the elemen
Problem: Want to create a dictionary, which is itself a subset of another dictionarySolution: Use dictionary derivation (dictionary comprehension) to easily solve#example of extracting a subset from a dictionary fromPprintImportpprintprices= { 'ACME': 45.23, 'AAPL': 612.78, 'IBM': 205.55, 'HPQ': 37.20, 'FB': 10.75}#Make A dictionary of pricesP1 = {Key:value forKey, ValueinchPrices.items ()ifValue > 200 }Print("All prices") Pprint (p1)#Make A dictionary of tech stocksTech_names = {'AAPL
=min (Zip (Prices.keys (), Prices.values ())) #zip () parameter is incorrect in order to get the wrong value>>>Min_price3 ('AAPL', 612.78)>>> Max_price3 =max (Zip (Prices.keys (), Prices.values ())) #zip () parameter is incorrect in order to get the wrong value >>>Max_price3 ('IBM', 205.55)>>>When doing these calculations, note that zip () creates an iterator whose contents can only be consumed once. For example:>>> pirces_and_names=Zip (prices.values (), Prices.keys ())>>> pirces_and_names mi
If the object is an iterative (any sequence), it can be decomposed, including tuples, lists, strings, files, iterators, and generators, which can be decomposed into separate variables by a simple assignment operation.The only requirement: The total number of variables matches the sequence, otherwise an error will occur;Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5, 20:32:19) [MSC v.1500 32bit (Intel)] on Win32type"Copyright","credits" or "license ()" forMore information.>>> p=[4,5]>>>p[4, 5]>>> x,
experimentImportunicodedatan_s1= Unicodedata.normalize ('NFC', s1) n_s2= Unicodedata.normalize ('NFC', S2)Print('n_s1 = = n_s2?', n_s1 = =n_s2)Print('len (n_s1) =', Len (N_S1),'Len (N_S2)', Len (n_s2))Print('*****************************')#(d) Example of normalizing to a decomposed form and stripping accentsT1 = Unicodedata.normalize ('NFD', s1) T2= Unicodedata.normalize ('NFD', S2)Print('T1 = = t2?', t1==T2)Print('len (t1) =', Len (T1),'len (t2) =', Len (T2))Print("'. Join (c forCinchT1if not
keyword;#example.py##Example of combining text via generatorsdefsample ():yield " is" yield "Chicago" yield " not" yield "Chicago?"#(a) use Join () to simply connect them togetherText ="'. Join (sample ())Print(text)Print('======================')#(b) Redirect these fragments to I/OImportSYS forPartinchsample (): Sys.stdout.write (part) Sys.stdout.write ('\ n')Print('**************************')#(c) intelligently combine I/O operations in a mixed mannerdefCombine (source, maxsize): Par
Python cookbook (data structure and algorithm) method for saving the last N elements, pythoncookbook
This example describes how to save the last N elements in Python. We will share this with you for your reference. The details are as follows:
Problem:We hope to make a limited history statistics for the last few records during iteration or other forms of processing.
Solution:Select collections. deque.
The following code performs a simple text match on
for vertex shaders.vertex:128 instruction limit. fragment:96 instruction Limit (texture + arithmetic), temporary registers and 4 texture indirections.3.0Compiles the shader under Shader Model 3. Model 3 is more powerful and flexible than 2 but is less compatible.Vertex:no instruction limit.fragment:1024 instruction Limit (texture + arithmetic), temporary registers and 4 texture indirections.It is the possible to override these limits using #pragma profileoption directive.For example, #pragma pr
=tex2d (_maintex,in.uv_maintex); Half4 secondcolor=tex2d (_ Secondtex,in.uv_secondtex); float4 heightcolor=tex2d (_heightmap,in.uv_maintex); float redchannel=1- IN.VERTEXCOLOR.R; The vertex color R also stores the height data, 1 minus the height data stored in the height graph is the ratio of float RHEIGHT=HEIGHTCOLOR.R * REDCHANNEL; The r actual data of the height graph float invertheight=1-heightcolor.r;float finalheight= (invertheight * redchannel) *4;float finalBlend= Saturate (rheight + fin
Class and object of the 8th chapter 2016.5.38.1 Changing the object's string display __str__ and __repr__%s and%r, mentioned Eval, I didn't use it.8.2 Formatting a custom string __format__8.3 Let the object support context management, __enter__ and __exit__, you can use the WITH8.4 Ways to save memory when creating a large number of objects __slot__,__slot__ is more of a memory-optimized tool than a wrapper tool to prevent users from adding new properties to an instance.8.5 Encapsulating propert
) {fixed4 c = fixed4 (1,1,1,1); C.rgb = c * s.albed O;C.A = S.alpha;return C;}In the unlit illumination model function, no processing is done and no illumination is accepted.void Vert (inout appdata_full v,out Input o) {unity_initialize_output (input,o); Tangent_space_rotation;o.tan1=mul (ROTATION,UNITY_MATRIX_IT_MV[0].XYZ); O.tan2=mul (rotation,UNITY_MATRIX_IT_MV[1 ].XYZ);}In the vertex function, in order to correctly retrieve the spherical map, we need to multiply the tangent rotation matrix r
Surf (Input in, InOut surfaceoutput o) {half4 c = tex2d (_maintex, In.uv_maintex); O. Albedo = C.rgb;o. Alpha = C.A;} ENDCG} FallBack "Diffuse"}The book also adds a mix of colors to make the effect look more dazzling, not here.Transfer from Http://blog.csdn.net/huutu http://www.thisisgame.com.cnLearn about a function mentioned in the book LerpLerp interpolation functionfloat f = lerp (from,to,t) = from* (1-t) + to*tWhen t = 0 returns from, when t = 1 returns to. When t = 0.5 returns the mean of
(dot (o.normal,normalize (in.viewdir))), Rim=pow (Rim,_rimpower), O. Albedo = c.rgb;//So rim=0,o when the line of sight is perpendicular to the surface. Emission = 0. The closer the line of sightVertical, the smaller the reflection. O.emission= (Texcube (_CUBEMAP,IN.WORLDREFL). RGB * _reflectionamount) *rim;o. Specular=_specpower;o. Gloss=1.0;o. Alpha = C.A;} ENDCG} FallBack "Diffuse"}The code comment is already there.I drew a picture, too.The effect of the final implementationThe area where th
Smooth python and cookbook Study Notes (7), pythoncookbook1. Read and Write compressed data files
Use the gzip and bz2 modules to read and write compressed files. However, pay attention to the file mode. The default format is binary.
1 # Read the compressed file 2 import gzip 3 with gzip.open('somefile.gz ', 'rt') as f: 4 text = f. read () 5 6 import bz2 7 with bz2.open('somefile.bz2 ', 'rt') as f: 8 text = f. read () 9 10 # Write compressed data 11
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.