kitty

C#使用Emit生成构造函数和属性

南笙酒味 提交于 2020-03-07 08:33:36
假设我们需要一个名叫Kitty的类,其在Pets程序集下。 1 // specify a new assembly name 2 var assemblyName = new AssemblyName("Pets"); 3 4 // create assembly builder 5 var assemblyBuilder = AppDomain.CurrentDomain 6 .DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave); 7 8 // create module builder 9 var moduleBuilder = assemblyBuilder.DefineDynamicModule("PetsModule", "Pets.dll"); 10 11 // create type builder for a class 12 var typeBuilder = moduleBuilder.DefineType("Kitty", TypeAttributes.Public); 定义字段 Kitty类包含两个私有字段_id和_name。用类型构造器来定义, 1 var fieldId = typeBuilder.DefineField( 2 "_id", typeof(int),

python学习——类

假装没事ソ 提交于 2020-03-01 19:51:03
""" 类定义: 关键字:class 语法: class 类名: # 类里面的代码 类名的命名规范:遵循标识符的命名规范,风格采用大驼峰命名法(每个单词的第一个字母大写) 通过类创建对象: 对象 = 类名() """ class Cat: pass class MyTestClass: pass # 关于对象:有人叫对象,也有人叫实例 # 通过类创建对象(实例化对象) kitty = Cat() print(kitty, id(kitty)) coffee = Cat() print(coffee, id(coffee)) 类属性和实例属性 """ 这一类事物拥有的共同特征,我们通常会定义为类属性 类属性:在类里面直接定义的变量,叫做类属性 # 通过对象访问类属性:对象名.属性名 # 通过类访问类属性:类名.属性名 实例属性:每个对象的属性值都有可能不一样,就应该定义为实例属性(对象属性) 实例属性的定义:对象.属性名 = 属性值 """ print("------------------类属性--------------------") class Cat: leg = "四条腿" tail = "长尾巴" kitty = Cat() coffee = Cat() # 通过对象访问类属性:对象名.属性名 print(kitty.leg) print(coffee.leg) #

dp-位移模型

房东的猫 提交于 2020-02-26 23:29:04
一: 题目: Hello Kitty想摘点花生送给她喜欢的米老鼠。 她来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来。 地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘走该它上面所有的花生。 Hello Kitty只能向东或向南走,不能向西或向北走。 问Hello Kitty最多能够摘到多少颗花生。 输入格式 第一行是一个整数T,代表一共有多少组数据。 接下来是T组数据。 每组数据的第一行是两个整数,分别代表花生苗的行数R和列数 C。 每组数据的接下来R行数据,从北向南依次描述每行花生苗的情况。每行数据有C个整数,按从西向东的顺序描述了该行每株花生苗上的花生数目M。 输出格式 对每组输入数据,输出一行,内容为Hello Kitty能摘到得最多的花生颗数。 数据范围 1 ≤ T ≤ 100 1≤T≤100, 1 ≤ R , C ≤ 100 1≤R,C≤100, 0 ≤ M ≤ 1000 0≤M≤1000 输入样例: 2 2 2 1 1 3 4 2 3 2 3 4 1 6 5 输出样例: 8 16 分析: 代码: 1 #include <iostream> 2 #include <algorithm> 3 4 using namespace std; 5 6 const int N = 110; 7 8 int n, m; 9

Repair the Wall(贪心)

孤街醉人 提交于 2020-01-16 06:56:12
Problem Description Long time ago , Kitty lived in a small village. The air was fresh and the scenery was very beautiful. The only thing that troubled her is the typhoon. When the typhoon came, everything is terrible. It kept blowing and raining for a long time. And what made the situation worse was that all of Kitty's walls were made of wood. One day, Kitty found that there was a crack in the wall. The shape of the crack is a rectangle with the size of 1×L (in inch). Luckly Kitty got N blocks and a saw(锯子) from her neighbors. The shape of the blocks were rectangle too, and the width of all

C#反射发出System.Reflection.Emit学习

耗尽温柔 提交于 2019-12-30 02:30:15
秒懂C#通过Emit动态生成代码 首先需要声明一个程序集名称, 1 // specify a new assembly name 2 var assemblyName = new AssemblyName("Kitty"); 从当前应用程序域获取程序集构造器, 1 // create assembly builder 2 var assemblyBuilder = AppDomain.CurrentDomain 3 .DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave); 有几种动态程序集构造访问限制: AssemblyBuilderAccess.Run; 表示程序集可被执行,但不能被保存。   AssemblyBuilderAccess.Save; 表示程序集可被保存,但不能被执行。   AssemblyBuilderAccess.RunAndSave; 表示程序集可被保存并能被执行。 AssemblyBuilderAccess.ReflectionOnly; 表示程序集只能用于反射上下文环境中,不能被执行。  AssemblyBuilderAccess.RunAndCollect; 表示程序集可以被卸载并且内存会被回收。 在程序集中构造动态模块, 1 // create module

秒懂C#通过Emit动态生成代码

北慕城南 提交于 2019-12-30 02:21:37
首先需要声明一个程序集名称, 1 // specify a new assembly name 2 var assemblyName = new AssemblyName("Kitty"); 从当前应用程序域获取程序集构造器, 1 // create assembly builder 2 var assemblyBuilder = AppDomain.CurrentDomain 3 .DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave); 有几种动态程序集构造访问限制: AssemblyBuilderAccess.Run; 表示程序集可被执行,但不能被保存。   AssemblyBuilderAccess.Save; 表示程序集可被保存,但不能被执行。   AssemblyBuilderAccess.RunAndSave; 表示程序集可被保存并能被执行。 AssemblyBuilderAccess.ReflectionOnly; 表示程序集只能用于反射上下文环境中,不能被执行。  AssemblyBuilderAccess.RunAndCollect; 表示程序集可以被卸载并且内存会被回收。 在程序集中构造动态模块, 1 // create module builder 2 var

