怪咖先森的博客

小蜗牛,慢慢爬

写给还在迷茫中挣扎的你

有一天你将破茧成蝶,成长的比人们期待的还要美丽,但这个过程会很痛苦,会很辛苦,有时候还会觉得很灰心。面对汹涌而来的现实世界,觉得自己渺小无力,这也是生命的一部分,做好现在你能做的,然后一切都会好的。...

2016-11-25 22:47:45

阅读数:236

评论数:0

Python Requests库

简介:通过 requests 类库的学习,理解 HTTP 基本原理,并能够纯熟地使用 requests 和 Github API 进行数据交互。除此之外,你还能够获得诸如 HTTP 认证,Oauth 授权等进阶知识和技能 1. 走进 Requests 库 1.1 Requests 库 ...

2018-04-02 23:07:33

阅读数:7

评论数:0

Python 关键字参数 (4)

可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。请看示例: def person(name, age, **kw): print('name:', na...

2018-03-22 15:20:33

阅读数:14

评论数:0

Python 可变参数 (3)

可变参数 在Python函数中,还可以定义可变参数。顾名思义,可变参数就是传入的参数个数是可变的,可以是1个、2个到任意个,还可以是0个。 我们以数学题为例子,给定一组数字a,b,c……,请计算a^2 + b^2 + c^2 + ……。 要定义出这个函数,我们必须确定输入的参数。由于参数个数...

2018-03-22 15:18:12

阅读数:9

评论数:0

Python 默认参数 (2)

默认参数 新的power(x, n)函数定义没有问题,但是,旧的调用代码失败了,原因是我们增加了一个参数,导致旧的代码因为缺少一个参数而无法正常调用: >>> power(5) Traceback (most recent ...

2018-03-22 15:15:08

阅读数:15

评论数:0

Python 位置参数(1)

定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了。对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解。Python的函数定义非常简单,但灵活度却非常大。除了正常定义的必选参数外,还可以使用默认参数、...

2018-03-22 15:13:42

阅读数:8

评论数:0

Python 错误处理

错误处理 在程序运行的过程中,如果发生了错误,可以事先约定返回一个错误代码,这样,就可以知道是否有错,以及出错的原因。在操作系统提供的调用中,返回错误码非常常见。比如打开文件的函数open(),成功时返回文件描述符(就是一个整数),出错时返回-1。 用错误码来表示是否出错十分不便,因为函数本身...

2018-03-22 14:12:47

阅读数:27

评论数:0

Python 函数

1. 调用函数 1.1 如何调用函数 Python内置了很多有用的函数,我们可以直接调用。 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数。可以直接从Python的官方网站查看文档: http://docs.python.org/3/library/f...

2018-03-21 17:59:29

阅读数:18

评论数:0

Python dict 和 set

dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 举个例子,假设要根据同学的名字查找对应的成绩,如果用list实现,需要两个list: names = ['Michael'...

2018-03-21 17:54:40

阅读数:12

评论数:0

Python 循环

for...in Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来,看例子: names = ['Michael', 'Bob', 'Tracy'] for name in names: print(name) 执行这段代码,会...

2018-03-21 17:17:19

阅读数:9

评论数:0

Python input

Usage 看一个有问题的条件判断。很多同学会用input()读取用户的输入,这样可以自己输入,程序运行得更有意思: birth = input('birth: ') if birth < 2000: print('00前') else: print('0...

2018-03-21 10:43:20

阅读数:14

评论数:0

Python list 和 tuple

list Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。 比如,列出班里所有同学的名字,就可以用一个list表示: >>> classmates = ['Michael...

2018-03-21 10:18:17

阅读数:12

评论数:0

Python 字符串和编码

字符编码 我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制1111...

2018-03-20 10:28:57

阅读数:19

评论数:0

Python 教程

Python 特点 Python是一种计算机程序设计语言。你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的JavaScript语言等等。 那Python是一种什么语言? 首先,我们普及一下编程语言的基础知识。用任何...

2018-03-19 23:14:25

阅读数:71

评论数:0

Python 基础

数据类型和变量 整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。 计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5...

2018-03-19 22:56:56

阅读数:22

评论数:0

机器学习 1 Hello World

常用的 Python Machine Learning 开源库 scikit-learn TensorFlow 之后主要就演示使用 scikit-learn 进行 Machine Learning 的学习 什么是机器学习 我们可以把 机器学习看作是人工智能的一个子领域,初期的 AI...

2018-01-27 23:03:08

阅读数:76

评论数:0

Android 内存优化方式

1. Android 内存大小//获取的是正常情况下 app 内存大小,我的小米 5s 是 256 M activiyManager.getMemoryClass() //在Android manifest 中设置 android:largeHeap="true" 之后 app...

2017-12-03 21:37:35

阅读数:469

评论数:0

Xamarin.Forms 引用 放在 PCL 中的图片

今天状态及其不好,见谅,Xamarin 技术交流 (偏向 xamarin.android): 1092417123PCL 中图片资源格式官方解释 : Embedded ImagesEmbedded images are also shipped with an application (like...

2017-10-28 10:57:24

阅读数:386

评论数:0

Xamarin.Android 中 Handler 的使用

刚开始的时候 Handler 用不成,因为 Java 和 C# 之间区别还是很多的,使用起来要注意匿名内部类Java 中可以使用 匿名内部类,但 C# 不可以,所以使用的时候要传递参数,方便调用mHandler = new MyHandler(this);//传递参数public class My...

2017-10-03 09:50:16

阅读数:409

评论数:0

Xamarin Android 中修改 TabbedPage 标题字体

写在前面,本人在 Stackoverflow 上面做 Xamarin 的技术支持也有一段时间了,最近都比较有空,就在这总结一下自己解决的许多问题,希望能帮到那些有限的,屈指可数的国内 Xamarin 开发者我只负责解决 Xamarin.Android 这一块的问题问题来源https://stack...

2017-10-03 09:44:21

阅读数:324

评论数:0

Xamarin.Android SharedPreferences 使用解析

在大家有一定的 SharedPreferences 使用经验后更佳1. 概述SharePreferences是用来存储一些简单配置信息的一种机制,使用Map数据结构来存储数据,以键值对的方式存储,采用了XML格式将数据存储到设备中。例如保存登录用户的用户名和密码。只能在同一个包内使用,不能在不同...

2017-06-13 14:25:22

阅读数:247

评论数:0

Region.Op

1. 裁剪注意在Android自定义View使用绘图的裁剪功能的时候,我们最好manifest中的<application/> 或者<activity/>或者<fragment/>标签中添加如下属性:android:hardwareAccelerated=&qu...

2017-06-13 08:43:34

阅读数:169

评论数:0

ClipRegion 不能正确显示

1. 问题来源https://stackoverflow.com/questions/44447504/do-not-understand-region-class-very-well说明:绘制的矩形不能正确显示2. 原因ClipRegion 不同于 ClipRect,绘制的起点坐标是屏幕的起点坐...

2017-06-13 08:39:59

阅读数:257

评论数:0

Xamarin.Android 自定义 View

1. 重要步骤 绘图,通过重写OnDraw方法控制View的渲染效果 交互,重写OnTouchEvent方法实现与用户的交互 测量,重写OnMeasure测量控件显示位置 属性,attrs.xml中自定义控件的属性,通过TypedArray读取属性 保存状态,避免配置改变时丢失View的状态,重写...

2017-06-13 08:31:41

阅读数:922

评论数:0

UWP -- Background Task 深入解析

1. 重点锁屏问题从 Windows 10 开始,用户无须再将你的应用添加到锁屏界面,即可利用后台任务,通用 Windows 应用必须在注册任何后台触发器类型之前调用 RequestAccessAsync:await BackgroundExecutionManager.RequestAccess...

2017-04-10 23:09:00

阅读数:1000

评论数:1

UWP入门(十二)--数据绑定用法

主要几个元素: Template DataTemplate ItemSource 数据绑定是一个数据提取的方法,能使数据和UI上的控件紧密相连,下面的Demo是这样的: 有许多书的集合,书 类中有图片、标题、作者和ID,把它成现在GridView 控件上,每次点击GridView 的时候动态...

2017-03-23 23:42:49

阅读数:2542

评论数:4

UWP入门(十一)--使用选取器打开文件和文件夹

很漂亮的功能,很有趣重要的 API FileOpenPicker FolderPicker StorageFile 通过让用户与选取器交互来访问文件和文件夹。 你可以使用 FileOpenPicker 和 FileSavePicker 类访问文件,并使用 FolderPicker 访问文件夹1. ...

2017-03-23 20:03:38

阅读数:1460

评论数:0

UWP入门(十)--获取文件属性

重要的 API StorageFile.GetBasicPropertiesAsync StorageFile.Properties StorageItemContentProperties.RetrievePropertiesAsync 1. 获取文件的顶级属性很多顶级文件属性都可以作为 St...

2017-03-23 19:44:00

阅读数:525

评论数:0

UWP入门(十)--创建、写入和读取文件

核心的 API github代码 StorageFolder 类 StorageFile 类 FileIO 类 使用 StorageFile 对象读取和写入文件 1. 创建文件// Create sample file; replace if exists. Windows.Storage.Sto...

2017-03-23 18:32:40

阅读数:2578

评论数:0

UWP入门(九)-- 枚举和查询文件和文件夹

核心 API 所在的命名空间: Windows.Storage Windows.Storage.Streams Windows.Storage.Pickers 用它们三可以实现在文件中读取和写入文本和其他数据格式并管理文件和文件夹本文例子都是官方文档中的示例,只是里面代码对菜鸟不友好,我重新整理下...

2017-03-23 18:09:37

阅读数:827

评论数:0

UWP入门(八)--几个简单的控件

每天看几个,要不聊几天我就可以看完啦,加油!看效果1. CheckBox <TextBlock Grid.Row="0" Text="CheckBox" VerticalAlignment="Center" /> ...

2017-03-22 18:40:04

阅读数:2306

评论数:1

UWP入门(七)--SplitView详解与页面跳转

官方文档,逼着自己用英文看,UWP开发离不开官方文档1. SplitView 拆分视图控件拆分视图控件具有一个可展开/可折叠的窗格和一个内容区域<SplitView> <SplitView.Content> singleObject </SplitVi...

2017-03-22 15:43:32

阅读数:1238

评论数:0

UWP入门(六)-- ResourceDictionary 和 XAML 资源引用

你最希望声明为 XAML 资源的 XAML 元素包括 Style、ControlTemplate、动画组件和 Brush 子类。 我们在此处介绍 如何定义 ResourceDictionary 和键控资源 XAML 资源与你定义为应用或应用包一部分的其他资源有何关系 资源字典高级功能 Merge...

2017-03-21 20:56:26

阅读数:2411

评论数:0

UWP入门(五)--控件模板

通过在 XAML 框架中创建控件模板,你可以自定义控件的可视结构和可视行为(eg:勾选框的三种状态)。 控件有多个属性,如 Background、Foreground 以及 FontFamily,可以设置这些属性以指定控件外观的多个方面。 但是可以通过设置这些属性所做的更改有限。 你可以通过使用 ...

2017-03-21 20:12:37

阅读数:629

评论数:0

UWP入门(四)--设置控件样式

官方定义:可以使用 XAML 框架通过多种方式自定义应用的外观。 通过样式可以设置控件属性,并重复使用这些设置,以便保持多个控件具有一致的外观。可分享至不同elements的资源中 创建可重用的style,并且这一资源可以分享至整单页面、多页面、整个 app,甚至不同的app?how to kee...

2017-03-21 15:57:13

阅读数:2080

评论数:1

UWP入门(三) -- StackPanel与Grid的区别

##1.Grid 下布局 <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <StackPanel> ...

2017-03-21 14:01:55

阅读数:1171

评论数:0

UWP入门(二) -- 基础笔记

不错的UWP入门视频,1092417123,欢迎交流UWP-04 - What i XMAL?XAML - XML Syntax(语法) ,create instance of Classes that define the UI by setting properties(属性).UWP-05 ...

2017-03-21 13:44:11

阅读数:1040

评论数:0

UWP入门(一) -- 先写几个简单控件简单熟悉下(别看这个)

1. MainPage.xmal<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <Pivot x:Name="rootPivot"...

2017-03-20 15:23:37

阅读数:1883

评论数:0

VS 快捷键

嵌套逻辑代码 选择代码段后按住Ctrl+k,s即可以将代码嵌入选择的代码逻辑 复制/剪切/删除整行代码 鼠标移到这,Ctrl+C/X/L 撤销/反撤销 Ctrl+Z || Ctrl+Y 向前/向后搜索 使用组合键“Ctrl+I” 键入搜索文本后,可以使用组合键“Ctrl+I”及“Ctrl...

2017-03-17 19:28:39

阅读数:249

评论数:0

C# -- Async 和 Await 解惑

1. Async 官方文档上的解释关于C#我觉得最下面关于 await 在文档上的理解比较好,^^使用 async 修饰符可将方法、lambda 表达式或匿名方法指定为异步。 如果用在方法或表达式使用此修饰符,则其称为异步方法public async Task<int> Example...

2017-03-17 12:16:39

阅读数:1846

评论数:0

C# -- delegate 与 event 解析

/// <summary> /// Delegate是类型,Event是成员(本质为成员方法),Event成员类型派生于Delegate /// </summary> namespace MyEvent { //1.声明委托的类型 public delega...

2017-03-16 23:41:50

阅读数:364

评论数:0

C# -- Unsafe Code and Pointers

多看文档1. 不安全代码概述核心 C# 语言没有将指针列入它所支持的数据类型,从而与 C 和 C++ 有着显著的区别。作为替代,C# 提供了各种引用类型,并能够创建可由垃圾回收器管理的对象。这种设计结合其他功能,使 C# 成为比 C 或 C++ 安全得多的语言。在核心 C# 语言中,干脆不可能有未...

2017-03-16 17:23:23

阅读数:156

评论数:0

C#6.0 新新特性

C#技术经理对C#6.0新特性的解读,可能需要翻墙 总的来说,很少全新的概念,主要的目的是在C#6.0中添加一些小而实用的新功能,以便清理你的代码 1. 自动属性初始化(Auto-property initializers)在以前版本的C#代码中所有的自动属性都必须有Setter,这对不变的属...

2017-03-16 16:33:20

阅读数:188

评论数:0

.NET Framework 入门

官方中文文档链接 官方中文文档 .NET Framework 入门简单理解下: .NET Framework 是管理面向 .NET Framework 的应用程序的运行时执行环境。 它包括:公共语言运行时(提供了内存管理和其他系统服务) .NET Framework 类库(它使程序员能利用应...

2017-03-16 11:47:29

阅读数:263

评论数:0

C多线程(三) -- CLR线程池的工作者线程

1. 关于CLR线程池使用ThreadStart与ParameterizedThreadStart建立新线程非常简单,但通过此方法建立的线程难于管理,若建立过多的线程反而会影响系统的性能所以,.NET引入CLR线程池这个概念。CLR线程池并不会在CLR初始化的时候立刻建立线程,而是在应用程序要创建...

2017-03-16 10:31:04

阅读数:527

评论数:1

C#多线程(二) -- ThreadStart

ThreadStart 方式实现多线程里先以一个例子体现一下多线程带来的好处,首先在Message类中建立一个方法ShowMessage(),里面显示了当前运行线程的Id,并使用Thread.Sleep(int ) 方法模拟部分工作。在main()中通过ThreadStart委托绑定Message...

2017-03-15 20:37:39

阅读数:724

评论数:0

C#多线程(-) -- 概念梳理

本文主要从线程的基础用法,CLR 线程池当中工作线程与I/O线程的开发,并行操作PLINQ 等多个方面介绍多线程的开发。其中委托的BeginInvoke方法以及回调函数最为常用。 而 I/O线程可能容易遭到大家的忽略,其实在开发多线程系统,更应该多留意I/O线程的操作。特别是在ASP.NET开发...

2017-03-15 19:44:26

阅读数:460

评论数:0

继承优于标签

在开发中,我们经常会遇到一种情形:有的类,根据不同的属性(Tag),可以表现出不同的行为。比如:我们有一个图形类Figure,它可以表现圆形Circle、矩形Rectangle。你会怎么设计呢? 标签一般情况下,我们会显式的添加一个额外的标签,来表示此时的Figure需要表现的行为/** * 使...

2017-03-04 23:54:04

阅读数:178

评论数:0

组合优于继承

在平时开发中,有时会遇到这样一种情形:有一个类,他有很多行为,有的行为是固定的,有的行为又是可变的。这个时候,如何更好的封装呢? 一个类中分开变与不变的部分比如:有一个类Person,具有行为:说话、工作、睡觉、会死。其中,睡觉和死亡都是一样的,但是,不同的人会说不同的语言,做不同的工作 小明 说...

2017-03-04 23:43:15

阅读数:207

评论数:0

Integer 类型与 int 的==比较

困惑的地方先贴上代码,显示让我一开始很困惑的地方package com.lizi.basic;public class IntegerDemo { public static void main(String[] args) { Integer a = new Integer...

2017-03-04 23:09:02

阅读数:676

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