Python基本规则详解

来源:互联网 发布:淘宝卖家被投诉后果 编辑:程序博客网 时间:2024/06/08 09:22

python用途:
1.科学计算
2.图像化开发
3.系统脚本
4.web服务器
5.网络爬虫
6.服务器集群自动化运维
下面介绍python的简单用法:
1.and,or
Python中的and与or分别对应C中的&&与||,但又与其不太一样。
Python中的and运算,如果同为真,则返回最后一个真值。如果有一个为假,则and返回第一个假值。
or运算,如果有一个值为真,立刻返回该值。如果所有的值都为假,or返回最后一个假值。
eg:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9 就相当于(not 1)or (0 and 1)or (3 and 4) or (5 and 6) or (7 and 8 and 9)=False or 0 or 4 or 6 or 9=4
2.python一些函数的含义
s为字符串

s.isalnum() 所有字符都是数字或者字母,为真返回 Ture,否则返回 False。

s.isalpha() 所有字符都是字母,为真返回 Ture,否则返回 False。

s.isdigit() 所有字符都是数字,为真返回 Ture,否则返回 False。

s.islower() 所有字符都是小写,为真返回 Ture,否则返回 False。

s.isupper() 所有字符都是大写,为真返回 Ture,否则返回 False。

s.istitle() 所有单词都是首字母大写,为真返回 Ture,否则返回 False。

s.isspace() 所有字符都是空白字符,为真返回 Ture,否则返回 False。

s.title() 以首字母大写的方式显示每个单词
s.upper() 将字符串全部大写
s.lower() 将字符串全部小写

s.rstrip() 确保字符串末尾没有空白 //但这种删除是暂时的,再次访问字符串s的值时,依然还有空白
若要永久删除,则应s=s.rstrip()
s.lstrip() 剔除字符串开头的空白
s.strip() 剔除字符串两端的空白
3.assert的作用:
assert这个关键字我们称之为“断言”,当这个关键字后边的条件为假的时候,程序自动崩溃并抛出AssertionError的异常。
什么情况下我们会需要这样的代码呢?当我们在测试程序的时候就很好用,因为与其让错误的条件导致程序今后莫名其妙地崩溃,不如在错误条件出现的那一瞬间我们实现“自爆”。一般来说我们可以用Ta在程序中置入检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert关键字就非常有用了。
4.break、continue
break语句的作用是终止当前循环,跳出循环体
continue语句的作用是终止本轮循环并开始下一轮循环
5.列表顺序、逆序排序
顺序排序:列表名.sort()
逆序排序:列表名.sort()
列表名.reverse()
或:列表名.sort(reverse=True)
6.clear()方法
用于清空列表的元素,但清空完后列表仍然还在,只是变成一个空列表
copy()方法
用来复制一个完全一样的列表
7.列表
插入元素的方法
列表名.insert(位置,元素):在指定位置插入某元素
列表名.append():在列表末尾添加新的元素
列表名.extend():在列表末尾一次性追加一个序列的多个值
删除元素的方法
列表名.pop():删除列表的最后一个元素
列表名.remove(元素值):删除指定值的元素
del 列表名[下标]:删除对应下标的元素
8.元组
元组中的值是不可变的
9.字典
(1)字典中同一个键不允许出现两次
(2)键必须不可变,可用数、字符串或元组充当,但不可用列表
(3)字典可以存储在列表中,列表也可以嵌套在字典中,字典中也可以存储字典
10.字符串、列表、元组、字典相互转换
字符串:
(1)str->list:
list=list(str)
(2)str ->tuple
tuple=tuple(str)
(3)str->dict
eg: a=’{“name”:”yct”,”age”:10}’
eval(a)={“name”:”yct”,”age”:10}
列表:
(1)list->str:
str= ”.join(list)//只适合于元素类型是字符的列表
str= str(list)
(2)list ->tuple
tuple=tuple(list)
(3)list不能转换成字典
元组:
(1)tuple->str
str=str(tuple)=tuple._str()
str=”.join(list(tuple))//只适合于元素类型是字符的列表
(2)tuple->list
list=list(tuple)
(3)元组不可以转换成字典
字典:
(1)dict->str
str=str(dict)
(2)dict->list
list=list(dict)
(3)dict->tuple
dict.keys()
dict.values()
11.三引号字符串
三引号字符串不赋值的情况下,通常当做跨行注释使用
12.列表解析
在需要改变列表而不是新建某列表时,可以使用列表解析。
表达式为:
[expr for iter_var in iterable]
[expr for iter_var in iterable if cond_expr]
备注:
当需要只是执行一个循环的时候,尽量使用循环而不是列表解析。
当有内建的操作或者类型能够以更直接的方式实现的,不要使用列表解析。
如果需要对每个元素都调用并且返回结果时,应使用L1=map(f,L),而不是L1=[f(x) for x in L]
13.生成器表达式
生成器表达式并不真正创建数字列表,而是返回一个生成器,这个生成器在每次计算出一个条目后,把这个条目“产生”(yield)出来。生成器表达式使用了“惰性计算”,只有在检索时才被赋值,所以在列表比较长时使用内存上更有效。

  g = (i for i in range(1,10) if i%3==0 or i%5==0)for i in g:...     print(i)... 3569
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