python optparse命令行参数捕捉解析

北城以北 提交于 2019-11-30 19:24:01
需求: 有时候我们需要在命令行启动脚本时需要指定这个脚本的一些参数,简单举例,例如 python start.py -n kitty -s fly abc bde 脚本文件后面的-n kitty -s fly abc bde参数如何在脚本当中取到呢,这时候就需要使用optparse模块了 首先,我们需要创建一个OptionParser的对象 from optparse import OptionParser op=OptionParser() 然后,我们需要用到add_option方法绑定参数,参数绑定后,用op.parse_args方法解析,得到两个变量,options为已经绑定的参数,args是除了绑定的参数之外的参数,统一存放在args中 op.add_option('-n','--name',dest='name') op.add_option('-s','--skill',dest='skill')options,args=op.parse_args()print(options,args) 绑定完了之后,我们在命令行模式下输入命令 命令行下输入:python test.py -n kitty -s fly abc bde 输出:{'name': 'kitty', 'skill': 'fly'} ['abc', 'bde'] #参数看似已经捕捉到了

Ubuntu16.04更改新加卷名称

雨燕双飞 提交于 2019-11-29 14:39:25
作为一个小白,刚开始玩儿Ubuntu没俩月。 鉴于美少女的需要大量内存来训练模型,全新的系统啊!!就装了个kaldi,下了一波数据,别的嘛都没干,跑了两天模型就发现报错报错报错~ No space left on device!~ 好吧 df 检查内存 奔溃。。。。 但是呢~ 好在我有挂载卷。哦吼吼 但是使用那个盘 每次都有新加卷三个字 导致我每次cd 路径好麻烦。于是上网各种搜改名字的。。。发现好多坑。。。 根据教程把我亲爱的新加卷卸载了。 然后 我找不到后续她说的了。。 不过好在额 还好最后加载回来了。 改名字 其实没有那么难。 废话不说了。 上图 打开disk 看到你的新加卷的下面有三个小按钮,其中一个就是设置。点! 然后有个format Partition 输入你想要的名字,然后下一步 format一下就可以了。 不过需要注意的是。。你要先把内容给都备份。 格式化以后什么东西都没有了 恩 就酱 来源: CSDN 作者: NoHello_Kitty 链接: https://blog.csdn.net/NoHello_Kitty/article/details/77771347

对于绘画嘴巴不够详细?不会画嘴巴?

浪尽此生 提交于 2019-11-29 09:51:01
嘴巴怎样画?怎样才能画好嘴巴?动漫人物的嘴巴怎样画?二次元漫画人物的嘴巴怎样画?想必这些都是绘画初学者们经常在想的问题吧,画好人物之后总是感觉怪怪的,那么这种状况扫除人体结构的话可能就是由于人物的五官问题 绘画嘴巴结构 嘴部被分为上、下唇、唇结和人中等部分。 需要注意的是: 嘴巴中心部位的突出、嘴唇的弧度。 嘴唇从正面看像是一个长方形,我们可以在长方形里分割,注意观察中间的部分要比两侧宽一些。上嘴唇鼓起的位置处于中线位置,也就是我们平常所说的 唇珠 。 在画御姐时,可以强调唇珠位置,会显得更加性感迷人。 写实的嘴巴画法结构非常明显,上下唇都有细节的刻画。二次元中,普通的嘴巴已经有所简化。 有些情况下只用一条线或者两条线就能搞定,有些甚至连嘴巴都不要。 最出名的例子当属人尽皆知的HELLO KITTY。 在做人物设定的时候,把HELLO KITTY是一种精神上的陪伴,把秘密告诉她,没有嘴巴的HELLO KITTY就会保守你的秘密,多治愈。 什么HELLO KITTY藏尸案、恐怖故事我根本就不感兴趣。 下面我们就讲讲的二次元中嘴巴的画法。 绘画嘴巴的画法 01普通嘴唇 step 1. 确定出嘴巴的范围大小。画出嘴角位置。 注意嘴角是与瞳孔对齐的。 step 2. 在嘴巴的中间位置画出唇珠以及唇缝。 step 3. 最后再画出上、下嘴唇。 02极简的嘴唇 step 1. 画出两条弧线

.NET进阶篇06-async异步、thread多线程2

让人想犯罪 __ 提交于 2019-11-26 17:24:37
知识需要不断积累、总结和沉淀,思考和写作是成长的催化剂 内容目录 一、线程Thread 1、生命周期 2、后台线程 3、静态方法 1.线程本地存储 2.内存栅栏 4、返回值 二、线程池ThreadPool 1、工作队列 2、工作线程和IO线程 3、和Thread区别 4、定时器 一、线程Thread .NET中线程操作封装为了Thread类,可以让开发者对线程进行直观操作。Thread提供了 实例方法用于管理线程的生命周期和静态方法用于控制线程的一些访问存储等一些外在的属性,相当于工作空间环境变量了 1、生命周期 线程的生命周期有 创建、启动、可能挂起、等待、恢复、异常、然后结束 。用Thread类可以容易控制一个线程的全生命周期 Thread类的构造函数重载可以接受 ThreadStart无参数和ParameterizedThreadStart有参数的委托 ,然后调用实例的 Start()方法 启动线程。Thread的构造函数的带有参数的委托,参数是一个object类型,因为我们可以传入任何信息 Thread t1 = new Thread(() => { Console.WriteLine($"新线程 {Thread.CurrentThread.ManagedThreadId.ToString("00")}");});t1.Start();Thread t2 = new