首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python学习笔记4——函数

函数 1 # 函数需要先定义,关键字 def 2 def func(): 3 print("我是一个函数") 4 5 # 函数的调用 6 func() 执行结果: 我是一个函数 内建函数(内置函数...format(person))   return "我没事。" man = "嗨" hello(man) 嗨,你怎么了? 我没事。...普通参数or位置参数 调用时,具体值参考的是位置,按位置赋值 默认参数 形参带有默认值;如果调用时没有对相应形参赋值,则使用默认值 关键字参数 一般实参和形参只按照位置一一对应即可,而使用关键字参数...func(age=18,b="B",c=3,d="D") age --- 18 b --- B c --- 3 d --- D 这里有个自己遇到的坑:input()返回结果都只是一个字符串 def test...test(input()) # 输入 1,2,3 # 会输出: # ('1,2,3',) # 1 函数文档 作用是提供函数相关参考信息 写法:在函数开始的第一行使用三引号字符串定义符,具有特定格式

34620

.NET、C#基础知识

但是,如果定义了一组值,而这些值中的任何一个都可以用于特定的数据类型,那么将枚举用在这个地方最适合不过。...C#面向对象思想主要包括:封装,继承,多态: 封装:用抽象的数据类型将数据类型和基本的方法操作封装在一起,在数据保护在抽象类型内部 (封装就是把数据或者函数集合在一个个的类中,封装的对象被称为抽象对象,...OOP从横向上区分出一个个的类来,而AOP则从纵向上向对象中加入特定的代码。有了AOP,OOP变得立体了。如果加上时间维度,AOP使OOP由原来的二维变为三维了,由平面变成立体了。...如果不确定存储的数据长度,存储只有英文、数字的最好用varchar 如果不确定存储的数据长度,也有可能有中文,可以选择nvarchar类型 XML和json数据传输格式的优缺点...注意如果派生类的方法和基类的方法同名则基类中的方法将会被隐藏如果需要隐藏则可以使用关键字new来隐藏如果不写new关键字默认处理为隐藏虽然基类中同名的方法被隐藏了但是还是可以通过base关键字来调用

