2018-07-14 Python基础

2018-07-14  本文已影响0人  Tyon

数据类型

     整数,写法同数学逻辑,某些情况使用16进制(0xa5b4c3d2)

    浮点数,对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5。

    注意,整数运算永远是精确的(除法也是精确的?!),而浮点数运算则可能会有四舍五入的误差。

    字符串,以单引号'或双引号"括起来的任意文本,比如'abc',"xyz"等等。如果'本身也是一个字符,那就可以用""括起来。如果字符串内部既包含'又包含"怎么办?可以用转义字符\来标识。为了简化,Python允许用'''...'''的格式表示多行内容,还允许用r' '表示''内部的字符串默认不转义

>>> print('\\\t\\')

\ \

>>> print(r'\\\t\\')

\\\t\\

>>>print(r'''Hello,

Lisa!''') 

Hello, 

Lisa!

    布尔值,可以用and、or和not运算,即与或非。

    空值,是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

    有趣的是,Python中对整数和浮点数的大小没有限制,但超出一定范围时,浮点数会变为inf(无限大)。

常量和变量

     变量,Python作为动态语言,变量本身类型不固定,在赋值时无需对类型进行声明。

    Python中没有对常量的固定声明,仅在书写习惯上使用的全部大写来表示常量。

字符串和编码

    Python3中,以Unicode编码,并且,提供了 ord() 和 chr() 函数获取字符的编码和将编码转换为对应字符,同样的,使用转制符 \ 也能输出编码对应的字符。Python对bytes类型的数据用带b前缀的单引号或双引号表示。

     Python对bytes类型的数据用带b前缀的单引号或双引号表示。通过encode和decode函数可以实现不同编码方式的编码和译码。

>>> 'ABC'.encode('ascii')

b'ABC'

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

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

>>> b'ABC'.decode('ascii')

'ABC'

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

'中文‘

    要计算str包含多少个字符,可以用len()函数。len()函数计算的是str的字符数,如果换成bytes,len()函数就计算字节数。

    保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行,同时必须并且要确保文本编辑器正在使用UTF-8 without BOM编码:

#!/usr/bin/env python3

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

格式化

    类似与C艹,举例如下,可以用%%转义表示%。例如%02d可以补零。

>>> 'Hello, %s' % 'world'

'Hello, world'

>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)

'Hi, Michael, you have $1000000.'

也可以使用format()函数,如下

>>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)

'Hello, 小明, 成绩提升了 17.1%

使用list和tuple

list

    classmates = ['Michael','Bob','Tracy'] 即为一个list。

    lens(classmates)可获得该list元素个数,classmates[i]或classmates[i-n]访问第i-1个元素。

    classmates.append('Adam')可以追加元素到list的末尾。

     classmates.pop() 用以删除末尾元素;classmates.pop(i) 删除对应元素。

tuple

    classmates = ('Michael','Bob','Tracy'),classmates即为一个tuple,与list不同,tuple一旦初始化不可修改,在括号与tuple冲突时,认为是小括号。

条件判断

    if条件 : 执行部分 else 执行部分 (多层时可以用elif注意,执行部分需缩进

循环

    for x in y 将list或tuple y中的每一个x迭代出来循环。for x in range(101) 即可执行0到100的整数序列循环

    while 同C艹

    break 同C艹,可提前结束循环

    continue同C艹,可跳过当前循环

dict和set

dict

     d = {'Michael':95,'Bob':75,'Tracy':85}即为一个dict,d['Michael']即可读取和写入对应value。通过用pop(key)方法,要删除一个key。

    注意,dict的key必须是不可变对象

set

    set和dict类似,也是一组key的集合,但不存储value。重复元素在set中自动被过滤。

    EG: s = set([1,2,3])

    通过add(key) remove(key)方法可以添加或删除元素到set中。

    set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集s1 & s2、并集s1 | s2等操作。

上一篇下一篇

猜你喜欢

热点阅读