Python编程之基础

时间:2022-12-17 22:27:34

Python的语法比较简单,采用缩进方式,当语句以冒号“:”结尾时,缩进的语句视为代码块。

按照约定俗成的管理,应该始终坚持使用4个空格的缩进。Python程序是大小写敏感

一、数据类型和变量

1、整数

2、浮点数

3、字符串

字符串是以''""括起来的任意文本,字符串内部既包含'又包含"可以用转义字符\来标识,转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\Python还允许用r''表示''内部的字符串默认不转义,Python允许用'''...'''的格式表示多行内容

4、布尔值

Python中,可以直接用TrueFalse表示布尔值(请注意大小写)

5、空值

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

6、变量

Python解释器干了两件事情:在内存中创建了一个'ABC'的字符串;在内存中创建了一个名为a的变量,并把它指向'ABC'

7、常量

二、字符串和编码

1、编码

ASCII编码和Unicode编码的区别:ASCII编码是1个字节,而Unicode编码通常是2个字节。在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。

2、字符串

Python在后来添加了对Unicode的支持,以Unicode表示的字符串用u'...'表示,把UTF-8编码表示的字符串'xxx'转换为Unicode字符串u'xxx'decode('utf-8')方法:

3、格式化

常见的占位符有:

%d

整数

%f

浮点数

%s

字符串

%x

十六进制整数

%%来表示一个%

三、listtuple

1list

定义一个list:classmates = ['Michael','Bob', 'Tracy']

len(classmates

 classmates[0]

 classmates[-1]

classmates.append('Adam'

classmates.insert(1,'Jack')  #在位置“1”插入,其他后退

classmates.pop()             #在末尾删除并返回改数据

classmates.pop(1)            #删除相应位置并返回

classmates[1] ='Sarah'       #替换

s = ['python','java', ['asp','php'], 'scheme']  #list的元素是另一个lists[2][1],因此s可以看成是一个二维数组

2tuple

 classmates = ('Michael','Bob', 'Tracy')

tuple的陷阱:当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来

 t = (1,)  #只有1个元素的tuple定义时必须加一个逗号,,来消除歧义

我们先看看定义的时候tuple包含的3个元素:

当我们把list的元素'A''B'修改为'X''Y'后,tuple变为:

四、条件判断及循环

1、条件判断

只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False

2for...in循环

Python提供一个range()函数,可以生成一个整数序列,比如range(5)生成的序列是从0开始小于5的整数:

3while循环

五、dictset

1dict

d = {'Michael':95,'Bob':75,'Tracy':85}

d['Adam'] =67          #放入

'Thomas'in d           #避免key不存在的错误,有两种办法,一是通过in判断key是否存在:

 d.get('Thomas', -1)  #二是通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value

d.pop('Bob')          #删除一个key,用pop(key)方法,对应的value也会从dict中删除:

牢记的第一条就是dictkey必须是不可变对象

2set

setdict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key

s = set([1,2,3])     #提供一个list作为输入集合

s = set([1,1,2,2,3,3])    #重复元素在set中自动被过滤

 s.add(4)              

s.remove(4

>>> s1 = set([1,2,3])

>>> s2 = set([2,3,4])

>>> s1 & s2

set([2,3])

>>> s1 | s2

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

set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部不会有重复元素