这是我参与新手入门的第二篇文章
1.1、Python的特点
- Python是免费开源的自由软件
- Python是面向对象的编程语言
- 面向对象 (Object Oriented Programming):解决了程序的扩展性问题;缺点是可控性差,无法预测问题的处理流程与结果
- 对象 (Object) : 对象是一类事物的具体体现,是类的一个实例
- Python具有良好的跨平台特性
- Python功能强大
- 动态数据类型
- 无须声明变量的数据类型,也不需要在使用前对变量进行类型声明
- 自动内存管理
- python会自动分配和回收内存
- 大型程序支持
- 内置常用数据结构
- 集合、例表、字典、字符串等类型
- 内置标准库
- 第三方工具集成
- 动态数据类型
- Python简单易学
1.2、Python3与Python2的区别
-
python3 中文本使用Unicode编码(UTF-8),支持中文或其他非英文字符
>>> 长度=100 # 汉字为变量名 >>> print(长度) 100 -
python3使用 print() 函数来输出数据
-
完全的面向对象
-
比较运算符的改变
- 用 ‘!=‘ 代替了 ‘<>‘
- 比较运算 ">" ">=" "<=" "<" 在无法比较两个数据大小时会产生TypeError异常
- 在判断运算 "==" "!=" 中,类型不兼容的数据视为不相等
-
字符串的改变
-
python3中默认的是Unicode字符
-
1.3、Python 的运行方式
-
程序文件运行
- 包含一系列python语句的源代码文件,文件扩展名通常为 .py
[root@localhost ~]# cat test.py print("Hello World!") [root@localhost ~]# python test.py Hello World! -
交互式运行
## 交互环境 Python 3.6.1 (default, Apr 1 2021, 20:49:18) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> print("Hello World!") Hello World!
2.1、Python的基础语法
-
标识符
-
第一个字符必须是字母表中字母或下划线 _
-
标识符的其他的部分由字母、数字和下划线组成
-
标识符区分大小写
-
保留字(即 关键字 , 不能把它们用作任何标识符名称 )
1.条件关键字:if elif else for in while break return continue 2.运算符 True Flase和一个特殊的None 3.类级 class lamdba def is import from 4.逻辑运算符 and or not 5.异常 try exception raise finally 6.python特殊 is nonlocal del global with as yield assert # Python区分标识符的大小写,保留字和关键字必须严格区分大小写 -
注释
#!/usr/bin/python3 # 第一个注释 print ("Hello, Python!") # 第二个注释 -
行与缩进
- 使用缩进来表示代码块,不需要使用大括号 { }
- 缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数
-
多行语句,语句续行符
- 通常是一行写完一条语句,但如果语句很长 ,可以使用反斜杠 \ 来实现多行语句
>>> a = 1 + \ ... 2 + \ ... 3 >>> print(a) 6 -
语句分隔符号
-
python使用分号作为语句分割符号,实现将多条语句写在一行
>>> print(100) ; print(1+3) 100 4
-
-
空行
- 函数之间或类的方法之间用空行分隔,表示一段新的代码的开始
- 空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构
-
代码组
- 缩进相同的一组语句构成一个代码块,我们称之代码组
- 复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组
- 首行及后面的代码组称为一个子句(clause)
2.2、基本输入输出
-
基本输入 input()
-
input():无论输入什么数据类型,input()都处理为字符串格式
-
如果需要输入整数或小数,应使用 int()或float()函数转换数据类型
-
可以使用eval()函数来转换成为整数或小数类型
>>> a = input('输入数据:') 输入数据:5 >>> int(a) + 1 6 ## eval()函数 返回字符串的内容,去除字符串的引号 >>> a = eval("123") >>> a 123 >>> type(a) <class 'int'> # 数据类型为int,而不是字符串类型 >>> a = eval(input('输入一个整数或小数:')) 输入一个整数或小数:13.14 >>> print(a) 13.14 >>> type(a) <class 'float'> # 数据类型为小数类型 # str()函数 转换数据类型为字符串类型 >>> str(123) '123' >>> a = str(123) >>> a '123' >>> type(a) <class 'str'> # len()函数 返回字符串中字符打的个数(整数值) >>> len('hello') 5
-
-
基本输出 print()
-
print()函数的所有参数均可省略,无参数时输出一个空行
-
可以同时输出一个或多个数据
>>> print(123,'abc',45,'book') 123 abc 45 book -
print()可以使用sep参数 指定分割符号
>>> print(123,'abc',45,'book',sep='#') 123#abc#45#book -
print()可以使用end()参数 指定输出结尾符号
>>> print('price');print(110) # 默认输出结尾 price 110 >>> print('price',end='_');print(110) # 指定输出结尾符号 price_110 -
可用file参数 指定将数据输出到文件
>>> file1=open(r'/root/data.txt','w') # 打开文件 >>> print(123,'abc',45,'book',file=file1) >>> file1.close() # 关闭文件 [root@localhost ~]# cat data.txt 123 abc 45 book
-
2.3、变量
-
变量 用于在Python程序中保存数据,在Python中,所有的数据都是对象 ,变量的保存是对对象的引用
-
命名规则:
- 首字符必须是下划线、英文字母、Unicode字符
- 变量名区分大小写
- 禁止使用保留字或关键字作为变量名
- 首尾各有两个下划线的变量名通常为系统变量,具有特殊作用
- 默认情况下,以一个或两个下划线开头的变量不能使用“from...import *”语句从模块导入
- 以两个下划线开头的变量是类的私有变量
-
变量的赋值: Python支持多种格式的赋值语句
-
简单赋值
>>> x = 100 >>> x 100 -
序列赋值
## 一次性为多个变量赋值 >>> x,y = 1,2 # 直接为多个变量赋值 >>> x 1 >>> y 2 >>> (x,y) = 10,20 # 为元组中的变量赋值 >>> x 10 >>> y 20 >>> [x,y] = 30,'abc' # 为列表中的变量赋值 >>> x 30 >>> y 'abc' # 将字符串分解为单个字符,依次赋值为单个字符 # 字符个数必须与 变量个数相等 >>> (x,y) = 'ab' >>> x 'a' >>> y 'b' >>> ((x,y),z) = 'ab','cd' # 用嵌套的元组为变量赋值 >>> x 'a' >>> y 'b' >>> z 'cd' # 序列赋值时,可以在变量名之前使用" * " ,不带"*"的变量仅匹配一个值,剩余的值作为列表赋值给带"*"的变量 >>> x,*y,z = 'abcde' >>> x 'a' >>> y ['b', 'c', 'd'] >>> z 'e' -
多目标赋值
# 用连续的多个等号将同一个数据赋值给多个变量 >>> a = b = c = 10 >>> a,b,c (10, 10, 10) -
增强赋值
# 将运算符与赋值相结合的赋值语句 >>> a = 5 >>> a+=10 >>> a 15 # 等价于 a = a + 10增强赋值运算符 描述 实例 += 加法赋值运算符 a+=b 等价于 a = a+b -= 减法赋值运算符 a-=b 等价于 a = a-b *= 乘法赋值运算符 a*=b 等价于 a=a*b /= 除法赋值运算符 a/=b 等价于 a= a/b //= 整除赋值运算符 a//=b 等价于 a=a//b %= 求模赋值运算符 a%=b 等价于 a= a%b **= 求幂赋值运算符 a=b 等价于 a= ab >>= 右移赋值运算符 a>>=b 等价于 a = a>>b <<= 左移赋值运算符 a<<=b 等价于 a= a<<b &= 换位与赋值运算符 a&=b 等价于 a= a&b |= 按位或赋值运算符 a|=b 等价于 a=a|b ^= 按位异或赋值运算符 a^=b 等价于 a=a^b
-
-
变量的共享引用:指多个变量用了同一个对象
# 将变量赋值给另一个变量时,将会使两个变量引用同一个对象;为变量赋予新的值时,会将原来的引用删除,替换引用新的对象 >>> x = 5 >>> y = x >>> x,y >>> (5, 5) # 当变量共享引用的对象时列表、字典或类的实列时,被引用对象的值被修改,则所有引用该对象变量的值都将改变 >>> x = [1,2,3] >>> y = x >>> x >>> [1, 2, 3] >>> y >>> [1, 2, 3] >>> x[0] = 5 >>> x >>> [5, 2, 3] >>> y >>> [5, 2, 3] # 可以通过 is操作符来判断两个变量是否引用了同一个变量 >>> x is y >>> True # 引用同一个对象时,结果为True >>> a = 3 >>> b = 5 >>> a is b # 引用的对象不同时,结果为False >>> False
2.4、常量
-
所谓常量就是不能变的变量,通常用全部大写的变量名表示常量 ,这只是一个习惯上的用法,不能保证其不会被改变