【●】Python开发入门
1. python介绍
- 创始人: Guido van Rossum(荷兰人)。
- 时 间 : 1989年圣诞节期间
- 地 点 : 阿姆斯特丹
- Python命名: 源于Guido 是一个喜剧团 Monty Python 的粉丝。
- 1991年初,Python发布了第一个公开发行版
- 为了更好的完成荷兰的CWI(国家数学和计算机科学研究院)的一个研究项目而创建
    
2. python应用领域    
- 自动化系统运维
- 自动化测试
- 人工智能(机器人)
- 搜索引擎,爬虫
- 科学计算
- web网站后端开发
- 云计算
- 大数据及数据库编程
- 游戏
- 其它
    
3. python优点
- 简单易学易用
- 开发效率高
- 应用领域广泛
- 免费
- 可移植(支持 Windows, Mac OS X, Linux操作系统)
- 可混合编程(C/C++)
- 开源
- 面向对象(Java, C++, Python)
    
4. python缺点
- 与C/C++相比,执行速度不够快
- 不能封闭源代码

5. python的版本
- Python V2.7(2020年已经结束维护)
- Python V3.6(当前教学)
- Python V3.9(最新)
    
6. 获取python  
6.1 官方网址 https://www.python.org
6.2 下载地址 https://www.python.org/ftp/python
6.3 帮助文档 https://docs.python.org/zh-cn/3.6/
        
7. 安装python3
//安装依赖
]#yum install -y gcc gcc-c++ zlib-devel openssl-devel readline-devel \
  libffi-devel sqlite-devel tcl-devel tk-devel

//安装源码python3
]# tar  -xzf Python-3.6.7.tar.gz
]# cd Python-3.6.7
]# ./configure --prefix=/usr/local
]# make && make install

