欢迎关注我的博客我在马路边
说明:此笔记不是从零开始,在学习的过程中感觉需要记录一些比较重要和需要重复浏览的信息,然后才有此笔记。
学习详细内容可参考博客:廖雪峰的官方网站
输入输出
创建python文件:demo.py
,文件第一行设置linux可直接执行注释:
#!/usr/bin/env pyhton3
添加上述注释后即可在linux或mac上直接用python demo.py
来执行文件中的内容。
在文件第二行添加如下注释标识此文件以UTF-8格式进行编码:
# -*- conding: utf-8 -*-
创建好上述文件后即可向:demo.py
文件中写python代码,#
号代表注释完整内容如下:
#!/usr/bin/env pyhton3
# -*- conding: utf-8 -*-
# 定义name,并手动输入内容
name = input('please input your name:')
# 输出name值,这里输出的就是上面手动输入的name值
print('hello', name)
创建好文件保存,然后执行python demo.py
命令后提示please input your name:
,然后输入python
或者其他内容并回车,然后打印出输入的内容hello python
如下:
[centos demo]# python demo.py
please input your name:python
hello python
简述input和print
两个函数,input是定义输入内容可以直接写name = input()
然后执行输入内容,但是不友好需要提供提示信息,所以添加默认内容展示内容为提示信息name = input('please input your name:')
print函数输出内容,不仅可以输出字符串也可以执行计算结果,比如:
>>> print('100 + 200 =', 100 + 200)
100 + 200 = 300
print里面的内容可以用英文的逗号,
进行分割,输出逗号的内容前后自动以空格进行分割,比如上述输出的hello python
中间以空格分割默认内容和动态内容,当然也可以写多个逗号,如:print('hello', name, 'welcome to China')
数据类型和变量
这里节的内容来自:数据类型和变量
计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。在Python中,能够直接处理的数据类型有以下几种:
整数
Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1
,100
,-8080
,0
,等等。
浮点数
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109
和12.3x108
是完全相等的。浮点数可以用数学写法,如1.23
,3.14
,-9.01
,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109
就是1.23e9
,或者12.3e8
,0.000012
可以写成1.2e-5
,等等。
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差
字符串
可以简单理解和js的一样,字符串可以用单引号'123'
或双引号"ABC"
括起来,如果想将单引号或者双引号当做字符串展示则用不同的引号括起来,比单引号'
作为字符串,如:"I'm OK"
。如果字符串既包含单引号'
又包含双引号"
可以用反斜线\
转义,例如:'I\'m \"OK\"!'
表示I'm "OK"!
。
布尔值
布尔值和布尔代数的表示完全一致,一个布尔值只有True
、False
两种值,要么是True
,要么是False
,在Python中,可以直接用True
、False
表示布尔值(请注意大小写),也可以通过布尔运算计算出来:
>>> True and True
True
>>> not True
False
>>> False or True
True
>>> 5 > 3 and 3 > 1
True
>>> age = 19
>>> print(age < 18)
Flase
>>> print(age > 18)
True
创建文件,写入内容如下。下面例子用到了if-elif-else,注意写法:
#!/usr/bin/env pyhton3
# -*- conding: utf-8 -*-
age = 19
if age < 18:
print('age less than 18')
elif age == 18:
print('age equal 18')
else:
print('age greate than 18')
空值
空值是Python里一个特殊的值,用None
表示。None
不能理解为0
,因为0
是有意义的,而None
是一个特殊的空值。
此外,Python还提供了列表、字典等多种数据类型,还允许创建自定义数据类型,我们后面会继续讲到。
变量
变量的概念基本上和初中代数的方程变量是一致的,只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。
变量在程序中就是用一个变量名表示了,变量名必须是大小写英文、数字和_的组合,且不能用数字开头,比如上面例子用到的name
和age
都是变量
# age 是一个整数
age = 19
# π 是一个浮点数
pi = 3.141592654
# name 是一个字符串
name = '我在马路边'
# flag 是一个布尔值
flag = False
下面例子可以展示变量在内存中是怎样指向的
>>> a = 'ABC'
>>> b = a
>>> a = 'XYZ'
>>> print(b)
最后一行打印出变量b的内容到底是'ABC'
呢还是'XYZ'
?如果从数学意义上理解,就会错误地得出b和a相同,也应该是'XYZ',但实际上b的值是'ABC',让我们一行一行地执行代码,就可以看到到底发生了什么事:
- 执行
a = 'ABC'
,解释器创建了字符串'ABC'
和变量a
,并把a
指向'ABC'
: - 执行
b = a
,解释器创建了变量b
,并把b
指向a
指向的字符串'ABC'
: - 执行
a ='XYZ'
,解释器创建了字符串'XYZ'
,并把a
的指向改为'XYZ'
,但b并没有更改: 所以,最后打印变量b的结果自然是'ABC'了。
常量
其实Python中名没有常量,不会像java那样生成一个不可改变的常量,但是大家都会约定俗成的将大写的变量默认为常量,比如PI = 3.141592654
,也就是说PI也是可以被修改重新赋值的!
小结
本章的重新复习了一下基础的输入输出和基础数据类型,给我的感觉和js很像,变量不用指定类型值,通过赋值就可以执行类型,而且可以重复赋值成不同类型。还有变量在内存中给不同变量赋值,再重新赋值需要特别注意不会改变被赋值的变量,有点绕口请参考上述例子。
欢迎关注我的博客我在马路边