零基础学python—基础

2016-10-24  本文已影响43人  异想派
引用模块
脚本定义
Mac终端运行.py文件

python "python"文件夹的绝对路径/文件名.py

可以通过直接将 .py 文件拖入终端的方式来获取该文件的绝对路径
绝对路径是相对于盘符的路径

1-7 玩转字符串(1)

->>> print 'what's your name?'
what's your name?
此处的斜杠为转义字符。所谓转义,就是不采用符号现在之前的含义,而采用另外一含义了

1-8 玩转字符串(2)

>>> a=1
>>> type(a)
<type 'int'>    #a是整数
>>> b="1"
>>> type(b)
<type 'str'>    #b是字符串
>>> print "one is %d"%a
one is 1
>>> print "one is %d"%b     #报错了,这个占位符的位置应该放整数,不应该放字符串。
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  TypeError: %d format: a number is required, not str

1-9 玩转字符串(3)

- 去掉字符串的空格
1 . S.strip() 去掉字符串的左右空格
2 . S.lstrip() 去掉字符串的左边空格
3 . S.rstrip() 去掉字符串的右边空格

1-11 从if语句开始的征程

/#! /usr/bin/env python

这句话以#开头,表示本来不在程序中运行。这句话的用途是告诉机器寻找到该设备上的python解释器,操作系统使用它找到的解释器来运行文件中的程序代码。有的程序里写的是/usr/bin python,表示python解释器在/usr/bin里面。但是,如果写成/usr/bin/env,则表示要通过系统搜索路径寻找python解释器。不同系统,可能解释器的位置不同,所以这种方式能够让代码更将拥有可移植性。对了,以上是对Unix系列操作系统而言

1-12 一个免费的实验室

->>>表示后面可以输入指令,...表示当前指令没有结束。要结束并执行,需要敲击两次回车键。

1-14 有容乃大的list(2)

list.index(x)
Return the index in the list of the first item whose value is x. It is an error if there is no such item.

1-15 有容乃大的list(4)

1-16 list和str比较

1-18 画圈还不简单吗?

1-19 再深点,更懂list

1-20 字典,你还记得吗?

help(str)
得到所有内容

> dir(str)
也能得到相同结果,不过更简单

- 概述
>dict是可变的
dict可以存储任意数量的Python对象
dict可以存储任何python数据类型
dict以:key:value,即“键:值”对的形式存储数据,每个键是唯一的。
dict也被称为关联数组或哈希表。

- 知识
1 . 关联数组
>在计算机科学中,关联数组(英语:Associative Array),又称映射(Map)、字典(Dictionary)是一个抽象的数据结构,它包含着类似于(键,值)的有序对。一个关联数组中的有序对可以重复(如C++中的multimap)也可以不重复(如C++中的map)

2 . 哈希表
>散列表(Hash table,也叫哈希表),是根据关键字(Key value)而直接访问在内存存储位置的数据结构。也就是说,它通过把键值通过一个函数的计算,映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表

### 1-21 字典的操作方法
- 获取键、值
> dict.keys   
dict.values
dict.items   #获取字典键值对,list形式,里面的键值对为元组形式

### 1-22 有点简约的元组
- list()和tuple()能够实现两者的转化

### 1-23 一二三,集合了
> 交互模式下用dir()或者help()
google(不推荐Xdu,原因自己体会啦)

1 .  ***是否为序列类型:即该数据的元素是否能够索引.其中序列类型的包括str/list/tuple***
2 . ***是否可以原处修改:即该数据的元素是否能够原处修改(特别提醒看官,这里说的是原处修改问题,有的资料里面说str不能修改,也是指原处修改问题.为了避免误解,特别强调了原处).能够原处修改的是list/dict(特别说明,dict的键必须是不可修改的,dict的值可原处修改)***
- 创建set
tuple算是list和str的杂合;
set则可以堪称是list和dict的杂合
- {}这个东西,在dict和set中都用

### 1-25 Python的数据类型总结
- print obj.__doc__
查看某个数据类型的含义

### 1-26 深入变量和引用对象
- is和==的效果
1 . == 指内容一样
2 . is 是比较两个引用对象在内存中的地址是不是一样

### 1-27 赋值,简单也不简单
- 变量名称格式
(下划线或者字母)+(任意数目的字母,数字或下划线)
- 注意
1 . 区分大小写
2 . 禁止使用保留字
3 . 遵循通常习惯
  - 以单一下划线开头的变量名(_X)不会被from module import *语句导入的。
  - 前后有下划线的变量名(*X*)是系统定义的变量名,对解释器有特殊意义。
  - 以两个下划线开头,但结尾没有两个下划线的变量名(__X)是类本地(压缩)变量。
  - 通过交互模式运行时,只有单个下划线变量(_)会保存最后的表达式结果

### 1-28 坑爹的字符编码
- python中如何避免中文是乱码

1 . 提倡使用utf-8编码方案,因为它跨平台不错
> # -*- coding: utf-8 -*-

2 . 遇到字符(节)串,立刻转化为unicode,不要用str(),直接使用unicode()

> unicode_str = unicode('中文', encoding='utf-8')
print unicode_str.encode('utf-8')    #print不能去除,否则又是乱码形式

3 . 如果对文件操作,打开文件的时候,最好用codecs.open,替代open
> import codecs
codecs.open('filename', encoding='utf8')

### 1-30 不要红头文件(1)
- 创建文件

| 模式 | 描述 | 
|:-------------:| -----:|
| r | 以读方式打开文件,可读取文件信息 | 
| w| 以写方式打开文件,可向文件写入信息。如文件存在,则清空该文件,再写入新内容 | 
| a | 以追加模式打开文件(即一打开文件,文件指针自动移到文件末尾),如果文件不存在则创建 | 
| r+ | 以读写方式打开文件,可对文件进行读和写操作 | 
| w+ | 消除文件内容,然后以读写方式打开文件 | 
| a+| 以读写方式打开文件,并把文件指针移到文件尾 | 

- with
在对文件进行写入操作之后,一定要牢记一个事情:file.close()
或者使用with方法,实现安全的关闭文件

```
with open("filename","a") as f
  f.write()
```

### 1-30 不要红头文件(2)
- 文件的属性
所谓属性,就是能够通过一个文件对象得到的东西。
- 文件的内置函数
> dir(file)

1 . file.read()
将文件中的内容全部读取过来。返回一个字符串,而且是将文件中的内容全部读到内存中。故不要去读大个的文件
2 . file.readline()
一行一行地读取,每次返回一行,然后指针向下移动
3 . file.readlines()
将文件内容一次性读出来,存放在内存,返回的是list
4 . 读取大文件
```
for i in file:
print i
```
上一篇下一篇

猜你喜欢

热点阅读