1.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Go有哪些特殊的语言特性?

    2.Go语言特殊的语言特性 2.1值传递和指针 Go中的函数参数和返回值全都是按值传递的。什么意思呢?...因为 Go 语言的值传递特性,ensureName函数内收到的 p 已经是 main 函数中 p 的一个副本了。这就和 C#中把 p 改为一个 int 类型得到的结果一样。 那怎么解决呢?用指针。...基础的用法和 C#是相同的,但是细节区别还是很大的。 首先,Go 的数组也是一个值类型,除此之外,由于”严格地“遵循了数组是一段连续的内存的结合这个概念,数组的长度是数组的一部分。...都不说分布式事务了,简单的一个内存缓存,我们用的都很混乱,在代码中会经常看到先读取缓存在读取数据库的代码,和业务完全耦合在一起,完全无法维护。...那这时候肯定有小伙伴说了,那我就是不处理搞一个类似于1/0这样的代码会怎么样呢? 如果写了类似于上述的代码,那最终会引发一个 Go 的panic。

    19210

    C# 中的动态类型

    .NET 4.0 中引入的 dynamic 关键字为 C# 编程带来了一个范式转变。...声明一个在执行过程中会发生变化的动态变量是可怕的,当开发人员对数据做出错误的假设时,代码质量就会受到影响。 对 C# 程序员来说,避免代码中的动态行为是合乎逻辑的,具有强类型的经典方法有很多好处。...值类型和引用类型都是 CLR 的基本构建块,这种优雅的类型系统在 .NET 4.0 和动态类型之前就有了。我建议您在使用 C# 中的类型时,在脑海中记住这张图。那么,DLR 是如何适应这张图的呢?...这比实现 IDynamicMetaObjectProvider 的语言实现方式更易访问。它是一个抽象类,需要继承它而不是实例化它。...这是因为 C# lambda 表达式无法访问 DLR,它期望一个来自 CLR 的类型,这使得此动态参数难以验证。记得您的训练,利用您的“代码感”来解决这个问题。

    3.3K50

    C# 8.0 中的模式匹配

    区分水果类型和水果属性就是模式匹配的功能。开发人员在进行识别时会使用各种表达方式。 按照传统方法,我可以使用简单条件来检查所有水果。但如果我需要显式地使用苹果,那会发生什么情况呢?...而在之前的示例中,它必须是特定类型的 apple。 幸运的是,有一种更好的方法。如前所述,使用 Swift 和 Kotlin 等语言就可以使用模式匹配。...使用它我可以将实例的值“提取”到类以外的新变量中。它通常与模式匹配和元组一起使用,稍后你会发现这一点。 因此,我基本上有三种在 C# 8.0 中表达模式的新方法,而且每种方法都有特定用例。...在此示例中,我只想将其与 rectangle 匹配。第二个应用的模式在与 rectangle 匹配时,配合使用解构方法和元组语法来表达我在每个特定位置所需要的值。...Ekberg 一直往返悉尼和哥德堡两地工作,在 C# 方面拥有超过十年的经验。你可以通过 Twitter 与他联系:@fekberg或 filip@ekberg.dev。

    1.9K10

    通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core?

    比如我在C#中定义了一个基类,类里面包含一个公开的指针类型的成员,我想在vb中继承这个类,并访问这个公开的成员。...如果说C#一段代码可以完成其它低级语言一大段任务,那么我们可以说它特性丰富或者类库丰富。而用C#编程不需要人为内存管控是怎么做到的呢?    ...就相当于,有一个专门的软件或进程,它会读取你的代码,然后当你执行这行代码的时候,它帮你做了内存分配工作。 这部分本该你做的工作,它帮你做了,这就是“托管”的概念。...以上就是为何Newtonsoft.Json版本不一致会导致错误的原因,其也诠释了CLR搜索程序集的一个过程。 那么,如果我执意如此,有什么好的解决方法能让程序顺利执行呢?...对于在一个方法中产生的值类型成员,将其值分配在栈中。这样做的原因是因为值类型的值其占用固定内存的大小。 C#中int关键字对应BCL中的Int32,short对应Int16。

    4.6K30

    如何构建Facebook转化漏斗?

    我常常问他们的第一个问题是,你们在Facebook上都是怎么推广的?因为我坚信没有比在线投放更划算的广告形式了。...B Facebook营销漏斗框架 我所画的就是我这次要讲的漏斗框架,它看起来像传统的营销漏斗,包含认知、兴趣、决策和购买。但是这个漏斗是较为有针对性地为Facebook广告而设计的。...然后我会再次使用视频营销,并在视频中说:“嗨,感谢您访问我们的着陆页,但是您没有选择加入,您知道我们有免费试用吗? 您知道我们在打折吗?您知道我们有免费的电子书吗?”...这就到了要用终极广告的时候了,我们要告诉Facebook:“请定向任何使用过我们的试用产品,但还没有到达最终结算页面的人,请让他们看到这则终极广告”。我之前是怎么做的呢?...我有一个使用过Facebook广告推广的课程案例。我投放了一个非常个性化的视频广告,我在视频中说:“嘿!

    2.8K160

    【翻译】.NET 💜 GitHub Actions: .NET 的 GitHub Actions 简介

    工作流将一个或多个 GitHub 操作作为一系列指令一起引用,其中每条指令执行特定任务。...工作流:工作流是一个可配置的自动化过程,将运行一个或多个作业。 事件:事件是存储库中触发工作流运行的特定活动。 作业:作业是工作流中在同一运行器上执行的一组步骤。...您必须至少指定一个触发器才能运行您的工作流,除非它是可重用的工作流。一个常见的 .NET GitHub 工作流程是在推送更改或有针对默认分支的拉取请求时构建和测试您的 C# 代码。...我整理了一个序列图(由Mermaid提供支持),它显示了开发人员如何可视化这个工作流程。...,以便您的工作流程可以访问它。

    87520

    通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core?

    如果说C#一段代码可以完成其它低级语言一大段任务,那么我们可以说它特性丰富或者类库丰富。而用C#编程不需要人为内存管控是怎么做到的呢?...就相当于,有一个专门的软件或进程,它会读取你的代码,然后当你执行这行代码的时候,它帮你做了内存分配工作。 这部分本该你做的工作,它帮你做了,这就是“托管”的概念。...以上就是为何Newtonsoft.Json版本不一致会导致错误的原因,其也诠释了CLR搜索程序集的一个过程。 那么,如果我执意如此,有什么好的解决方法能让程序顺利执行呢?有,有2个方法。...对于在一个方法中产生的值类型成员,将其值分配在栈中。这样做的原因是因为值类型的值其占用固定内存的大小。 C#中int关键字对应BCL中的Int32,short对应Int16。...我如果将值类型放到引用类型中(如:object a=3),会在栈中生成一个地址,在堆中生成该值类型的值对象,还会再生成这类型指针和同步块索引两个字段,这也就是常说装箱,反过来就是拆箱。

    2.8K63

    【DDD】持久化领域对象的方法实践

    通常我们这样建立值对象的原因很简单,在该领域中我们一联系到“人口”数量就会和“城市”连同在一起(你不会说我想知道人口数量,而你会说我想知道纽约的人口数量),所以“城市”这一概念成为我们该领域中的小颗粒对象...但是有其它的情况,一个实体包含了一个值对象,该值对象中又包含了另外一个值对象。 您可能会问,怎么可能会有这么复杂。但是如果您按照上面那个多使用值对象的准则的话,这种情况在您的项目中非常的常见。...怎么持久化集合值对象 是的,如果值对象是一个集合呢?我们又将如何处理它呢? 对了,说到这里还有一个DDD的准则:“尽量少用集合值对象。”...将集合序列化成json,特别是现在新sqlserver等数据库已经支持json格式的字段了,所以序列化和反序列化的手段也非常容易让我们去持久化值对象。 但是……我的数据库不支持json呢?...C#为我们提供了explicit和implicit的关键字,方便我们对强类型进行互转(如果您还不了解该关键字,戳这里)。

    1.8K30

    一文彻底理解cookie,session,token【专业版】

    可是如果不保存这些session id , 怎么验证客户端发给我的session id 的确是我生成的呢?...当然, 如果一个人的token 被别人偷走了, 那我也没办法, 我也会认为小偷就是合法用户, 这其实和一个人的session id 被别人偷走是一样的。...这个就类似于你和一个人交谈,你怎么知道当前和你交谈的是张三而不是李四呢?对方肯定有某种特征(长相等)表明他就是张三。 session 也是类似的道理,服务器要知道当前发请求给自己的是谁。...我们也不一定需要等到token自动失效,token有撤回的操作,通过token revocataion可以使一个特定的token或是一组有相同认证的token无效。...我们在后续的文章中会进行更加详尽的描述,但是标准的用法会在JSON Web Tokens体现。 最近的程序和文档是供给JSON Web Tokens的。它支持众多的语言。

    50730

    c#基础系列3---深入理解ref 和out

    扩展阅读 c#基础系列1---值类型和引用类型 c#基础系列2---深入理解 String 在上篇文章深入理解值类型和引用类型的时候,有的小伙伴就推荐说一说ref和out 关键字,昨天晚上彻夜难眠在想是否要谈一下呢...ref和out在c#编译器下生成的IL代码是相同的。生成的元数据是几乎相同的。有的网络文章说元数据也是一模一样的其实是错误的。元数据中其实是有一位来标志是ref还是out的,仅仅是一个bit的不同。...要不然你以为程序执行时怎么区分是ref还是out的呢^ ~ ^ 用ref或者out修饰的函数参数不能设置默认值。因为没有办法为这些参数传递一个有意义的默认值。...性能 其实明白了ref和out的基本原理和作用之后,怎么用能提高性能其实已经很明了了。值类型参数如果比较大,业务又没有复制修改的需求,当然以引用方式会比较合理。...的确,大多数情况下引用类型参数的传递没有必要添加ref或者out来修饰,但是如果方法体内我修改了指针的指向的内存地址,我们的方法调用者又需要这个新的内存地址呢?

    1.3K10

    阿里电话面试(算法工程师)

    索引(index)是一种排序数据结构,为了提高在属性A上查找具有某个特定值的元组的效率,其中Movies(id,name,year,actor)一张电影表的属性就是里面的四个值。...,k(k的长度、di是产生冲突的增量序列。 如果di值可能为1,2,3,...m-1称为线性探测再散列。...作者:我们采用PRank算法实现的,它是一种回归的算法。它存在一个打分函数,就是那136维特征和对应特征值的乘积加和,其结果是一个分数。...面试官:你说的是个研究这块大学生都知道,但具体怎么实现呢?怎样把"学生"连在一起呢? 作者:这部分我还没有深入的研究。...感觉都需要一个学习的过程,毕竟学校和公司之间的差别还是非常大的) 面试官:如果你有一个好的算法,创新的东西,你提出来,我们一起来研究提升现有的东西,这些都非常好。

    2.5K80

    阿里电话面试(算法工程师)

    索引(index)是一种排序数据结构,为了提高在属性A上查找具有某个特定值的元组的效率,其中Movies(id,name,year,actor)一张电影表的属性就是里面的四个值。...,k(k的长度、di是产生冲突的增量序列。 如果di值可能为1,2,3,...m-1称为线性探测再散列。...作者:我们采用PRank算法实现的,它是一种回归的算法。它存在一个打分函数,就是那136维特征和对应特征值的乘积加和,其结果是一个分数。...面试官:你说的是个研究这块大学生都知道,但具体怎么实现呢?怎样把"学生"连在一起呢? 作者:这部分我还没有深入的研究。...感觉都需要一个学习的过程,毕竟学校和公司之间的差别还是非常大的) 面试官:如果你有一个好的算法,创新的东西,你提出来,我们一起来研究提升现有的东西,这些都非常好。

    1.5K40

    阿里电话面试(算法工程师)

    索引(index)是一种排序数据结构,为了提高在属性A上查找具有某个特定值的元组的效率,其中Movies(id,name,year,actor)一张电影表的属性就是里面的四个值。...,k(k的长度、di是产生冲突的增量序列。 如果di值可能为1,2,3,...m-1称为线性探测再散列。...它存在一个打分函数,就是那136维特征和对应特征值的乘积加和,其结果是一个分数。然后五个等级,每个有一个阈值,通过这个得分和阈值比较可以判断其属于哪个label等级。...面试官:你说的是个研究这块大学生都知道,但具体怎么实现呢?怎样把"学生"连在一起呢? 作者:这部分我还没有深入的研究。...感觉都需要一个学习的过程,毕竟学校和公司之间的差别还是非常大的) 面试官:如果你有一个好的算法,创新的东西,你提出来,我们一起来研究提升现有的东西,这些都非常好。

    1.9K20

    一文带您彻底理解Cookie、Session、Token

    可是如果不保存这些session id , 怎么验证客户端发给我的session id 的确是我生成的呢?...当然, 如果一个人的token 被别人偷走了, 那我也没办法, 我也会认为小偷就是合法用户, 这其实和一个人的session id 被别人偷走是一样的。...这个就类似于你和一个人交谈,你怎么知道当前和你交谈的是张三而不是李四呢?对方肯定有某种特征(长相等)表明他就是张三。 session 也是类似的道理,服务器要知道当前发请求给自己的是谁。...我们也不一定需要等到Token自动失效,Token有撤回的操作,通过token revocataion可以使一个特定的Token或是一组有相同认证的token无效。...我们在后续的文章中会进行更加详尽的描述,但是标准的用法会在JSON Web Token体现。 最近的程序和文档是供给JSON Web Token的。它支持众多的语言。

    1K10

    一文彻底理解 Cookie、Session、Token

    这样大家很嗨皮了,可是服务器就不嗨皮了,每个人只需要保存自己的 session id,而服务器要保存所有人的 session id !如果访问服务器多了,就得由成千上万,甚至几十万个。...可是如果不保存这些 session id , 怎么验证客户端发给我的 session id 的确是我生成的呢?...这个就类似于你和一个人交谈,你怎么知道当前和你交谈的是张三而不是李四呢?对方肯定有某种特征(长相等)表明他就是张三。 Session 也是类似的道理,服务器要知道当前发请求给自己的是谁。...我们也不一定需要等到 Token 自动失效,Token 有撤回的操作,通过 token revocataion 可以使一个特定的 Token 或是一组有相同认证的 token 无效。...我们在后续的文章中会进行更加详尽的描述,但是标准的用法会在 JSON Web Token 体现。 最近的程序和文档是供给 JSON Web Token 的。它支持众多的语言。

    29010

    C#多线程开发-线程基础 01

    最近由于工作的需要,一直在使用C#的多线程进行开发,其中也遇到了很多问题,但也都解决了。后来发觉自己对于线程的知识和运用不是很熟悉,所以将利用几篇文章来系统性的学习汇总下C#中的多线程开发。...大量使用线程会消耗大量的OS资源 那么为什么需要使用线程呢!其实就是为了在相同的时间内,让操作系统或CPU干更多的活,那么在C#中线程应该如何使用或者说在什么场景下使用呢!...进程会等待所有的前台线程完成后再结束工作,但是如果只剩下后台线程,进程会直接结束工作。 C#中的lock关键字 某一个资源当被多个线程同时访问时,可能这个资源的某些值对于各个线程来说会出问题。...就是每个线程可能拿到的数值不是最新的。那么如何办呢,此时就需要使用到lock机制,也就是加锁。目的是为了当一个线程访问某个资源时,其余线程如果在访问时,必须等待当前访问完事后,它才可以访问。...保证了数据的有效性。 lock关键字是如果锁定了一个对象,需要访问该对象的所有其他线程则会处于阻塞状态,并等待知道该对象解除锁定才可以访问。

    44530

    C#学习笔记七: C#4.0中微小改动-可选参数,泛型的可变性

    主要内容有: 可选参数和命名实参, 泛型的可变性, 动态类型 1,可选参数和命名实参 1.1可选参数 可选参数和命名实参就如同一对好基友, 因为它们经常一起使用....这就是可选参数的好用之处, 特别是对于一个系统的后期维护很好使用, 在真实的项目中我也使用过这样的用法, 如下例: 在我们做的系统中切换User有SwitchUser(不lougout当前user,然后添加新的...其他的优点还有待发现. 1.2命名实参 如果一个系统中有两个可选参数, 而我们想省略掉第一个可选参数怎么办呢?...当我们使用由dynamic关键字限制的变量时, 编译器并不知道它的类型, 该类型智能在程序运行时才能被确定. 动态类型的定义为: dynamic i = 5; 动态类型和静态类型到底有什么不同呢?...动态类型除了可以减少强制类型转换外, 还可以让我们在C#语言中调用Python这样的动态语言. 这里对动态类型介绍的不多, 主要是介绍了一个dynamic关键字, 如果以后用到再来百度就好了.

    1.4K80

    教妹学 Java 第 50 讲:初探集合框架

    眼瞅着三妹的王者荣耀杀得正嗨,我趁机喊到:“别打了,三妹,我们来一起学习 Java 的集合框架吧。” “才不要呢,等我打完这一局啊。”三妹倔强地说。 “好吧。”...02、Set Set 的特点是存取无序,不可以存放重复的元素,不可以用下标对元素进行操作,和 List 有很多不同 1)HashSet HashSet 其实是由 HashMap 实现的,只不过值由一个固定的...1)HashMap HashMap 实现了 Map 接口,根据键的 HashCode 值来存储数据,具有很快的访问速度,最多允许一个 null 键。...,如果链表的长度超过 8,就该用红黑树。...大多数情况下,只要不涉及到线程安全的问题,有需要键值对的时候就会使用 HashMap,但 HashMap 有一个问题,就是 HashMap 是无序的。在某些场景下,我们需要一个有序的 Map。

    36920
    领券