14.字典
(1)字典的遍历默认遍历所有的键,且键值对的返回顺序与存储顺序不同
(2)遍历键时,用字典名.keys(),
遍历键值时,用字典名.values()
items()方法,返回一个键-值对列表
(3)集合
对于遍历字典中的所有值时,可能存在键值重复的现象,若想剔除重复项,可以使用集合(set),例如:for value in set(dict.values):
这样遍历得到的就是一个不重复的列表
(4)字典可以存储在列表中,字典中也可以存储列表,当字典中的一个键需要关联到多个值时,可以在字典中嵌套一个列表
15.函数
将函数存储在模块中:
(1)导入整个模块
只需编写一条import语句并在其中指定模块名,就可在程序中使用模块中的所有函数。如果你使用import语句导入名为module_name.py的整个模块,就可使用module_name.fuction_name()来使用其中任何一个函数。
(2)导入特定的函数
语法如下:
from module_name import fuction_name
from module_name import function_0,fuction_1,fuction_2
使用这种语法,调用函数时无需使用句点,只需指定其名称。
(3)使用as给函数指定别名
from module_name import fuction_name as fn
(4)使用as给模块指定别名
from module_name as mn
(5)导入模块中的所有函数
使用*运算符可让Python导入模块中的所有函数
from module_name import *
使用并非自己编写的大型模块时,最好不要使用这招拍挂导入方法。
16.类
方法 _ _ init_ _()
每当根据类创建新实例时,Python都会自动运行它。其中形参self必不可少,且位于其他形参的前面。每个与类相关联的方法调用都自动传递实参self,它是一个指向实例本身的引用,让实例能够访问类中的属性和方法。
17. 文件和异常
(1)读取文件
eg:
linux中:
with open(‘text_files/filename.txt’,模式) as file_object:
contents = file_object.read()
print(contents.rstrip())

windows中,在文件路径中使用反斜杠而不是斜杠

在相对路径行不通时,可使用绝对路径,可将其存储在一个变量中,再将该变量传递给open()

open()方法用来打开文件,with在不再需要访问文件后将其关闭,read()方法读取文件的全部内容,并将其作为一个长长的字符串存储在变量contents中。read()方法到达文件末尾时返回一个空字符串,可使用rstrip()删除。
(2)打开文件时,可指定读取模式 (‘r’),写入模式(‘w’),附加模式(‘a’)或让你能够读取和写入文件的模式(‘r+’).如果你省略了模式实参,Python将以默认的只读模式打开文件。
如果写入的文件不存在,open()函数将自动创建它。
以写入(‘w’)模式打开文件千万要小心,因为如果指定的文件已经存在,Python将在返回文件对象前清空该文件。
18.存储数据
Python内置json(JavaScript Object Notation)模块,能够将剑三的Python数据结构存储到文件中,并在程序再次运行时加载该文件中的数据。还可以使用json在python程序之间分享数据,还可以以json格式存储的数据与使用其他编程语言的人分享。
方法是json.dump()和json.load()。
json.dump()接受两个实参:要存储的数据以及可用于存储数据的文件对象。
19.测试代码
python模块中unittest工具来进行测试。单元测试用于核实函数的某个方面没有问题,测试用例是一组单元测试,这些单元测试一起核实函数在各种情形下的行为是否都符合要求。全覆盖式测试用例包含一整套单元测试,涵盖了各种可能的函数使用方式。
unittest.TestCase类包含方法setUP(),让我们只需创建这些对象一次,并在每个测试方法中使用它们。如果你在TestCase类中包含了方法,Python将先运行它,再运行各个以test_打头的方法。这样,在编写的每个测试方法中都可使用在方法setUP()中创建的对象了。
注:运行测试用例时,每完成一个单元测试,python都打印一个字符:测试通过时打印一个句点;测试引发错误时打印一个E;测试导致断言失败时打印一个F。如果测试包含很多单元测试时,可通过观察这些结果来获悉有多少个测试通过了。



(function () {('pre.prettyprint code').each(function () {
var lines = (this).text().split(\n).length;varnumbering = $('
    ').addClass('pre-numbering').hide();
    (this).addClass(hasnumbering).parent().append(numbering);
    for (i = 1; i <= lines; i++) {
    numbering.append(('
  • ').text(i));
    };
    $numbering.fadeIn(1700);
    });
    });

    更多文章,请关注博客:http://blog.csdn.net/qq_37022150

更多文章,请关注博客:http://blog.csdn.net/qq_37022150

原创粉丝点击