//验证
[root@teacher ~]# python3
Python 3.6.7 (default, Nov  5 2020, 03:55:09) 
[GCC 8.3.1 20191121 (Red Hat 8.3.1-5)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>> exit() 

[root@teacher ~]# 
//配置命令行tab键 见"配置tab补全python命令.txt" 文件

8. IDE环境 (集成开发环境)
8.1 pycharm软件介绍
8.2 安装pycharm软件及安装插件 见文件"安装pycharm.txt"
● 下载并安装Pycharm社区版
    

9. python的运行方式
9.1 命令行交换解释器方式
9.2 文件方式
[root@dc ~]# mkdir python
[root@dc ~]# cd python
[root@dc python]# vim one.py
#!/usr/bin/python3
print('hollow world!!!')
print('你好同学')

[root@dc python]# python3 one.py
hollow world!!!
你好同学

[root@dc python]# python3
Python 3.6.8 (default, Dec  5 2019, 15:45:45)
[GCC 8.3.1 20191121 (Red Hat 8.3.1-5)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print('aaaa')
aaaa
>>>exit()  #退出

10. python的语法结构(编写代码要遵循)
●语句块缩进
◆python的代码块通过缩进对齐表达代码逻辑而不是使用大括号
缩进表达一个语句属于哪个代码块
◆缩进风格   —  4个空格:

◆ 以缩进对齐区分代码块之间的关系 缩进相同的多行代码 构成一个代码组。
◆ 首行以关键字开始,以冒号:结束,该行之后的一行或多行代码构成代码组。
◆ 一行过长的语句可以使用反斜杠\分解成几行。
◆ Python注释语句从#字符开始 注释可以在一行的任何地方开始,解释器会忽略掉该行#之后的所有内容。
◆ """  """  和  '''  '''  可以注释多行。
◆ 分号 ; 允许你将多个语句写在同一行上(不推荐使用)。        

11. 输出语句print()
11.1  作用:向终端输出文字信息,能让用户看到,有多个数据要输出时,中间用英文的逗号 , 分隔开。

11.2  获取帮助 >>> help(print)

11.3  print() 的例子
[root@teacher ~]# python3
Python 3.6.7 (default, Nov  5 2020, 03:55:09) 
[GCC 8.3.1 20191121 (Red Hat 8.3.1-5)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>> print(a)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined  #不加引号的 字母 被当作 变量名 处理 
>>> 

>>> print('a')  #使用单引号 或三单引号包起来 
a
>>> print("a")  #使用双引号 或三双引号包起来
a
>>> print(8)    #数字不需要包起来 ,若包起来同样被当作字符处理
8

>>>
>>> type(12)      #测试数据的类型
<class 'int'>        #整数
>>> type('12')    #字符
<class 'str'>
>>>

>>> print("你好庞老师","大家好同学们") #输出多列的间隔符 默认是一个空格
你好庞老师 大家好同学们
>>> 
>>> print("你好庞老师","大家好同学们",sep="#") #修改多个输出列的间隔符(间隔符任意)
你好庞老师#大家好同学们
>>>

>>> print("A","B","C","D")
A B C D
>>> print("A","B","C","D",end="\n");print("E""F") # 结束符默认是换行
A B C D
EF
>>> print("A","B","C","D");print("E""F")    # 结束符默认是换行
A B C D
EF
>>>

>>> print("A","B","C","D",end="\n\n") #修改结束符号
A B C D

>>> print("A","B","C","D",sep=":",end="\n\n") 
A:B:C:D

● 拼接字符
>>> print("A","B")
A B
>>> print("A"+"B")  #拼接字符
AB
>>> 

● 改变print() 的输出样式 (  \t  和  \n )
>>> print("ABCD")
ABCD

>>> print("A\tB\tC\tD")
A       B       C       D
 

>>> print("A\nB\nC\nD")
A
B
C
D

-------------------------------------
12. 输入语句input()
12.1 作用: 让程序停下来,等待用户输入信息,返回用户输入的信息,默认把用户的输入通用规划为字符类型的数据
12.2 input() 例子

>>> input()
100    #输入的是数字100
'100'  #输出的100 用'' 包起来了
>>> input()
你好
'你好'
>>>
 
>>> input("请输入你的名字:") 
请输入你的名字:静丫丫
'静丫丫'
>>>
 
>>> x = input("请输入你的名字:")
请输入你的名字:静丫丫
>>> print("我的名字叫:" , x )
我的名字叫: 静丫丫
>>> 
>>>

>>> money = int(input("请输入你的工资:")) #int() 把输入的信息转换为整型类型
请输入你的工资:58000
>>> print(money)
58000
>>> type(money)   #type() 检查变量的类型
<class 'int'>
>>> 
        
接收输入扩展
>>> import getpass   #导入模块
>>> password = getpass.getpass('请输入密码')  #接收输入
请输入密码       #输入的数据不显示 ,被隐藏了
>>> print(password)
123qqq...A
>>> 
-----------------------------------------------------
13. python变量
13.1  变量?
13.2  作用: 程序中,数据都是存储在内存中,为了能找到存储在内存里的数据,我们通常会给它定义一个名字,这个名字就是变量。
13.3  赋值格式
 
#标准格式                    变量名 = 值
  
#使用计算结果赋值      变量名 = 表达式

#多个变量赋相同的值   变量名1 = 变量名2 = 变量名3  = 值

#一起定义多个变量     变量名1, 变量名2, 变量名3  = 值1, 值2, 值3

13.4 变量赋值演示

>>> name = 'plj'
 >>> age = 18
 >>> print(name,age)
 plj 18>>> x = 99 + 1 
 >>> y = 3 > 4
 >>> print(x,y)
 100 False
 >>> >>> i = j = k = 99
 >>> e,l,f = 1,3,5,7
 >>> print(i,j,k,e,l,f)
 99 99 99 1 3 5
 >>>


----------------------------------------------
13.5 变量名 命名规则
 第一个字母必须是英文字母或下划线 [ A-Za-z_ ]。
从第二个字母起(如果有),必须是英文字母或下划线或数字[ A-Za-z0-9_ ]。
 变量名区分大小写。
变量名不能使用python关键字。

13.6 python关键字
False      await      else       import     pass
None       break      except     in         raise
True       class      finally    is         return
and        continue   for        lambda     try
as         def        from       nonlocal   while
assert     del        global     not        with
async      elif       if         or         yield

13.7 合法变量名例子

a        a1           abc       ABC     a1b2c3d4
one_handred          count      _a      __ABC__

13.8 变量使用说明
1. 第一次为变量赋值,python 会创建变量并赋值
2. 第二次或者以后为同名的变量赋值,会改变原有变量的绑定关系
3. python 的变量本身没有类型,类型由赋的值决定
4. 变量在使用之前,必须先进行赋值
5. 变量赋值是一个自右向左的运算,将=右边表达式的计算结果,赋值给左边的变量    

13.9 变量名命名习惯
变量名全部采用小写字母。
简短、有意义。
多个单词间用下划线分隔。
变量名用名词,函数名用谓词(动词+名词)update_data。
类名采用驼峰形式 MyClass。
---------------------------------------------------------             
14. python运算符号    
14.1 算术运算符
 +     -      *      /       //       %            **
 加   减    乘    除     整除     取余      几次方
◆  算术运算符号     扩展    +=(相当于 ++ )     -=(相当于 -- )   *=    /=   //=   %=    **= 
        
14.2 运算符的使用例子

>>> 1 + 2
 3
 >>> x = 10 
 >>> y = 20
 >>> x - y
 -10
 >>> 
 >>> 10 / 3
 3.3333333333333335
 >>> 
 >>> 10 // 3
 3
 >>> 3 ** 2
 9
 >>> 3 ** 3
 27
 >>> 10 % 3
 1
 >>>

14.2 比较运算符 
  >           >=           <             <=        ==        !=
大于    大于等于     小于     小于等于     等于     不等于

 比较运算符的使用

>>> 3 > 4
 False
 >>> 
 >>> 3 < 4
 True
 >>> 
 >>> x = 9 
 >>> y = 10
 >>> x <= y
 True
 >>> x >= y
 False
 >>> 
 >>> 2 == 2
 True
 >>> 2 != 2
 False
 >>> 
 >>> name = "plj"
 >>> name == 'PLJ'
 False
 >>> 
 >>> name != "PLJ"
 True
 >>>

14.3 逻辑运算符 
逻辑与 and  多个条件判断,必须同时。
逻辑或 or   多个条件判断,某个条件成立即可。
逻辑非 not  取反。

逻辑运算符例子

>>> 3 > 4  and   5 > 6
 False
 >>> 
 >>> 3 < 4  and   5 < 6
 True
 >>> 
 >>> 3 > 4 or  5 < 6
 True
 >>> 
 >>> 1 == 1 or 2 < 3 and 5 > 6
 True
 >>> >>> (1 == 1 or  3 < 2 ) and  5 > 6
 False
 >>> >>> 'c' in 'abcdef'
 True
 >>> 'c' not in 'abcdef'
 False
 >>>

---------------------------------------------------
14. python数据类型 
● Python的数据类型有哪些?
字符类型    数值类型(整型    浮点型)
布尔类型    真 True   假  False
容器类型    (统称 )  特点  可以存储多个数据
                     列表 
                     元组 
                     字典 
                     集合

14.1 数值类型  int  或 float     #(用type查询数据类型)

● 整型 int

>>> age = 19
 >>> type(age)
 <class 'int'>
 >>> 
 >>> age = +19
 >>> type(age)
 <class 'int'>
 >>> 
 >>> age = -19
 >>> type(age)
 <class 'int'>
 >>>

● 浮点型 float

>>> money = 1.88
 >>> type(money)
 <class 'float'>
 >>> 
 >>> money = -1.88
 >>> type(money)
 <class 'float'>
 >>> 
 >>> money = +1.88
 >>> type(money)
 <class 'float'>
 >>>

●  计算机的进制单位(支持四种进制单位)
   十进制  0 1 2 3 4 5 6 7 8 9
   二进制  0 1
   八进制 0 1 2 3 4 5 6 7
   十六进制  0 1 2 3 4 5 6 7 8 9   a-f 或 A-F
● 数字表示方式
Python默认以十进制数显示。
数字以0b或0B开头表示2进制数。
数字以0o或0O开头表示为8进制数。
数字以0x或0X开头表示16进制数。

◆ 例子
# 十进制的写法
100        0         -5

# 二进制的写法 0b 开头 后跟 0~1
0b11

# 八进制的写法 0o开头 后跟 0~7
0o77  

# 十六进制的写法  0x 开头 后跟 0~9, a-f , A-F
0xa

>>> print(0xA)
10

>>> print(11)
11
>>> print(0b11)
3
>>> 

        

14.2 字符类型 ' ' 或 " " 或 '''  '''  或 """  """
单引号  双引号  单三引号   双三引号。
作用:用来记录人类的文字信息的一种数据类型。

print('同学们好')
print("同学们好")
print('''同学们好''')
print("""同学们好""")

● 使用说明:
- 双引号的字符串的内部的单引号不算是结束符。
- 单引号的字符串的内部的双引号不算是结束符。

◆ 例子
# I'm a teacher!
>>>print("I'm a teacher!")

# 我是"庞丽静"
>>>print('我是"庞丽静"')

- 三引号字符串的内部可以包含单引号和双引号
# I'm a teacher! 我是"庞丽静"
print('''I'm a teacher! 我是"庞丽静"''')

- 三引号字符串又称为所见即所得字符串, 每一次换行会转换成换行符 '\n'
>>> print("咏鹅\n鹅鹅鹅,\n曲项向天歌;\n白毛浮绿水,\n红掌拨清波。")
咏鹅
鹅鹅鹅,
曲项向天歌;
白毛浮绿水,
红掌拨清波。
>>> 

# 等同于如下写法
print(''>>> print('''咏鹅
... 鹅鹅鹅,
... 曲项向天歌;
... 白毛浮绿水,
... 红掌拨清波。''')
咏鹅
鹅鹅鹅,
曲项向天歌;
白毛浮绿水,
红掌拨清波。
>>>

● 字符串切片
作用: 获取字符串的部分数据
说明:
使用索引运算符[ ]和切片运算符[ : ]可得到子字符串。
第一个字符的索引是0,最后一个字符的索引是-1。
子字符串包含切片中的起始下标,但不包含结束下标。

◆ 字符串切片例子

>>> str = 'ABCDEFG'
 >>> str[0]
 'A'
 >>> str[1]
 'B'
 >>> str[-1]
 'G'
 >>> str[-2]
 'F'
 >>> str[1:3]
 'BC'
 >>> 
 >>> str[:4]
 'ABCD'
 >>> 
 >>> str[-4:]
 'DEFG'
 >>>


● 字符运算符
+ 拼接字符。
* 生成重复的字符串。

>>> str1 = "hello"
 >>> str2 = "Student"
 >>> print(str1+str2)
 helloStudent
 >>> 
 >>> print(str1*3)
 hellohellohello
 >>>

14.3 列表类型 
说明:
可以将列表当成普通的“数组”,它能保存任意数量任意类型的Python对象。
像字符串一样,列表也支持下标和切片操作。
列表中的项目可以改变。

◆ 创建列表类型的变量

>>> L = list()
 >>> L1 = []>>> print(type(L1))
 <class 'list'>>>> print(type(L))
 <class 'list'>
 >>> 
 >>> print(L)
 []
 >>> print(L1)
 []
 >>> >>> L2 = ['jim','tom','lucy']
 >>> print(L2)
 ['jim', 'tom', 'lucy']
 >>> 
 >>> L3 = list('ABCDEF')
 >>> print(L3)
 ['A', 'B', 'C', 'D', 'E', 'F']
 >>> >>> print(L3[0])
 A
 >>> L3[0] = 'a'
 >>> print(L3[0])
 a>>> print(L3)
 ['a', 'B', 'C', 'D', 'E', 'F', 'K']
 >>> print(L3[1:])
 ['B', 'C', 'D', 'E', 'F', 'K']
 >>>

● 列表操作
使用in或not in判断成员关系。
使用append方法向列表中追加元素。
使用remove方法移除元素。

>>> L3.remove('F')
 >>> 
 >>> print(L3)
 ['a', 'B', 'C', 'D', 'E', 'K']
 >>>>>> L3.append("I")
 >>> print(L3)
 ['a', 'B', 'C', 'D', 'E', 'K', 'I']
 >>> 
 >>> 'A' in L3
 False
 >>> print(L3)
 ['a', 'B', 'C', 'D', 'E', 'K', 'I']
 >>> 
 >>> 'A' not in L3
 True
 >>> 
 -------------------------------------------


14.4 元组类型
可以存储多种类型的数据。
元组一旦定义,不能改变。

● 定义元组类型变量例子

>>> t = ()
 >>> t1 = tuple()>>> print(type(t))
 <class 'tuple'>
 >>> print(type(t1))
 <class 'tuple'>
 >>> >>> print(t)
 ()
 >>> print(t1)
 ()
 >>>
 >>> t2 = (3,"a",2.88)
 >>> print(t2)
 (3, 'a', 2.88)
 >>> t2[0]
 3
 >>> 
 >>> t2[0]=39  #不可以修改
 Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
 TypeError: 'tuple' object does not support item assignment
 >>> 
              
 ----------------------------------------


14.4 字典类型
字典是由键-值(key-value)对构成的映射数据类型。
通过键取值,不支持下标操作。

● 定义字典类型的变量 例子

>>> d = {}
 >>> d1 = dict()
 >>> 
 >>> print(type(d))
 <class 'dict'>
 >>> 
 >>> print(type(d1))
 <class 'dict'>
 >>> >>> d2 = {'name':'plj' , 'age':19 , 'gender':'girl'}
 >>> print(d2)
 {'name': 'plj', 'age': 19, 'gender': 'girl'}
 >>> 
 >>> print(d2['name'])
 plj
 >>> d2['name']='yaya'
 >>> print(d2['name'])
 yaya
 >>> 14.5 布尔型                   
 >>> a = True
 >>>type(a)
 <class 'bool'>
 >>> 
 >>> a = False
 >>> type(a)
 <class 'bool'>
 >>>

———————————————— 感谢各位看官耐心的看完———————————