Python的特点
- 高级:有高级的数据结构,缩短开发时间与代码量
- 面向对象:为数据和逻辑相分离的结构化和过程化编程添加了新的活力
- 可升级:提供了基本的开发模块,可以在它上面开发软件,实现代码的重用
- 可扩展:通过将其分离为多个文件或模块加以组织管理
- 可移植性: python是用C写的,又由于C的可移植性, 使得 pythonANSI可以运行在任何带有编译器的平台上
- 易学: python关键字少、结构简单、语法清晰
- 易读:没有其他语言通常用来访问变量、定义代码块 和进行模式匹配的命令式符号
- 内存管理器:内存管理是由 python解释器负责的
安装python
yum install -y gcc gcc-c++ zlib-devel openssl-devel readline-devel libffi-devel sqlite-devel tcl-devel tk-devel #安装依赖包
tar -xf Python-3.6.7.tgz
cd Python-3.6.7
./configure --prefix=/usr/local/
make && make install
Python运行方式
1)交互解释器
] python3
>>> #此时进入了python解释器
>>> exit() #退出,也可以ctrl+d
2)文件形式
] python hello.py #指定解释器
或者:
] chmod +x hello.py
] ./hello.py #赋予执行权限再执行
Python语法格式
1)语句块缩进
- 完全靠缩进表达代码逻辑,而不适使用大括号
- 缩进表达一个语句属于哪个代码块
- 采用4个空格(pycharm中一个tab为4个空格)
- 缩进相同的一组语句构成一个代码块,称之代码组
- 首行以关键字开始,以冒号:结束,该行之后的一行或多行代码构成代码组
- 如果代码组只有一行,可以将其直接写在冒号后面,但是这样的写法可读性差,不推荐
2)注释和续行
- 首要说明的是:尽管Python是可读性最好的语言之一,这并不意味着程序员在代码中就可以不写注释
- 和很多UNIX脚本类似,python注释语句从#字符开始,
ctrl+/
可以将选中行全部注释 - 注释可以在一行的任何地方开始,解释器会忽略掉该行#之后的所有内容
- 一行过长的语句可以使用反斜杠\分解成几行
3)同行多个语句
- 分号
;
允许你将多个语句写在同一行上 - 但是些语句不能在这行开始一个新的代码块
- 因为可读会变差,所以不推荐使用
输出语句
- 输出使用print函数,在python中函数调用必须用小括号。
- 如果输出字符串,则必须加引号,单双引号没有区别
print('Hello World!')
print(100) # 打印数字
print(hello) # 错误,因为hello没有加引号,python认为它是一个名字,可能是函数名或是变量名等名字,但是名字不存在
print('hao', 123) # 由于上方代码有错误,错误代码之后的代码不会被执行
输入语句
# 从键盘获取用户输入,使用input()函数
uname = input('username: ') # ()中的字符串是屏幕提示语
print(uname)
uname = input('请输入用户名: ')
print('欢迎'+uname+'用户!')
执行:
请输入用户名: nia
欢迎nia用户!
# 字符串中有变化的内容,可以使用这种形式:'%s: %s' % ('name', 20)
# %s是占位符,用字符串外面()中的相应内容替代,当只有一个%s的时候,()可以>不写
uname = input('请输入用户名: ')
print('%s%s%s' % ('欢迎用户', uname, '!'))
执行:
请输入用户名: dc
欢迎用户dc!
变量
- 变量名称约定
- 第一个字符只能是大小写字母或下划线
- 后续字符只能是大小写字母或数字或下划线
- 区分大小写
- python是动态类型语言,即不需要预先声明变量的类型
- 推荐采用的全名方法
- 变量名全部采用小写字母
- 简短、有意义
- 多个单词间用下划线分隔
- 变量名用名词,函数名用谓词(动词+名词)
- 类名采用驼峰形式
- 变量使用之前必须定义并赋值
变量赋值
- 变量赋值:变量赋值是一个自右向左的运算过程。将=号右边表达式计算出结果,
赋值给左边的变量
>>> a = 10
>>> a = a + 5 # 取出a的值加上5,再赋值给变量a
>>> a += 5 # 以上语句的简写
>>> a++ # 语法错误
>>> ++a # 没有错误,也不会自增,它是正正为正的意思
>>> import this # 显示python之禅
The Zen of Python, by Tim Peters
Beautiful is better than ugly. # 美胜丑
Explicit is better than implicit. # 明胜暗
Simple is better than complex. # 简胜繁
... ...
运算符
- 标准算术运算符
+
-
*
/
//
(取整数商)%
(取余)**
(幂运算)
>>> divmod(5, 3) # 同时得到商和余数
(1, 2)
>>> a, b = divmod(5, 3) # 商和余数分别赋值
>>> a
1
>>> b
2
- 比较运算符
<
<=
>
>=
==
!=
>>> 10 < 20 < 30 # python支持连接比较
True
>>> -10 < 20 > 15 # 可读性不好,不推荐
True
>>> -10 == -10 # 判断是否相等,必须是==
True
>>> 10 != 10 # 判断是否不等
False
- 逻辑运算符
and
not
or
>>> 10 > 9 and 9 < 12 # 只有and两边都为真,最终为真
True
>>> 10 > 9 and 9 < 2
False
>>> 10 > 9 or 2 > 10 # or两边有一侧为真,最终为真
True
>>> 10 > 20 or 2 > 10
False
>>> not 10 > 20 # not取反,将真变假,假变真
True
>>> not 10 > 2
False
>>> not (10 > 2) # 加括号增加可读性
False