首页技术文章正文

python入门(三)--基础

更新时间:2018-09-12 来源:黑马程序员人工智能+Python培训学院​ 浏览量:

python入门(三)--基础

 

 

注释:

以“#”开头

代码块:

以冒号“:”结尾的缩进(Tab建)语句,大小写敏感

字符串:

用‘’或者“”表示,如果‘’本身也是一个字符,可以用“”括起来,如:print "I'm a girl."

如果外面的是‘’怎么办,可以用转义字符:‘\'’,如:print 'I\'m a girl.'转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\

在''前加上r,就可以不用转义,直接打印,如: print r'\\\t\\\n\\'

如果字符串内部有多次换行,用'''...'''格式表示,如: print '''aaa

... bbb

... ccc'''

Python提供了ord()和chr()函数,可以把字母和对应的数字相互转换:如:

>>> chr(65)

'A'

>>> ord('A')

65

>>> ord('a')

97

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

>>>print u'中国'

中国

>>> u'中国'

u'\u4e2d\u56fd'

字符编码的转换:

中文会转为3个字符,与英文有区别

UNICODE-->UTF-8:

>>>u'ABC'.encode('utf-8')     

'ABC'

>>>u'中文'.encode('utf-8')

'\xe4\xb8\xad\xe6\x96\x87'

UTF-8-->UNICODE:

>>>'ABC'.decode('utf-8')

u'ABC'

>>> '\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')

u'\u4e2d\u6587'

布尔值:

布尔值可以用‘and’、'or'、'not'来运算,如:True and False

空值:

用‘None’表示,与0不同。

除法

精确与非精确的区别:

>>>10/3

3

>>>10.0/3

3.3333333333333335

字符串

字母与数字可以相互转换,如下所示

字母转为数字:

>>> ord('B')

66

数字转为字母:

>>> chr(66)

'B'

字符编码之间可以相互切换,如下所示

UNICODEàUTF-8

>>> u'apple'.encode('utf_8')

'apple'

>>> u'中文'.encode('utf-8')

'\xe4\xb8\xad\xe6\x96\x87'

UTF-8àUNICODE

>>> u'apple'.decode('utf_8')

'apple'

>>> '\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')

u'\u4e2d\u6587'

引用的.py文件内部,必须写上这两行:

#!/user/bin/evnpython

# -*-coding:utf-8 -*-

第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;

第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。

格式化一个字符串,需要用‘%’,有如下使用:

%d

整数(可定义位数,补0)

%f

浮点数(可定义位数,小数点后位数,补0)

%s

字符串(可任意使用)

%x

十六进制整数

例如:

>>>'hello,%s'% 'kitty'

'hello,kitty'

>>>'%6d--%%%.3f'%(2018,10.0/3)

'  2018--%3.333'

List

列表,类似于java中的数组,是有序的,可以添加和删除

定义

>>> Fruits=['apple','pear','banana']

>>> Fruits

['apple', 'pear', 'banana']

长度

>>> len(Fruits)

3

索引:从0开始,可以为负数,-1时代表倒数第一个元素

>>> Fruits[0]

'apple'

>>> Fruits[-1]

'banana'

替换:

>>> Fruits[1]='peach'

>>> Fruits[1]

'peach'

添加:

末尾添加append

定位添加insert(可通过负数索引添加,-1即倒数第二个元素,依次类推)

>>> Fruits.append('strawberry')

>>> Fruits

['apple', 'peach', 'banana', 'strawberry']

>>> Fruits.insert(2,'pear')

>>> Fruits

['apple', 'peach', 'pear', 'banana', 'strawberry']

>>> Fruits.insert(-1,'watermelon')

>>> Fruits

['apple', 'peach', 'pear', 'banana', 'watermelon', 'strawberry']

>>> Fruits.insert(-2,'mango')

>>> Fruits[-3]

'mango'

