一鼓作气 博客--第四篇 note4
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/48b9cb1103b94b048f962472c0fbc52d/clipboard.png)
- 特性:
- 无顺序
- 去重
- 查询速度快,比列表快多了
- 比list占用内存多
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/eff45fba44544190a250ff178fe0ad64/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/9cac372d740c41f18e52f93104d5a78d/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/52c3f20eb5ec414188af1c0f74ef14e0/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/f864695dfa424db5a5f71cc3bc2e3d10/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/25fc04281e8e44298303190e96eb123f/clipboard.png)
- py2里默认编码是ascii
- 文件开头那个编码声明是告诉解释这个代码的程序 以什么编码格式 把这段代码读入到内存,因为到了内存里,这段代码其实是以bytes二进制格式存的,不过即使是2进制流,也可以按不同的编码格式转成2进制流。
- 如果在文件头声明了#_*_coding:utf-8*_,就可以写中文了, 不声明的话,python在处理这段代码时按ascii,显然会出错, 加了这个声明后,里面的代码就全是utf-8格式了
- 在有#_*_coding:utf-8*_的情况下,你在声明变量如果写成name=u"大保健",那这个字符就是unicode格式,不加这个u,那你声明的字符串就是utf-8格式
- utf-8 to gbk怎么转,utf8先decode成unicode,再encode成gbk
- py3里默认文件编码就是utf-8,所以可以直接写中文,也不需要文件头声明编码了,干的漂亮
- 你声明的变量默认是unicode编码,不是utf-8, 因为默认即是unicode了(不像在py2里,你想直接声明成unicode还得在变量前加个u), 此时你想转成gbk的话,直接your_str.encode("gbk")即可以
- 但py3里,你在your_str.encode("gbk")时,感觉好像还加了一个动作,就是就是encode的数据变成了bytes里,我操,这是怎么个情况,因为在py3里,str and bytes做了明确的区分,你可以理解为bytes就是2进制流,你会说,我看到的不是010101这样的2进制呀, 那是因为python为了让你能对数据进行操作而在内存级别又帮你做了一层封装,否则让你直接看到一堆2进制,你能看出哪个字符对应哪段2进制么?什么?自己换算,得了吧,你连超过2位数的数字加减运算都费劲,还还是省省心吧。
- 那你说,在py2里好像也有bytes呀,是的,不过py2里的bytes只是对str做了个别名,没有像py3一样给你显示的多出来一层封装,但其实其内部还是封装了的。 这么讲吧, 无论是2还是三, 从硬盘到内存,数据格式都是 010101二进制到-->b'\xe4\xbd\xa0\xe5\xa5\xbd' bytes类型-->按照指定编码转成你能看懂的文字。编码应用比较多的场景应该是爬虫了,互联网上很多网站用的编码格式很杂,虽然整体趋向都变成utf-8,但现在还是很杂,所以爬网页时就需要你进行各种编码的转换,不过生活正在变美好,期待一个不需要转码的世界。
msg='大保健'
data=[msg]
print(data)
************
在python2中显示\xe5\xa4\xbf\...
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/a52d18cdf88a438d803a6927cb84c960/clipboard.png)
msg=u'大保健'
data=[msg]
print(data)
**********
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/16d630f26fd948f29a0c5bb8b40810cf/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/dee2e2e4c16d454cb5ff1ce3aea8ec3a/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/daf9265a0f804c338c6def920fe235f1/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/315aad4b646c4f568575591f7a8f9172/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/04c07a4a8dc34300bbfddbdf341d69da/clipboard.png)
def sayHi():
print('halou!')
sayHi() #加上括号才是真正的调用
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/2a1c56a6f2264f9f8bd93816d3938bdf/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/3153e518074b493f88c494b17f65235b/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/7ee2f1c439df480985171a94336840ce/clipboard.png)
def hb(name,age):
print('my name is %s,my age is %s'%(name,age))
hb('hhaibao',22)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/e8d7c06aee474bdcaac5042ae8308407/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/36f6341fb8fb48519b456988151ff689/clipboard.png)
def hb(name,age,nationality='CN'):
print('my name is %s,my age is %s,my county is %s'%(name,age,nationality))
hb('hhaibao',22)
ouput:my name is hhaibao,my age is 22,my county is CN
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/3a300be7ba594b36adb9aeb2096257fd/clipboard.png)
def hb(name,age,nationality='CN'):
print('my name is %s,my age is %s,my county is %s'%(name,age,nationality))
hb('hhaibao',22,'JP')
OUPUT:my name is hhaibao,my age is 22,my county is JP
def hb(name,nationality='CN',age):
print('my name is %s,my age is %s,my county is %s'%(name,age,nationality))
hb('hhaibao',22,'JP')
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/7f02fe40eefa4ccc9dc62eb4f36c2ce9/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/b41eb34e60294cb2b5f1145e807deda4/clipboard.png)
def hb(name,age,sex='F',nationality='CN'):
print('my name is %s,my age is %s,my county is %s'%(name,age,sex),nationality)
hb('hhaibao',22,nationality='po',sex='F')
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/26046e99680345d89002213f96800b83/clipboard.png)
def hb(name,age,sex='F',nationality='CN'):
print('my name is %s,my age is %s,my county is %s'%(name,age,sex),nationality)
hb('hhaibao',,nationality='po',sex='F')
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/dad2a3c11a964b40a80c0b4f10d968fe/clipboard.png)
def hb(name,age,sex='F',nationality='CN',*args):
print('my name is %s,my age is %s,my county is %s'%(name,age,sex),nationality,args)
hb('hhaibao',22,nationality='po',sex='F')
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/9a9d72bdfacb459baf97eb8dc131819c/clipboard.png)
def hb(name,age,sex='F',nationality='CN',*args,**kwargs):
print('my name is %s,my age is %s,my county is %s'%(name,age,sex),nationality,args,kwargs)
hb('hhaibao',22,nationality='po',sex='F')
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/dd80b6ad8f4746889b68a06630821fa9/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/45e89c6204ac473792aa829aa2c38439/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/c480103d9e1e4b64beb9ecfbdbff054d/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/92c34c1b21994970ab657a4942097685/clipboard.png)
def hb(name,age,sex='F',nationality='CN',*args,**kwargs):
print('my name is %s,my age is %s,my county is %s'%(name,age,sex),nationality,args,kwargs)
hb(22,name='haibao',nationality='po',sex='F') # 22 和name='haibao'都传给了name、
ouput:
TypeError: hb() got multiple values for argument 'name'
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/79006d1ca2844d798b053f573cb185f1/clipboard.png)
def auth(username,password):
_username='haibao'
_password='123456'
if username==_username and password==_password:
print("welcome!")
user = input('user_name:').strip()
passwd = input('pass_word:').strip()
auth(user,passwd)
output:
user_name:haibao
pass_word:123456
welcome!
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/2c91f7b9278d412e9c3914486e09f333/clipboard.png)
login_status=False #全局变量
def auth(username,password):
_username='haibao'
_password='123456'
if username==_username and password==_password:
print("welcome!")
login_status=True #局部变量
user = input('user_name:').strip()
passwd = input('pass_word:').strip()
auth(user,passwd)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/f2f099825ab944d296abc4b1546f4478/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/4edd7fe7b4f840768c1f4012297d6d35/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/05307565b6fb4224b69022d6b4a13d83/sdt%60l4o3$in$fy((%7B@%7Bzd0h.png)
name = 'haibao'
def change_name():
name = 'haibao'
print(name)
def change_name2():
name='rain'
print('name2',name)
change_name2()
change_name()
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/27770afa618a464da79c073d787f5d36/clipboard.png)
n = 0
def func(n):
print("9999",n+1)
func(n+1)
func(n)
n = 0
def calc(n):
print(n)
if n/2 > 0:
calc(n+1)
calc(10)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/385ff61fc95847a7ac70075f331e9db7/clipboard.png)
n = 0
def calc(n):
print(n)
if n//2 > 0:
calc(n//2)
calc(10)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/ef1e63baebf343a09dd8d16eab0d682d/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/7bba60e3bb2b4d17996df912f1329066/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/45317f4568404bfcbfba0b51c0705c32/clipboard.png)
data = range(0,1000,3)
# data = [3,6,7,19,1,30,2,45,1982,22,33,45,22,34,67,33,99,11,73]
def binary_search(datasets,find_num):
if len(datasets) > 0:
middle_pos = int(len(datasets)/2)
if datasets[middle_pos] == find_num:
#find it
print("find it,",datasets[middle_pos])
elif datasets[middle_pos] > find_num:
print("to left")
binary_search(datasets[0:middle_pos],find_num)
elif datasets[middle_pos] < find_num:
print("to right")
binary_search(datasets[middle_pos+1:],find_num)
else:
print("can't find the num",find_num)
binary_search(data,45) #chuanzhi
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/36cf623f842646d28317d968a463015c/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/2f6a553c4f454bd9832f831c7783530e/4]q7z3))r4un9k%7Bv1ci2]el.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/06099c9d99064f579b61aab11f9f6896/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/6ea4d06c49c14d90a12082a879aa3574/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/32a26553f56e4804924e592fc865921d/78i%7D7~kgx$p)tbc%60ecazzmf.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/d6abd789a5e34380b27776f2d169242f/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/22cbde4590024a36b06142d66700d8ca/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/12ee6cb742d44b5eaaa5699dfe14fe03/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/38ae78745ee44e3191e918d18e8bc620/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/bc1f1ab38214497aae5f9d396449220c/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/8e8f2e8eda524500a8fffb078e283eb9/clipboard.png)
>>> a[0] 'h'
>>> a[2] 'i'
>>> a[1]='l'
Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'str' object does not support item assignment
57、bytesarray 可以修改
>>> a[0] 'h'
>>> c=bytearray(a)
>>> a[0]= 'lh'
def calc():
pass
print(callable(calc))
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/77e8e0c090684da4be3ad2bc695d6f3a/clipboard.png)
print(str(97)) ---97
print(chr(97)) ----a
print(str(97))
print(chr(97))
print(ord('a'))
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/4d268fb2c8c54de3b7409b393e7a426d/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/a27be672d675460f9964f12ba3a13de9/clipboard.png)
f=open('tofile.py',encoding='utf-8')
code=compile(f.read(),'','exec')
print(code)
exec(code)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/6826df42ca7d4f83ae81c63d212cc3f3/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/d7ebfc56cb1746d5b7f7316cbef57742/clipboard.png)
f=open('tofile.py',encoding='utf-8')
code=compile(f.read(),'','exec')
print(code)
exec(code)
print(dir(f))
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/1872491f40894cada380ee28afbd12a9/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/74938457d10f4b4bbeb1e7c06b4c01f2/clipboard.png)
print(hex(90))
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/3ae1506127ec40f68e6959178d7a50f8/clipboard.png)
print(max(3,6,8,9,1))
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/f122d0500bf3413f9f276b64d09d0d63/clipboard.png)
print(oct(90))
msg="hello,world!"
f=open('tofile','w',encoding="utf-8")
print(msg,"hello 2 world",sep="|",end="=",file=f)
69、reverse
data=[8,34,45,67,23,1,30]
data=reversed(data)
for i in data: print(i)
# for i in data2: print(i)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/22c3d26fe8294bae92b1a7c1cf11d596/clipboard.png)
data='haibaohailinghaiwen'
data=reversed(data)
for i in data: print(i)
# for i in data2: print(i)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/29b4829748674492a4892aab89bb6164/clipboard.png)
print(round(10.34)) 10
print(round(10.34,1)) 10.3
print(round(10.34,2)) 10.34
print(round(10.36,1)) 10.4
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/4d67bf90f9054315842f8acbe3572365/clipboard.png)
data=[3,3,3,3,34,4,4,4,46,6,6,6]
print(set(data))
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/e328acac4e1d442bbb61ffa4ae138e62/clipboard.png)
a=range(200)
f=slice(20,80,3)
for i in a[f]:
print(i)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/315e8116d9744ddcb3a3b77c866fccac/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/a00c42f202cc4f9c995aefe1258f8e63/clipboard.png)
![](/Users/Administrator/AppData/Local/YNote/data/luhaibao@163.com/c4ff019e5aa746908742f951415c4804/clipboard.png)
一鼓作气 博客--第四篇 note4的更多相关文章
- Scrum 冲刺博客第四篇
一.当天站立式会议照片一张 二.每个人的工作 (有work item 的ID),并将其记录在码云项目管理中 昨天已完成的工作 新建立了一个list页面用来显示题目,并且创建了列表用来进行题目的存放,将 ...
- 一鼓作气 博客--第八篇 note8
0.,222] list[33] except IndexError as e : print('index error ') except ValueError as e : print('valu ...
- 一鼓作气 博客--第七篇 note7
面向对象相关知识简介 类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 类变量:类变量在整个实例化的对象中是公用的.类变量定义 ...
- 一鼓作气 博客--第六篇 note6
1.无论公司付给你多少,你的青春都是廉价的!! 2.通往财富自由之路 --得到APP 3.time 3.1 time.time() t = time.time() print(t) #--->1 ...
- 一鼓作气 博客--第五篇 note5
一.迭代器 二.装饰器 三.生成器 1.生成列表的方式有几种 2.把列表每个数都加1 2.1 data =[1,2,3] for i in map(lambda x:x+1,data):print(i ...
- 一鼓作气 博客--第三篇 note3
1 推荐读书消费者行为学 -商业的本质,APP得到,5分钟商学院 2定义字典 dic={'name':haibao,'age':18} 3字典的基本操作--查询 dic={'name':'haibao ...
- 基于 abp vNext 和 .NET Core 开发博客项目 - 博客接口实战篇(四)
系列文章 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 ...
- [转]有哪些值得关注的技术博客(Java篇)
有哪些值得关注的技术博客(Java篇) 大部分程序员在自学的道路上不知道走了多少坑,这个视频那个网站搞得自己晕头转向.对我个人来说我平常在学习的过程中喜欢看一些教程式的博客.这些博客的特点: 1. ...
- Django搭建博客网站(四)
Django搭建博客网站(四) 最后一篇主要讲讲在后台文章编辑加入markdown,已经在文章详情页对markdown的解析. Django搭建博客网站(一) Django搭建博客网站(二) Djan ...
随机推荐
- Js中 md5 sha1 base64 加密
js的3中加密方式: .sha1加密,加密性高 调用: var sha = hex_sha1(str); .base64加密 调用: var b = new Base64(); var str = b ...
- javascript 核心语言笔记 6 - 对象
对象是 JavaScript 的基本数据类型.是一种复合值:将很多值聚合在一起.对象可以看做是无序集合,每个属性都是一个名/值对.这种基本数据结构还有很多叫法,比如「散列」(hash).「散列表」(h ...
- HCP查询配置
1.配置命名空间Service里的Search功能为enable以及索引等相关配置 2.配置用户对该命名空间的查询为允许
- C 标准库系列之assert.h
先简单介绍一下<assert.h>头文件,该头文件的目的便是提供一个宏assert的定义,即可以在程序必要的地方使用其进行断言处理:断言在程序中的作用是当在调试模式下时,若程序给出的前提条 ...
- 【leetcode】Minimum Depth of Binary Tree
题目简述: Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along th ...
- 【Cocos2d-x for WP8 学习整理】(5)文字显示全整理
学习 Cocos2d-x 有一阵了,现在要做个小东西,第一步就遇到了文字展示的问题,于是想把可能遇到的问题统统整理一下.这一部分也不局限于wp8,全平台应该都是一个解决方案. 先在脑袋里大致想了一下, ...
- web安全入门书单
- Swift 基本常量和变量,基本数据类型
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #4dbf56 } p.p2 { margin: 0.0px 0. ...
- Ubuntu14.04 64位机上安装cuda8.0 cudnn5.0操作步骤 - 网络资源是无限的
查看Ubuntu14.04 64位上显卡信息,执行: lspci | grep -i vga lspci -v -s 01:00.0 nvidia-smi 第一条此命令可以显示一些显卡的相关信息:如果 ...
- jQuery Validate验证框架详解
转自:http://www.cnblogs.com/linjiqin/p/3431835.html jQuery校验官网地址:http://bassistance.de/jquery-plugins/ ...