2019-7-14

Python publisher01 30℃ 0评论

接收多个输入:
a,b = input().split() 输入的字符串类型
a,b = map(int,input(‘please enter two int number:’).split()) 输入的是int类型

r’ ‘表示引号内部自字符串不被转义

变量本身类型不固定的语言称之为动态语言,Python是动态语言;相反则是静态语言,Java是静态语言

Python的整数和浮点数没有大小限制

ASCII编码:127个字符,大小写英文字母、数字、符号,一个符号一个字节。可以看成UTF-8编码的一部分,所以大量只支持ASCII编码的历史遗留软件可以在UTF-8编码下继续工作

GB2312:中国的编码

Unicode:统一编码,一般是一个符号2个字节;在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。

UTF-8:可变长编码,汉字通常3字节,英文通常1字节,优点是一个文本如果有大量的英文采用UTF-8编码就会很节省空间

在最新的Python 3版本中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言

ord(‘A’)函数获取字符的整数表示,chr(55)函数把编码转换为对应的字符

Python的字符串类型是str,在内存中是以Unicode表示,一个字符对应若干个字节,如果要在网络上传输或者保存到硬盘中,就需要把str变为以字节为单位的bytes。Python对bytes类型的数据用带b前缀的单引号或双引号表示,比如x = b’ABC’。

‘中文’.encode(‘utf-8’)
b’\xe4\xb8\xad\xe6\x96\x87′

反过来,如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法,比如

b’\xe4\xb8\xad\xe6\x96\x87′.decode(‘utf-8’)
‘中文’

list.insert(1, ‘Jack’) 插入新元素到列表指定位置
list.pop() 删除列表末尾的元素
list.pop(i) 删除指定位置的元素,其中i是索引位置

dict.pop(‘Bob’) 删除一个键值对
s = set([1,2,3]) 创建一个set需要提供一个list作为一个输入集合。
s.add(4) 向集合添加元素,是无序的
s.remove(4) 删除集合中key为4指定元素

tuple:有序列表叫元组,一旦初始化不能被修改

list[]:list越大查找越慢,查找和插入的时间随着元素的增加而增加;占用空间少,浪费内存很少
tuple():元素不能被修改
dict{}:查找和插入速度快,需要占用大量内存,内存浪费多。通过key计算位置的算法称为哈希算法
set():元素唯一,去重。集合存的其实是key,只是没有value,key是唯一的。不可以放入可变对象,set的原理和dict一样,只是没有value

对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的。

为什么要设计str,none这种不可变对象,因为不变对象一旦创建,对象内部的数据就不能修改,这样就减少了由于修改数据导致的错误。此外,由于对象不变,多任务环境下同时读取对象不需要加锁,同时读一点问题都没有。

函数的参数:
必选参数(位置参数):
默认参数:降低调用函数的难度,在函数定义时赋值给参数n=2,在调用函数时不用传参数,只有与默认参数不符合的情况才需要传参数。必须指向不可变对象
可变参数:numbers,传入的参数个数是可变的
关键字参数:
*numbers,可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。

关键字参数有什么用?它可以扩展函数的功能。比如,在person函数里,我们保证能接收到name和age这两个参数,但是,如果调用者愿意提供更多的参数,我们也能收到。试想你正在做一个用户注册的功能,除了用户名和年龄是必填项外,其他都是可选项,利用关键字参数来定义这个函数就能满足注册的需求。


函数参数

你或许想:《去原作者写文章的地方

转载请注明:Python量化投资 » 2019-7-14

喜欢 (0)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址