一、Python之入门基础
序言
许多人新上手一门编程语言总觉得很痛苦,其实我认为语言不过是一个工具,我们只需要对这个工具有个大体的了解,没有必要掌握清楚每一个细枝末节的语法。编程最重要的是其思想而不是具体语言的语法,语法只是帮助我们和计算机沟通的桥梁,自己脑子里有了思想,在实现它的时候碰到忘记的语法可以随查随用。相信大家多听说过“人生苦短,我用Python!”,作为一种高高级语言,Python在大数据处理方面较C++确有一骑绝尘的优势。也有很多人推崇Python作为自己的“处语言”,不过就我个人而言,我更倾向与C or C++作为自己学习的第一门编程语言(哈哈,一上来就劝退),Python过于高级以致一些底层的东西鲜有涉及。如果你不想深入研究编程,只是想感受编程给我们生活带来的便捷,Python不失为一种友好的“处语言”。
想要快速上手一门新的编程语言无非需要掌握以下基本内容:
- 变量与常量
- 关键字
- 输入与输出
- 基本数据类型
- 运算符
- 流程结构
- 自定义函数
- 文件读写
- 高级数据类型
本篇将从以上几个方面,带领大家快速入门Python。
变量与常量
马哲说,质是物之所以成为自身并区别于其它物的内在规定性,量是描述物外在规定性,物是质与量的辩证统一。由此可见,要想将一个现实问题描述给计算机,量的重要意义不言而喻。Python中量分为变量和常量,顾名思义,变量就是可变的量,常量就是不变的量。
- 创建变量
Python创建一个变量非常简单,直接变量名=变量初始值,如:
name='XiaoMing'
这里变量名的命名有讲究,只能字母、数字、下划线构成且不能以数字开头。Python不需要在变量名前加变量类型声明,结尾也不需要';'。之所以说他是个变量就是因为它的值是可以改变的,如:
name='Daming',也是可以的。 - 常量
Python中(其实不光Python,就我所学过的c++亦复如是)常量主要是用于初始化变量的,常量按其类型分为用户常量和系统常量。用户常量就是编程者自己创建的常量如字符串常量、数值常量,系统常量就是Python保留字中的常量如布尔常量。
关键字
Python有30多个关键字(也叫保留字),常用的见下表:
| and | or | not | def | as |
|---|---|---|---|---|
| while | for | if | else | elif |
| def | return | in | is | global |
| break | continue | from | import | try |
- and or not是逻辑运算符
- def……return 用以定义函数
- from……import Lib as NewName 用以引入外援库
- while for……in if……elif……else break continue是程序逻辑控制符
- is 用以判读
输入与输出
variable=input(prompt=None, /)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
# 注意input()输入的都是字符串类型
>>> a=input()
1 2
>>> type(a)
<class 'str'>
>>> a=input()
1
>>> b=input()
2
>>> print(a+b)
12
# 通过input()输入一个数字
>>a=eval(input('请输入一个数字: '))
# 通过python输入多个数字
>>> a, b, c = input('输入a,b空格隔开:').split()
输入a,b空格隔开:1 2 3
>>> a
'1'
>>> b
'2'
>>> c
'3'
>>> a, b, c = map(int, input('输入a,b,c用逗号隔开:').split(','))
输入a,b,c用逗号隔开:1,2,3
>>> a
1
>>> b
2
>>> c
3
# 字符串.split()方法,将字符串按照 * 切分成序列;eval()将数值字符串自动转换为数值;map(type,序列)可以将序列转换为type类型序列输出
print('输出的数字是:%8.6f' %(a)) #数值格式输出,%表示格式控制串的开始
基本数据类型
- 整型
Python中整型的长度不受限制 - 浮点型(小数型)
- 普通小数
- 科学计数法(E法)
- 布尔型(逻辑型)
- True,相当于整型1。非空串、非0、非空列表、非空元组均为True。
- False,相当于整型0。空串、0、空列表、空元组均为False。
a=[]
if a:
print('OK')
else:
print('NO')
- 字符(串)型
用双引号或单引号括起来的一(串)字符称为字符(串)。 - 复数型
a=1+5*i - 类型转换
1.int() # 将一个字符、数字字符串、浮点数转换为一个整数
a='520'
f=3.14
b=int(a)
c=int('a')
d=int(f)
- float() #将一个字符、数字字符串、整数转化为小数
a='520'
b=520
c=float(a)
d=float(b)
- str() #将其他任何类型转化为字符串型
a=3.14
b=5e-10
c=str(a)
d=str(b)
- 获取类型信息
type(a) # show the type of a
isinstance(520.0,float) # is 520.0 the type of float
运算符
- 逻辑运算符
and or not - 比较运算符
< <= > >= == != - 算数运算符
-
-
- / // ** % += -+ *= /= #注意 /参与的运算,结果默认为浮点数
a=x if x>y else y # 三元操作符 相当于c中max=(x>y)? x:y
- / // ** % += -+ *= /= #注意 /参与的运算,结果默认为浮点数
-
流程结构
- 断言 assert
assert assertion # 当assertion为False时程序崩溃,确保assertion 为True - 分支结构
if ... :
语句体
elif ... :
语句体
else :
语句体
# 注意Python中没有switch...case多分支结构,用if...elif...else实现多分支结构
- 循环结构
while expresssion:
语句
else:
语句
# 在python False/None/0/''/""/()/{}都被理解为否,除此之外都是真。
for i in 可迭代对象: # 凡元素可以提取出来的均称为可迭代对象,序列(列表、元组、字符串,文件)都是可迭代对象。
语句
else:
语句
- 其他流程控制语句
break continue pass
自定义函数
def FunctionName(parameter1,parameter2)
函数体
return result
>>FunctionName(p1,p2)
- 函数返回值
当函数不需要返回值是默认返回None;当返回多个值,Python默认是以元组形式打包的,如 return 1,'Fish',3.14 - 函数文档
用以描述函数功能,调用方式的说明性文字。Python中可以通过help(FunctionName)查看函数的帮助文档。 - 几种不同的参数调用法
参数就是让封装好的函数个性化
def SaySoemthing(somebody='wangruoxu',something='keep moving!')
print(somebode+'say'+something)
>>SaySoemthing() # 默认参数调用法
>>SaySoemthing('wangcai','wangwang') # 位置参数调用法
>>SaySoemthing(somebody='daju',something='miaomiao') # 关键字参数调用法p
>>SaySoemthing('chongya',something='gaga') # 位置参数、关键字参数混合调用法,位置参数一定要在前
def MyPrint(*params) # 收集参数
print("有%d个参数"%len(params))
print("第2个参数是",params[1])
>>test('F','123','C') #** Python把收集参数打包成一个元组,如果在收集参数后还有其他参数则需要使用关键字参数来指定**
有3个参数
第2个参数是,123
文件读写
Python在办公自动化中应用非常广泛,可以批处理文件,因此文件读写是Python实际应用中的一个重要方面,限于篇幅(实际上是懒)本篇不再展开,后续会有专门的Python之文件。
高级数据结构
一种语言数据结构的设计对于该语言的应用领域具有重要影响,比如说在MATLAB中基本的数据结构是矩阵因此MATLAB在科学计算领域得到广泛应用。python中除了基本的数据类型,如整型、浮点型、字符型、复数型外还有一些更高级的数据结构,如列表、元组、字典、集合。对于这些更高级的数据结构已经超出了本篇的定位——入门,只是作为一个提纲在这里交代一下。

浙公网安备 33010602011771号