python-编程从入门到实践

python-编程从入门到实践


1.python文件后缀名:
.py 是Python的源码文件,由Python.exe解释。
.pyc 是Python的编译文件。pyc 文件往往代替 py 文件发布;Python在执行时,首先会将 py 文件中的源代码编译成PyCodeObject写入 pyc 文件,再由虚拟机执行PyCodeObject。
   当Python执行 import 时会先寻找对应的 pyc
或 pyd(dll)文件,如果没有则将对应的py文件编译写入 pyc 文件。pyc文件也可以通过 python -m py_compile src.py 生成。
.pyo 是优化编译后的程序,不能用文本编辑器编辑。 python -O source.py 即可将源程序编译为 pyo 文件。

2.变量,每个变量都存储一个值,与变量相关联的信息。
规则:
1、变量名只包含字母、数字和下划线,变量名可以字母或下划线开头,但不能以数字开头。
2、变量名不能包含空格,但可使用下划线来分割其中的单词。
3、不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词。
4、变量名应即简短又具有描述性。
5、慎用小写字母‘i’和大写字母‘O’,容易误导为数字1和0。

3.字符串,在Python中,用引号括起的都是字符串,其中的引号可以是单引号或是双引号。
函数:
upper() 字符串中全部字母改为大写。
lower() 字符串中全部字母改为小写。
rstrip() 去掉末尾的空格,如需要使用修改后的字符串需重新赋值,不修改原字符串。
lstrip() 去掉开头的空格,如需要使用修改后的字符串需重新赋值,不修改原字符串。
strip() 去掉开头和结尾的空格,如需要使用修改后的字符串需重新赋值,不修改原字符串。
str() 将变量转换为字符串类型
制表符:
\n 代表换行
\t 代表table,它的含义是一个字符,叫做制表符;它的作用是对齐表格数据的各列。
字符串拼接:加号(+),可以把两个或几个字符串拼接成一个字符串。

4.整数/浮点数
算术运算符: + - * / % // **
赋值运算符: = += -= *= /= %= **= //=

5.列表'[]':
列表由一系列按特定顺序排列的元素组成。列表是有序集合,因此要访问列表的任何元素只需将该元素的位置或索引告诉Python即可。索引是从0开始;'-1'代表最后一位的索引。

函数:
list() 将变量转换为列表格式
append() 列表末尾添加元素。
insert() 列表中任意位置添加元素,需指定插入位置的索引和值。
del 删除列表,可删除整个列表,也可删除索引位的值;删除的值不可再访问。
pop() 删除列表末尾的元素,并让你能够接着使用它。
remove() 根据值删除列表中的元素, 只删除第一个指定的值;如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。
sort() 排序,默认按从小到大,修改是永久性的; 参数reverse=True字母顺序相反。
sorted() 临时排序,保留原列表顺序; 参数reverse=True字母顺序相反。
reverse() 反转列表元素,不是指按与字母顺序相反的顺序排列列表元素,而只是反转列表元素的排列顺序。
min() 返回列表最小数字。
max() 返回列表最大数字。
sum() 返回列表数字和。
列表切片: [:] 规则:前开后闭

6.元组‘()’:
一个有序却不可修改的列表称之为元组,使用圆括号表示元组。元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用。
函数:
tuple() 将变量转换为元组格式
index() 查找元素,不存在返回error。

7.for / if / while:
比较运算符: == != > < >= <=
逻辑运算符: and or not
成员运算符: in not in
身份运算符: is is not
位运算符:
按位与:& 按位或:| 按位异:^
按位取反:~ 左移动:<< 右移动:>>
continue   退出当前循环,执行下一次循环。
break    退出整个循环。

8.字典{}:
字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每对之间用逗号(,)分割,整个字典包括在花括号({})中,字典是无序的。
函数:
clear()   删除字典内所有元素
copy()   浅复制
fromkeys() 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
get() 返回指定键的值,如果值不在字典中返回default值
items() 以列表返回可遍历的(键, 值) 元组数组。
keys() 返回字典中所有的键。

9.set 集合:
集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:
  s = {value01,value02,...} 或 set(value)
函数:
add() 添加元素,如果已存在,则不进行任何操作,参数为字符串格式。
update() 添加元素,如果已存在,则不进行任何操作,参数为列表,元组,字典等。
remove() 删除指定元素,如果元素不存在,则会报错。
discard() 删除元素,如果元素不存在,不会报错。
pop() 随机删除。
clear() 清空集合元素,返回None。
difference() 返回集合的差集,即返回的集合元素包含在第一个集合中,但不包含在第二个集合(方法的参数)中。
difference_update() 移除集合中的元素,该元素在指定的集合也存在。
intersection() 返回两个或更多集合中都包含的元素,即交集。
intersection_update() 移除两个或更多集合中都不重叠的元素,即返回交集。
isdisjoint() 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。

10.函数:
关键字 def 来定义一个函数。
实参 是调用函数时传递给函数的信息。
形参 是函数完成其工作所需的参数。
位置实参 在调用函数时,按实参的顺序,将函数调用中的每个实参都关联到函数定义中的形参中。
关键字实参 是传递给函数的名称值对,将名称和值关联起来。
默认值 可给形参指定默认值,没有实参情况时,形参直接使用默认值。
return 返回值
*name 不定长参数,加了*的参数会以元组的形式导入,存放所有未命名的变量参数。
**name 不定长参数,加了*的参数会以字典的形式导入,存放所有未命名的变量参数。

匿名函数:
lambda [arg1 [,arg2,.....argn]]:expression

关键字:
global 当内部作用域想修改外部作用域的变量时,就要用到global
nonlocal 当要修改嵌套作用域中的变量则需要 nonlocal 关键字


通用函数:
title() 修改大小写,字符串中首字母改为大写,其余都改为小写。
len() 返回变量中的长度。
range() 返回整数序列的数字集,规则前开后闭。


版本区别:
1、Python2中,整数除法的结果只包含整数部分,小数部分被删除。请注意,计算整数结果时,采取的方式不是四舍五入,而是将小数部分直接删除。
2、Python2.7应使用函数raw_input()来提示用户输入。这个函数与Python3中的input()一样,也将输入解读为字符串。


运算优先级:
** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 'AND'
^ | 位运算符
<= < > >= 比较运算符
<> == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
and or not 逻辑运算符


可更改(mutable)与不可更改(immutable)对象
在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。
不可变类型:变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,相当于新生成了a。
可变类型:变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。

python 函数的参数传递:
不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。
可变类型:类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响
python 中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。


猜你喜欢

转载自www.cnblogs.com/hoyun/p/9890168.html
今日推荐