0. 前言
免责声明
本笔记旨在通过整理和总结他人公开分享的Python学习资料,以便于个人学习和理解。在此过程中,我承诺遵循以下原则:
-  
尊重知识产权: 本笔记中引用的任何内容均来自于公开渠道的学习资料。我尊重并承认原作者的知识产权和贡献。
 -  
非商业用途: 本笔记仅用于个人学习和参考,绝不用于任何商业目的。
 -  
注明出处: 在整理笔记时,我将尽力注明资料的来源和原作者,以明确承认他们的贡献。(本文笔记主要来源:Python 基础教程_Python 教程_编程学习网)
 -  
删除侵权内容: 如果原作者或合法权益人认为本笔记中包含了侵犯其版权的内容,请及时与我联系。我将在核实后立即删除相关内容。
 -  
开放交流: 欢迎原作者或其他读者对本笔记提出修改建议或意见,以帮助我更好地理解和学习Python。
 
1. Python相关介绍
Python是一种解释型,面向对象、动态数据类型的高级编程语言。
#!/usr/bin/Python
print("hello, world!") # 3.0之后,成为内置函数
print "hello, world" # 3.0之前可以这样用 
命令行调用PYTHON文件:python 文件名
| 选项 | 描述 | 
| -d (debug) | 在解析时显示调试信息 | 
| -o |   生成优化代码(.pyo文件)  | 
| -v (versions) | 查看PYTH ON的版本信息 | 
| -c cmd | 执行python脚本,并将运行的结果作为cmd字符串 | 
| file | 在给指定的PYTHON文件进行执行 | 
例子:
python my_python_file.py       # 注意要有可执行权限 
在我们打印汉字的时候,可能出现无法识别中文的情况,我们可以指定字符集:
#!/usr/bin/python
# -*- coding: UTF-8 -*-  # 在python3.x源码文件默认使用UTF-8编码,所以无需指定正常使用
print("你好,世界") 
python标识符
- 字符、数字、下划线,但是不能以数字开头
 - 以下划线开头的标识符一般有特殊含义,不建议使用
 
多行语句
python语句中一般以新行作为语句的结束符号。但是我们有时一行没办法写完,可以使用斜杠(\)将一行语句分为多行显示,如下
num1 = 1
num2 = 2
num3 = 3
total = num1 + \num2 + \num3
print(total) 
python引号
python 接收单引号、双引号、三引号来表示字符串,引号的开始和结束必须是同一种类型。
word = '这是字符串1'
word2 = "这是字符串2"
word3 = """这个是段落,
可以包含很多行""" 
python注释
python中单行注释采用# 开头,也可以在行末使用 # 后面是注释。多行注释可以使用三个单引号或者三个双引号
2. python变量类型
python中的变量不用声明,变量的赋值操作即是变量声明和定义的过程。
每个变量在使用前都必须赋值,变量赋值之后该变量才会被创建。
#!/usr/bin/python
# -*- coding: UTF-8 -*-num1 = 123  # 整形变量
num2 = 123.4  # 浮点型
mystr = "nihao"   # 字符串 
多变量赋值
a = b = c = 1   # 创建一个整形值为1,三个遍阿令被分配到相同的内存空间上
print(a, b, c)
a, b, c = 1, 2, 3 # 为多个对象指定多个变量
print(a, b, c) 
标准数据类型
在内存中储存数据可以有很多类型。
Python有五种标准的数据类型:
- numbers (数字)
 - String (字符串)
 - List(列表)
 - Tuple(元组)
 - dictionary(字典)
 
数字数据类型用于存储数值,他们是不可改变数据类型,这意味着改变数字数据类型会分配一个新的对象。
var1 = 1   # 创建一个数字数据类型
var2 = 10
var3 = 10.1
del var1, var2 # 使用del语句可以删除单个或者多个对象
 
字符串是由数字、字母、下划线组成的一串字符
mystr1 = "abcdefg"  # 字符串数据类型的四种变现方式
mystr2 = 'abcdefg'
mystr3 = """abcdefg"""
mytest4 = '''abcdefg''' 
python字符串有2种取值顺序:
- 从左到右索引默认冲0开始,最大范围是字符串长度-1
 - 从右到左索引,默认从-1开始,最范围是字符串开头
 
如果想取得这个字符串的子串,可以用到变量 [头下标:尾下标],就可以截取对应的字符串,下标为空表示取到头或尾,比如:
str1 = "abcdefgh"
print(str1[0]) # 表示输出字符串的第一个字符
print(str1[1:6])   # 以引号分割,表示从1开始取到6,包含1, 不包含6
print(str1[1:]) # 表示从1开头,取到结尾
print(str1[:4]) # 表示从0开始,取到4,前闭后开
print(str1[-3:-1]) # 从后向前取,从-3取到-1,前闭后开
print(str1[:-3]) # 表示从0开始,取到-3,前闭后开
print(str1[-1:]) # 表示从-1开始,取到最后,前闭后开
 

列表可以完成大多数集合类的数据结构实现。它支持字符、数字、字符串甚至可以包含列表。
列表用[ ]标识,列表中值的分割也可以使用[头下标:尾下标],从左到右索引默认从0开始的,从右向走默认是从-1开始的,下标可以为空表示取到头或者尾。例如:
list1 = ["000", "111", "222", "333", "444", "555"]
print(list1[1]) # 表示取下标为1的元素
print(list1[0:2]) # 表示取从0到2的列表,前闭后开
print(list1[:-1]) # 表示取从0到最后的列表,前闭后开
print(list1[3:]) # 表示取从3到最后+1的列表,前闭后开 

元组是另一种数据类型,类似于LIST,元组使用()标识,内部元素使用逗号隔开,但是元素不能二次赋值,相当于只读列表。
mytuple = ("abc", "1111", "def", "222", "ghi", "333")
print(mytuple[1]) # 表示取下标为1的元素
print(mytuple[1: 4]) # 表示取下标为1到4的元素,前闭后开
print(mytuple[:4]) # 表示取下标从0到4的元素,前闭后开
print(mytuple[1:]) # 表示取小表从1到最后+1的元素,前闭后开 

以下对元组的更新是无效的,因为原则不允许更新。但是列表的更新是可以的。
mytuple = ("00", "11", "22", "33", "44")
mylist = ["00", "11", "22", "33", "44"]
mylist[0] = "55"  # 列表允许更新
mytuple[0] = "55"  # 错误,元组不允许更新 
字典是除了列表以外最灵活的数据类型。列表是有序的对象的集合,字典是无序的对象的集合。
字典和列表的区别在于:列表是通过偏移量来取的,字典当中的元素是通过键来存取的。字典使用{ } 标识,字典由索引(KEY)和它对应的值value组成。
dict = {}
dict["one"] = "this is one"
dict[2] = "this is two"
print(dict)dict = {"name":"xiaoming", "age":18}
print(dict) # 输出整个字典
print(dict["name"]) # 输出键为name对应的值
print(dict.keys()) # 输出字典所有的键的名字
print(dict.values()) # 输出字典所有的值 

3. 运算符
python语言支持以下类型的运算符:
- 算术运算符
 - 比较(关系)运算符
 - 赋值运算符
 - 逻辑运算符
 - 位运算符
 - 成员运算符
 
