反斜杠(\)和小括号() 美化格式:
三.变量与赋值
1.变量命名规范。
1.1 记住不能做什么:不能用关键字,开头不能用数字,不能用操作符。
1.2 怎么搭配最合理:没事别乱用大写。清晰。尽量不要用拼音。用拼音的话用全称。
2.赋值
2.1 记住动态特性。
2.2 多重赋值。
2.4 删除。
type,help,dir内置方法将伴随一生。
python一切皆为对象,因为现实
包含了一系列的数据和操作这些数据的方法的一个整体,就叫作对象。
自行车
属性:手刹车,轮胎,脚踏板
方法:如何前进的方法,控制停止的方法,控制方向
2.数据类型的组成
组成3部分。
身份 id方法来看一看他的唯一标示符,内存地址靠这个哦!
类型 type来看一看。
值 数据项。
某书里的傲娇结论:python里一切都是指针,所以不用再考虑指针这个问题了!
3。常用基本数据类型.
int 整型
boolean 布尔
string 字符串
list 列表
tuple 元祖
dict 字典
在python中,字符串是不可变对象,不能通过下标的方式直接赋值修改。同样的不可变对象还有:数字、字符串和元组
4.数据类型的可变和不可变
不可变类型:int,string,tuple
可变类型:list,dict
5.变量之赋值一切皆为引用,动态性与动态类型之为何不再动态
字符串认知与应用
认知1.字符串概念
认知2.ascii unicode utf8到底是啥
一.len之需注意
二.转义符让文本更好处理
要转义的字符前面加个反斜杠
abcd’
print(‘abcd’’)
u"加油" unicode编码
r"\n" 输出结果不转义,否则直接得到回车结果
三.字符串前面跟着的小尾巴到底是什么东西
四.访问子字符串,序列来了。
成员有是有序排列的,可以通过下标偏移量访问到它的一个或者向个成员
五.替换字符串
六.字符串拼接
1.超级丑陋之千万别用。(+)
2.可选方案之字符串模板
print(“my name is %s lp” % “lyz’s”)
%s是字符 %d数字
format内置方法
{}里面可以放index位置调整位置
3.优秀的拼接方案
a=qw
b=er
c=rt
“”.join([a,b,c])
note:""里面如果是,,则表示拼接起来并用逗号隔开
七.读写文本来了
open
close
seek(0) 将游标弄到首位
python 基本数据类型讲解(3\2)
一:类型
1 不可变数据类型
string,int ,tuple 常量
字符串不可变之再探
string[1] = ‘new_one’ can?
2 可变数据类型变量
dict list
二 再研究字符串
序列到底是什么
1 三个符合的区别 ‘’,"",""" “”"
2 偏移量从0开始
3 如何修改字符串之replace,find
三 格式化细究
1 % 格式化方式
2 format格式化方式
3 为什么要用format
4 还有一个方法,字典来了。
四 再议打开文件
标准库的介绍 linecache
将内容放进一个列表。
列表:
1 有序的集合
2 通过偏移来索引,从而读取数据
3 支持嵌套
4 可变的类型
1 切片:
a = [1,2,3,4,5,6,7]
正向索引
反向索引
默认索引
2添加操作:
- 生成一个新的列表
Extend 接受参数并将该参数的每个元素都添加到原有的列表中,原地修改列表而不是新建列表
Append :添加任意对象到列表的末端
Insert: 插入任意对象到列表中,可以控制插入位置。
3 修改:
修改列表本身只需要直接赋值操作就行。
A = [1,2,3]
A[0]=’haha’
4 删除操作:
Del :我们通过索引删除指定位置的元素。
Remove:移除列表中指定值的第一个匹配值。如果没找到的话,会抛异常。
Pop:返回最后一个元素,并从list中删除它。
5 成员关系:
In not in我们可以判断一个元素是否在列表里。
返回一个bool类型,元素在列表里返回true,否则返回fasle.
6 列表推导式:
[expr for iter_var in iterable]
1首先迭代iterable里所有内容,每一次迭代,都把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。
比如我们要生成一个包含1到10的列表
[x for x in range(1,11)]
Range(1,11)
[expr for iter_var in iterable if cond_expr]
2加入了判断语句,只有满足条件的内容才把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。
要生成包含1到10的所有奇数列表。
range(1,11,2)
[x for x in range(1,11) if x % 2 == 1]
7 排序翻转:sort,reverse
a = [33,11,22,44]
这个方式直接修改原列表。他的返回值为none,所以
b = a.sort()
print b 输出的内容是None
我们直接输出a列表变量
list的reverse函数:反转一个list, 他的返回值为none
比如上面的列表a
b = a. reverse()
print b 输出的内容是None
直接看a列表变量能看到翻转的效果。
元组:
特点:
1 有序的集合
2 通过偏移来取数据
3 属于不可变的对象,不能在原地修改内容,没有排序,修改等操作。
tuple类型转换
那为什么有列表还要有元组呢
元组不可变的好处。保证数据的安全,比如我们传给一个不熟悉的方法或者数据接口,
确保方法或者接口不会改变我们的数据从而导致程序问题。
def info(a):
‘’‘一个我们不熟悉的方法’’’
a[0] = ‘haha’
a = [1,2,3]
info(a)
print a
二 集合:集合是没有顺序的概念。所以不能用切片和索引操作。
1 创建集合。set():可变的 不可变的frozenset():
2 添加操作: add,update
3 删除 remove
4 成员关系 in,not in
6 交集,并集,差集 & | -
7 set去重 列表内容元素重复
#encoding=utf-8
##可变集合
info = set(‘abc’)
info.add(‘python’)##添加单个对象到集合里
print info
info.update(‘python’)##把对象里的每个元素添加到集合里
print info
info.remove(‘python’)
print info
##不可变集合
t = frozenset(‘haha’)##不能进行添加,修改和删除的操作。
##成员操作 in,not in
print ‘a’ in info
print ‘h’ in t
print ‘jay’ not in info
##判断2个集合是否相等,之和元素本身有关,和顺序无关。
print set(‘abc’) == set(‘cba’)
##并集,交集,差集
print set(‘abc’) | set(‘cbdef’)##并集
print set(‘abc’) & set(‘cbdef’)##交集
print set(‘abc’) - set(‘cbdef’)##差集
liststr = [‘haha’,‘gag’,‘hehe’,‘haha’]
#for循环
m = []
for i in liststr:
if i not in m:
m.append(i)
print m
m = set(liststr)
print list(m)
字典:
字典是无序的,它不能通过偏移来存取,只能通过键来存取。
字典 = {‘key’:value} key:类似我们现实的钥匙,而value则是锁。一个钥匙开一个锁
特点:
内部没有顺序,通过键来读取内容,可嵌套,方便我们组织多种数据结构,并且可以原地修改里面的内容,
属于可变类型。
组成字典的键必须是不可变的数据类型,比如,数字,字符串,元组等;
列表等可变对象不能作为键.
1 创建字典。{},dict()
info = {‘name’:‘lilei’, ‘age’: 20}
info = dict(name=‘lilei’,age=20)
2 添加内容 a[‘xx’] = ‘xx’
比如 info[‘phone’] = ‘iphone5’
3 修改内容 a[‘xx’] = ‘xx’ ,
info[‘phone’] = ‘htc’
update 参数是一个字典的类型,他会覆盖相同键的值
info.update({‘city’:‘beijing’,‘phone’:‘nokia’})
htc 变成了nokia了
4 删除 del,clear,pop
del info[‘phone’] 删除某个元素
info.clear()删除字典的全部元素
info.pop(‘name’)
5 in 和 has_key() 成员关系操作
比如:
1 phone in info
2 info.has_key(‘phone’)
6 keys(): 返回的是列表,里面包含了字典的所有键
values():返回的是列表,里面包含了字典的所有值
items:生成一个字典的容器:[()]
7 get:从字典中获得一个值
info.get(‘name’)
info.get(‘age2’,‘22’)
1.1 控制流的基本组成部分 条件,执行代码块。
1.2 if的基本格式
if expression:
statement(s)
1.2 控制流的条件表达式(expression)结果,必须为True真
1.3 冒号永不忘。尽量使用4个空格,而不是制表符
2.while语句
2.1 while的基本格式
while expression:
statement(s)
2.2 while的基本组成部分
2.2.1 break 结束while
2.2.2 continue 跳出当前这次循环,但不结束while
2.2.3 else 结束while以后执行
2.3 注意:普通应用里,while一定要给一个结束条件,否则就是传说中的死循环
3.for语句
3.1 for的基本格式
for item in iterable:
statement(s)
3.2 for的基本组成部分
3.2.1 break
3.2.2 continue
3.2.3 else
3.3 注意:for的最后一个迭代值将保留
4.布尔值再议
4.1 惰性求值,需要时再求值。
4.2 从左到右,从先到后。
4.3 利用小技巧。or之默认值。
结果输出为i am li lei hahaha hahaha
(最后x的值为最后一次迭代的值 即hahaha)