Python 学习

Python中raw字符串与多行字符串

如果一个字符串包含很多需要转义的字符,对每一个字符都进行转义会很麻烦。为了避免这种情况,我们可以在字符串前面加个前缀 r ,表示这是一个 raw 字符

串,里面的字符就不需要转义了。

但是r'...'表示法不能表示多行字符串,也不能表示包含'和 "的字符串(为什么?)

如果要表示多行字符串,可以用'''...'''表示


Python中Unicode字符串

Python在后来添加了对Unicode的支持,以Unicode表示的字符串用u'...'表示,比如:

print u'中文'

中文

注意: 不加 u ,中文就不能正常显示。

Unicode字符串除了多了一个 u 之外,与普通字符串没啥区别,转义字符和多行表示法仍然有效:

转义:

u'中文\n日文\n韩文'

多行:

u'''第一行

第二行'''

raw+多行:

ur'''Python的Unicode字符串支持"中文",

"日文",

"韩文"等多种语言'''

# -*- coding: utf-8 -*-  标记python文件统一utf-8编码


Python ————list

Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。

比如,列出班里所有同学的名字,就可以用一个list表示:

['Michael', 'Bob', 'Tracy']

list是数学意义上的有序集合,也就是说,list中的元素是按照顺序排列的。


构造list非常简单,按照上面的代码,直接用 [ ] 把list的所有元素都括起来,就是一个list对象。通常,我们会把list赋值给一个变量,这样,就可以通过变量来

引用list:

>>> classmates = ['Michael', 'Bob', 'Tracy']

>>> classmates # 打印classmates变量的内容

['Michael', 'Bob', 'Tracy']

由于Python是动态语言,所以list中包含的元素并不要求都必须是同一种数据类型,我们完全可以在list中包含各种数据:

>>> L = ['Michael', 100, True]

一个元素也没有的list,就是空list:

>>> empty_list = []

当索引为负数时,表示逆序进行输出。例如:L[-1]表示最后一个

append("") 添加新数据至最后一个

insert(0,"")添加新数据到指定位置

pop(0)删除指定位置的数据 pop()删除最后一个 且返回值为具体的对象

替换数据:可以通过先删除,再添加的方法进行,或者通过直接修改具体位置的值即可。


Python————Tuple

tuple是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。

创建tuple和创建list唯一不同之处是用( )替代了[ ]。

创建不含数据的tuple时,直接用()即可

由于()本身存在歧义,既可以用于修改运算优先级,也可以用于进行tuple的定义,所以在定义tuple时,可以进行特殊的如(1,)来定义。

可以通过在tuple中定义list从而实现部分可变的效果。


Python————if

计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。

比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,可以用if语句实现:

age = 20

if age >= 18:

    print 'your age is', age

    print 'adult'

print 'END'

注意: Python代码的缩进规则。具有相同缩进的代码被视为代码块,上面的3,4行 print 语句就构成一个代码块(但不包括第5行的print)。如果 if 语句判断为 

True,就会执行这个代码块。

缩进请严格按照Python的习惯写法:4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误。

注意: if 语句后接表达式,然后用:表示代码块开始。

如果你在Python交互环境下敲代码,还要特别留意缩进,并且退出缩进需要多敲一行回车。

if-else:

利用 if ... else ... 语句,我们可以根据条件表达式的值为 True 或者 False ,分别执行 if 代码块或者 else 代码块。

注意: else 后面有个“:”。

if-elif-else:

age = 8

if age >= 6:

    print 'teenager'

elif age >= 18:

    print 'adult'

else:

    print 'kid'


Python——for循环

L = ['Adam', 'Lisa', 'Bart']

for name in L:

    print name


Python——while循环

N = 10

x = 0

while x < N:

    print x

    x = x + 1


Python——break退出循环

Python——continue继续循环

Python——多重循环


Python——dict(相当于Java:Map 且无序,作为key的值不可变)

花括号 {} 表示这是一个dict,然后按照 key: value, 写出来即可。最后一个 key: value 的逗号可以省略。

dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样。而list的查找速度随着元素增加而逐渐下降。

不过dict的查找速度快不是没有代价的,dict的缺点是占用内存大,还会浪费很多内容,list正好相反,占用内存小,但是查找速度慢。

由于dict是按 key 查找,所以,在一个dict中,key不能重复。

dict的第二个特点就是存储的key-value序对是没有顺序的!

dict的第三个特点是作为 key 的元素必须不可变,Python的基本类型如字符串、整数、浮点数都是不可变的,都可以作为 key。但是list是可变的,就不能作为 

key。

dict的访问:

可以通过key值直接访问:d['...']

也可以通过get方法:d.get('...')

替换: 使用d['...']=...即可

遍历dict:使用for循环可直接遍历dict的key的值

可以通过d[key]的方式获取value的值


Python——Set(跟Java的Set很像)

s = set(['A', 'B', 'C', 'C'])

可以通过in关键字查找Set中是否存在相应的值。—— print 'Bart' in set

——————————[x.lower() for x in s] 蛮有趣的

set的内部结构和dict很像,唯一区别是不存储value

set存储的元素和dict的key类似,必须是不变对象

set存储的元素也是没有顺序的。

set的添加 set.add(...) 若不存在,不会报错

set的删除 set.remove(...) 若不存在,则会报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值