python基础

转自https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431658427513eef3d9dd9f7c48599116735806328e81000

一、输入输出

1. input()

python input() 相等于 eval(raw_input(prompt)) ,用来获取控制台的输入。

返回类型input()返回的数据类型是str,用以用int(para)来转换类型

二、数据类型

空值:None

常量:比如PI,其实也用一个变量表示

布尔值:只有TrueFalse两种值

 

字符串和编码:

不可变对象:str

replace方法创建了一个新字符串'Abc'并返回,而原字符串并没有改变

a = 'abc'
a.replace('a', 'A')

在最新的Python 3版本中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言

Unicode和UTF-8编码

在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码

用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件:

rw-file-utf-8

浏览网页的时候,服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器:

web-utf-8

所以你看到很多网页的源码上会有类似<meta charset="UTF-8" />的信息,表示该网页正是用的UTF-8编码。

三、list和tuple

1. 用len()函数可以获得list元素的个数

len(listname)

2. 索引:listname[-1]

索引位置外,还可以用-1做索引,直接获取最后一个元素

3. 要删除list末尾的元素,用pop()方法

listname.pop()

4. list里面的元素的数据类型也可以不同

L = ['Apple', 123, True]

tuple

5. tuple一旦初始化就不能修改

6. tuple中若包含list,则list是可变的

7. Python在显示只有1个元素的tuple时,也会加一个逗号

(1,)

四、条件判断

if语句

if <条件判断1>:
    <执行1>
elif <条件判断2>:
    <执行2>
elif <条件判断3>:
    <执行3>
else:
    <执行4>

注意不要少写了冒号“:”

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

 

五、循环

1. Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来

names = ['Michael', 'Bob', 'Tracy']
for name in names:
    print(name)

2. 第二种循环是while循环

while n>0:

六、dict和set

dict

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

 字典的查找:直接根据名字查找成绩,无论这个表有多大,查找速度都不会变慢

把数据放入dict,还可以通过key放入

d['Adam'] = 67

和list比较,dict有以下几个特点:

  1. 查找和插入的速度极快,不会随着key的增加而变慢;
  2. 需要占用大量的内存,内存浪费多。

而list相反:

  1. 查找和插入的时间随着元素的增加而增加;
  2. 占用空间小,浪费内存很少。

所以,dict是用空间来换取时间的一种方法。

什么类型可以做key:要保证hash的正确性,作为key的对象就不能变。在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key:

set

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

 

  


原文地址:https://www.cnblogs.com/eniac1946/p/7326440.html