删除:不加参数,直接删除最后一个元素,并返回该元素;指定位置,即删除指定位置处元素,如是负数-1,即删除最后一个元素

>>> Fruits.pop()

'strawberry'

>>> Fruits

['apple', 'peach', 'pear', 'banana', 'mango', 'watermelon']

>>> Fruits.pop(1)

'peach'

>>> Fruits

['apple', 'pear', 'banana', 'mango', 'watermelon']

>>> Fruits.pop(-1)

'watermelon'

>>> Fruits

['apple', 'pear', 'banana', 'mango']

排序(list是可变对象,因此可以排序)

>>> Fruits.sort()

>>> Fruits

['apple', 'banana', 'mango', 'pear']

Tuple

元祖,类似于list,但是是无序的,一旦初始化就不能修改,是可重复的

定义,当定义为空和只有一个整型的元素需注意

>>> Students

('Andy', ['Belly', 'Cindy'], 'Andy', 'Daniel')

>>> t = ()

>>> t

()

>>> t = (1,)

>>> t

(1,)

长度

>>> len(Students)

4

索引:从0开始,可以为负数,-1时代表倒数第一个元素

>>> Students[0]

'Andy'

>>> Students[-3]

['Belly', 'Cindy']

条件判断

if <条件判断1>:

    <执行1>

elif <条件判断2>:

    <执行2>

elif <条件判断3>:

    <执行3>

else:

    <执行4>

>>> grade = 99

>>> if grade <60 :

...     print 'fail'

... elif grade >= 60 and grade <85:

...     print 'pass'

... else:

...     print 'good'

...

good

循环

For

其中range(x)函数代表从0到小于x的数

>>> for fruit in Fruits:

...     print fruit

...

apple

pear

banana

mango

>>> for x in range(5):

...     print x

...

0

1

2

3

4

while

>>> sum = 1

>>> n = 0

>>> while n<5:

...     n = n + 1

...     sum = sum + n

...

>>> print sum

16

Dic

字典,类似于map,键值对的存储格式

定义

>>> Grades={'Andy':95,'Belly':88,'Tom':77}

>>> Grades

{'Andy': 95, 'Belly': 88, 'Tom': 77}

长度

>>> len(Grades)

3

索引:按key索引

>>> Grades['Andy']

95

替换:

>>> Grades['Andy']=97

>>> Grades

{'Andy': 97, 'Belly': 88, 'Tom': 77}

判断key是否存在,有两种方式:

一、in判断,返回bool类型的值

二、get函数判断,若无,指定返回值

>>> 'Jerry' in Grades

False

>>> 'Tom' in Grades

True

>>> Grades.get('Jerry',-1)

-1

>>> Grades.get('Tom',-1)

77

删除,必须指定删除的key

>>> Grades.pop('Tom')

77

>>> Grades

{'Andy': 97, 'Belly': 88}

Set

与set类似,也是一组key的集合,但是不存储value

定义,重复元素自动过滤

>>> Numbers = set([1,2,3,4,3,2,1])

>>> Numbers

set([1, 2, 3, 4])

长度,只计算过滤后的值

>>> len(Numbers)

4

添加,重复添加会自动过滤

>>> Numbers.add(5)

>>> Numbers

set([1, 2, 3, 4, 5])

>>> Numbers.add(5)

>>> Numbers

set([1, 2, 3, 4, 5])

删除

>>> Numbers.remove(4)

>>> Numbers

set([1, 2, 3, 5])

Set可以看成是数学上无序且无重复元素的集合,因此可以求交集和并集:

>>>Numbers

set([1, 2, 3,5])

>>>Numbers2 = set([1,5,6,7,2])

>>>Numbers & Numbers2

set([1, 2, 5])

>>>Numbers | Numbers2

set([1, 2, 3, 5,6, 7])

作者:黑马程序员人工智能+Python培训学院

首发:http://python.itheima.com/


分享到:
在线咨询 我要报名
和我们在线交谈!