Lean Python(Chapter 04)

Thu 21 September 2017 by Little Captain

Input and Output

显示输出

# 格式
print(arg1,arg2,arg3...,sep=' ',end='\n')
  • 使用格式输出
print('%d plus %d makes %d' % (3, 7, 10))
  • 抑制最后的空行输出
print('one...','two...','three',end='')

获取用户输入

yourName=input('Enter your name: ')
  • 接收的输入都是字符串, 所以要用户输入数字等需要自行解析
count = input('Enter a number: ')
if len(count) > 0:
    if count.isdigit():
        count = int …
read more

Lean Python(Chapter 03)

Thu 21 September 2017 by Little Captain

Program Structure

做决定

if 语句

if test:
    statement1 # 如果条件为真, 这三条语句都将执行
    statement2
    statement3
# if else
if test:
    DoThis()
else:
    DoThat()
# if elif else
if test1:
    DoThis()
elif test2:
    DoThat()
else:
    DoOther()
  • 同一语句中的 if elif else 的缩进必须保持一致

pass 语句

  • pass 语句就是什么都不做
if test1:
    DoThis()
elif test2:
    DoThat()
# else 不是严格必须, 但是加上, 通过使用 pass …
read more

Lean Python(Chapter 02)

Tue 19 September 2017 by Little Captain

Everything is Object

对象类型

# 使用 type 查看对象类型
type(23)

类型有 : int str list class function file bool(True、False) NoneType(None) long

工厂方法

int(4.0)
str(4)
list(1, 2, 3, 4)
tuple(1, 2, 3, 4)
dict(one = 1, two = 2)

12345678901234567890
1 / 7.0
x = 1E20 …
read more

Lean Python(Chapter 01)

Tue 19 September 2017 by Little Captain

Foundation

解释器

交互模式

  • dir : 列出一个对象的所有属性
dir(print)
  • help : 查看内建关键字和方法的帮助文档
help(open)

命令行模式

  • 通过在命令行中加载 python 程序执行
python myprogram.py

注释、代码块、缩进

  • 使用 # 进行注释
  • 使用相同的缩进区分代码块
  • : 用在 if、elif、else、while、for、函数定义中, 区分首行和下面的具体代码块, 具体代码块需要缩进
  • 使用 \ 连接多行代码

变量

  • 赋值
var = expression
var1, var2, var3 = expression
a = b = c = 1
  • 关键字 …
read more

本地推送通知

Wed 13 September 2017 by Little Captain

配置本地推送通知

Step 1

  • 创建和配置包含通知具体内容的 UNMutableNotificationContent 对象
UNMutableNotificationContent* content = [[UNMutableNotificationContent alloc] init];
content.title = [NSString localizedUserNotificationStringForKey:@"Wake up!" arguments:nil];
content.body = [NSString localizedUserNotificationStringForKey:@"Rise and shine! It's morning time!"
        arguments:nil];

Step 2

  • 创建一个 UNCalendarNotificationTrigger, UNTimeIntervalNotificationTrigger, 或 UNLocationNotificationTrigger 对象来描述通知被递送的条件
NSDateComponents* date = [[NSDateComponents alloc] init];
date.hour = 7;
date.minute …
read more

App 的通知支持

Wed 13 September 2017 by Little Captain

请求用户授权

UNUserNotificationCenter* center = [UNUserNotificationCenter currentNotificationCenter];
[center requestAuthorizationWithOptions:(UNAuthorizationOptionAlert + UNAuthorizationOptionSound)
   completionHandler:^(BOOL granted, NSError * _Nullable error) {
      // 通过授权结果完成进一步操作
}];
  • 获取准确的用户授权信息使用 UNUserNotificationCenter 对象的 getNotificationSettingsWithCompletionHandler: 方法

配置类别和可操作的通知

针对 App 注册通知类别

UNNotificationCategory* generalCategory = [UNNotificationCategory
     categoryWithIdentifier:@"GENERAL"
     actions:@[]
     intentIdentifiers:@[]
     options:UNNotificationCategoryOptionCustomDismissAction];

// 注册通知类别
UNUserNotificationCenter* center = [UNUserNotificationCenter currentNotificationCenter];
[center setNotificationCategories:[NSSet setWithObjects:generalCategory, nil]];

将自定义操作添加到类别中

UNNotificationCategory* generalCategory = [UNNotificationCategory
      categoryWithIdentifier …
read more

shell 控制语句

Sun 13 August 2017 by Little Captain

if-then语句

  • bash 的 if 语句会运行 if 行定义的那个命令. 如果命令的退出状态码是0, 位于 then 部分的命令会被执行
if command
then
   commands
fi
if command; then
   commands
fi

if-then-else语句

if command
then
   commands
else
   commands
fi

嵌套 if

if command1
then
   commands
elif command2
then
   commands
fi

test 命令

  • 如果 test 命令中列出的条件成立, test 命令就会退出并返回状态码 0
test condition …
read more

shell 数学运算

Sat 12 August 2017 by Little Captain

expr 命令

  • expr 命令允许在命令行上处理数学表达式
expr 1 + 5

expr命令操作符

  • 尽管标准操作符在 expr 命令中工作得很好, 但在脚本或命令行上使用它们时就会有问题, 因为许多 expr 命令操作符在 shell 中有其他意思. 可以进行转义
# 操作数和运算符之间必须要有空格
expr 5 \* 2

使用方括号

  • 在 bash 中, 在将一个数学运算结果赋给某个变量时, 可以用美元符合方括号( $[ operation ] )将数学表达式圈起来
  • 这比使用 expr 命令方便很多, 方括号里面的字符不会认为是 shell 中的特殊字符
  • bash 只支持整数运算. zsh 提供了完整的浮点运算
var1=$[1 + 5]

浮点解决方案

bc

  • bash 计算器允许你在命令行输入浮点表达式、解释表达式、计算并返回结果的一种编程语言.
  • bash …
read more

shell 脚本编程基础

Sat 12 August 2017 by Little Captain

基础

  • 一行多个命令顺序执行, 使用;
data;who
  • 创建shell脚本文件
  • 在文件的第一行指定要使用的shell
#!/bin/bash
  • 显示消息
echo This is a test
echo Let\'s see if "this'll" work
echo "Let's see if this'll work"
echo 'Rich says "scripting is easy".'
# -n : 不输出末尾的 newline 字符
echo -n "The time …
read more

正则表达式基础

Fri 11 August 2017 by Little Captain