python 入门代码
做一个笔记,记录一下python的入门代码
目录内容如下:
- 变量与类型
- 运算符
- 流程控制
- 函数与模块
- 容器
- 常用的库
1.变量与类型
Python 中的变量赋值不需要类型声明。每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。 Python有五个标准的数据类型:
- Numbers(数字)
- int(有符号整型)
- long(长整型[也可以代表八进制和十六进制]):python3已经移除
- float(浮点型)
- complex(复数)
- String(字符串)
- Python不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。
- python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。
- List(列表)
- Set (集合)
- Tuple(元组)
- Dictionary(字典)
|
|
2.运算符
和其他语言一样,python也支持以下类型的运算符:
- 算术运算符
- 比较(关系)运算符
- 赋值运算符
- 逻辑运算符
- 位运算符
- 成员运算符
- 身份运算符
- 运算符优先级
|
|
3.流程控制
流程控制:条件判断+循环语句
PS:没有switch
条件判断
第一种形式:
```python
if 判断条件: 执行语句…… else: 执行语句…… ```
第二种形式:
1 2 3 4 5 6 7 8
if 判断条件1: 执行语句1…… elif 判断条件2: 执行语句2…… elif 判断条件3: 执行语句3…… else: 执行语句4……
循环语句
while 循环
1 2
while 判断条件: 执行语句……
for 循环:
1 2
for iterating_var in sequence: statements(s)
循环条件控制
- break 语句 在语句块执行过程中终止循环,并且跳出整个循环
2. continue 语句在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。
3. pass 语句pass是空语句,是为了保持程序结构的完整性。
4.函数与模块
函数定义的规则函数
函数代码块以 def关键词开头,后接函数标识符名称和圆括号()。
任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
return表达式结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回None。
1 2 3 4
def functionname( parameters ): "函数_文档字符串" function_suite return [expression]
参数传递
调用函数时,默认参数的值如果没有传入,则被认为是默认值.注意:默认参数一定要放在后面
不定长参数:加了星号(*)的变量名会存放所有未命名的变量参数
1 2 3 4
def functionname([formal_args,] *var_args_tuple ): "函数_文档字符串" function_suite return [expression]
匿名函数:
1
lambda [arg1 [,arg2,.....argn]]:expression
变量作用域
- 定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。
- 局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中。
- global关键字能在函数内使用全局变量,而不用先去初始化
模块 当你导入一个模块,Python 解析器对模块位置的搜索顺序是:
1、当前目录
2、如果不在当前目录,Python 则搜索在 shell 变量 PYTHONPATH 下的每个目录。
3、如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/。
模块搜索路径存储在 system 模块的 sys.path 变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。
5.容器
在python中,提供了四种容器,分别是list,tuple,set,dict
5.1 list容器
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型
1 2 3
list2 = [1, 2, 3, 4, 5 ] list3 = ["a", "b", "c", "d"]``` list的常用方法:
- append:尾部添加
- inser:插入
- del: 删除
- pop: 删除最后一个
- remove;删除指定元素
PS:非常重要的是list可以切片索引
5.2 tuple
元组与列表类似,不同之处在于元组的元素不能修改。换句话说:元组可以添加元素,但是不能修改和删除里面的元素,其他操作和list基本。
PS:元组中只包含一个元素时,需要在元素后面添加逗号
|
|
5.3 dict
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割
键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
dict = {'a': 1, 'b': 2, 'b': '3'}
dict的特点:
- 查找速度快。无论是10个还是10万个,速度都是一样的,但是代价是耗费的内存大。List相反,占用内存小,但是查找速度慢。这就好比是数组和链表的区别,数组并不知道要开辟多少空间,所以往往开始就会开辟一个大空间,但是直接通过下标查找速度快;而链表占用的空间小,但是查找的时候必须顺序的遍历导致速度很慢
- 没有顺序。Dict是无顺序的,而List是有序的集合,所以不能用Dict来存储有序集合
- Key不可变,Value可变。一旦一个键值对加入dict后,它对应的key就不能再变了,但是Value是可以变化的。所以List不可以当做Dict的Key
- Key不可重复。
5.4 set
类似于一个List,但是里面的内容不能重复.
set也是无序的,也不能包含重复的元素。
6.常用的库
- os库 : os 模块提供了非常丰富的方法用来处理文件和目录
- time库 : time 模块下有很多函数可以转换常见日期格式
- math库:math 模块提供了各种的数学函数
- 除此之外还有很多优秀的库……
Python中的对象:
可更改(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也会受影响