python 环境安装
-python2 还是 python3
python2只支持到2020年,并且python2和3有不少用法差异。要是刚学完python2不久就发现过时了这就很尴尬了,
所以推荐使用python3
-安装环境推荐:
Anaconda + pycham
Anaconda是一个python的科学计算包,python环境,常用模块以及工具都包含在里面,省心省力
官网:https://www.anaconda.com/ (注:如果下载速度过慢或时断时续 可以去清华源下载)
pycharm是jetbrains所开发的一款python IDE开发工具,其实他们家就是专门弄IDE的,
去他们官网就能发现真是各种语言的IDE都有
这里附上pycharm下载官网 https://www.jetbrains.com/
如果嫌以上东西太重,这里有个轻量级组合(python3 + Geany)刚开始学习语法做点小练习是足够了。
同样附上官网:
python官网:https://www.python.org/
Geany官网:https://geany.org/
这里要注意的是如果是windows系统,那么下载好python最新版本的安装包以后,
开始安装时一定要把 Add to Path这一项勾上, 这样才能让系统在命令行模式下你输入python时找的到它在哪里。
变量
-变量的声明与使用
python变量声明最显著的特点就是不用管你想要用的变量是什么类型的,直接拿来用就好。想要修改时也可直接修改成其他你想要的数据
如:
message = 'Hello python'
print(message)
message = 3.14
print(message)
-变量的命名规则
变量只能包含字母,数字,下划线而且不能以数字打头。
变量命名时不能使用python关键字(如:for , in等等,因为使用这类关键字会使编译器分析你源代码时造成困扰)
变量名称应当具有一定的意义,毕竟代码不单单是给计算机跑的还是给人看的。(如变量 student 就比 s 更好)
-字符串的声明与使用
可以用单引号,双引号,三引号讲文本内容框起来去告诉python这是一串文本内容而不是代码
如:
message1 = 'message1'
message2 = "message2"
message3 = '''message3'''
message4 = """message4"""
print(message1)
print(message2)
print(message3)
print(message4)
以上这几种写法都是可以的。也许你要问了,为什么要有这么多的写法来表示同一个动作。这是因为有的时候你的文本本身可能就带有
单引号和双引号,这时候你可以有多种选择来直接描述你的文本的同时又避免了编译器的匹配错误。
如你的文本内容是 12'34'56"78"9,那么以下两种写法都会出错:
错误写法一: message = '12'34'56"78"9'
错误写法二: message = "12'34'56"78"9"
这时候你就可以使用三引号来解决
正确写法:message = '''12'34'56"78"9'''
或 :message = """12'34'56"78"9"""
这里要注意的是无论是那类引号都是就近匹配,没有匹配完成前不会找下一个引号进行匹配。计算机不会体会你到底想要表达什么,
只会按照匹配规则来。
举个例子:如果想要输出的文本内容是 ‘123’456"789"
那么:
message = ''''123'456"789"'''
print(message)
这样用三个单引号框起来没有问题
但
message = """'123'456"789""""
print(message)
这样用三个双引号框起来就会出错
因为当python检测到前面是个三个双引号的时候就会去找下一组三个双引号,并将这组双引号中的字符视为文本,所以最后的4个
双引号中的前三个会与前面的三引号匹配,从而导致多出一个双引号而出错。
-字符串的拼接
字符串支持 + 运算 和 * 运算
当想要把多个不同字符串拼接起来的时候可以使用 + 运算符
如:
message1 = 'Hello'
message2 = 'python'
print(message1 + ' ' + message2)
这段程序执行时结果就是:Hello python
有的时候需要拼接重复的字符串,这个时候就可以使用 * 运算
如:
message = '-'*60
print(message)
这时就会得到一组60个'-'组成的分割线,而不用去手动敲一串。
-转义字符
转义字符是为了实现那些键盘上功能性按键的输出,这些功能性按键没有明显可见的实体显示,但时候少了又不行,
所以有了转义字符,转义字符的一般格式为: \ + 字母
如:回车 \n ,制表符 \t等。具体有那些可以上网搜索,这里就不一一列出了
-空白处理
在人的眼中:'ChenYi' 和 ‘ ChenYi ’,那是一样的。在你签名的时候没人会因为你写的名字前后有空白就说你写的不对。
而在计算机眼里上面这两个字符那就是不一样的,在存储的时候存的空间大小也是不一样的。
那要如何解决呢,毕竟程序常常用来模拟现实,所以才有了面向对象思想不是吗?
这里介绍3个函数:
strip:删除左右两边空白
lstrip:删除左边空白
rstrip:删除右边空白
使用例子:
message = ' 123 '
print(message.strip())
结果输出:123
注:这里message后面的点是取message的成员方法或变量用的,因为message是一个字符串,
所以这句话的意思就是调用字符串的成员方法strip来处理message字符串。
-数字
我们常用的数字运算有:
+ (加法)
- (减法)
* (乘法)
/ (除法)
% (取余)
** (乘方)
用法都是: A 运算符 B,这种模式。
如:
3 的 10 次方表示为: 3 ** 10
这里需要注意的是除法,在不少编程语言中 3 / 2 的结果是 1 而不是1.5。 计算机处理的时候整数 除以 整数
结果还是整数。其他语言的处理办法是写成 3.0 / 2 或是 干脆使用数字的时候只要拿不准最后的结果那就都用
浮点数double,用的时候再强转。
上面这种情况也出现在python2中。而在python3里 3 / 2 就是等于 1.5,这更加符合人的自然逻辑。
还有一点是运算优先级,这在其他计算机语言中也类似,比如先乘除再加减。想要知道所有运算符优先级
的可以上网查,至于为什么不在这里写,因为啊我才不记这些东西呢!凡是拿不准的用小括号()框起来就好啦,
小括号永远具有最高优先级
最有一个要注意的是浮点数结果的小数位数可能是不确定的,并不一定按照你想象中的来:
比如:
0.1 + 0.2 的结果并不是0.3 ,而是0.30000....04,中间n多的0最后带个4。这个问题所有语言都有,
其中的问题并不是语言的问题,而是计算机底层实现的问题,简单点说计算机里的所有数字都可以
表示为 n 个 2**m 数字的相加。
如:3 就是 2的0次方 + 2的1次方的结果
0.75 就是 2的-1次方 + 2的-2次方的结果
而这种表示方式对于整数是没有问题啦,但对于类似0.3这类的小数就只能无限接近却永远达不到
暂时先写到这里吧,我觉得自己和python还是挺有缘分的。python是1989年生,我也1989年生,python图标是蟒蛇,
我也属蛇,python的哲学是简单易懂,我也喜欢简单易懂的代码。看来这是我的本命语言啊,哈哈。我会坚持写下去的,
希望看我这篇文章的人哪怕是程序方面的新人也能看的 懂,这样能帮到别人的同时也说明我是真正学通了python。
最后祝愿大伙儿身体健康,事事如意。