Python基础(一)
一、Python介绍
1、python的出生与应用
python的创始人为吉多•范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多•范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。
(龟叔:2005年加入谷歌至2012年,2013年加入Dropbox直到现在,依然掌握着Python发展的核心方向,被称为仁慈的独裁者)。
2、Python主要应用领域
云计算 : 云计算最火的语言, 典型应用OpenStack
WEB开发 : 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
人工智能 : 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
系统运维 : 运维人员必备语言
金融分析 :量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测
图形GUI : PyQT, WxPython,TkInter
3、python的编程语言的划分
- 机器语言: 优点:执行效率高 缺点:开发效率低,学习难度大
- 汇编语言: 优点:执行效率高,不如机器语言快 缺点:学习难度大,开发效率低,比机器语言稍微好点
- 高级语言:
解释型:代码逐行解释,逐行运行。 代表语言: python,php 优点:开发效率高,跨平台 缺点:执行效率低
编译型:将代码一次性全部变易成二进制,然后执行。 代表语言:C C++ 优点: 执行效率高 缺点: 开发效率低,不能跨平台。
4、python的优缺点
①优点:
- 开发效率高,python含有N多个第三方库。
- 高级语言,不用考虑底层或者内存级别。
- 可拓展性。可以加入C++的程序。
- 可嵌入性。可将python代码嵌入到C++程序中。
- 可移植性。不同平台的移植。
②缺点:
- 执行速度相对慢。
- 代码不能加密。
- 线程不能利用多CPU。
5、python的种类
- Cpython: 官方推荐,用C语言写的。
- Jpython: 可以在java平台上运行的python。可以解释成java识别的字节码。
- Ironpython: 可以在.net平台上运行的,可以解释成.net识别的字节码。
- Ipython: 在Cpython基础上拓展的,交互式解释器。
- pypy: 利用JIT技术,实现了动态编译,执行速度非常快。
二、python环境
1、windows:
1
、下载安装包
https:
/
/
www.python.org
/
downloads
/
2
、安装
默认安装路径:C:\python27
3
、配置环境变量
【右键计算机】
-
-
》【属性】
-
-
》【高级系统设置】
-
-
》【高级】
-
-
》【环境变量】
-
-
》【在第二个内容框中找到 变量名为Path 的一行,双击】
-
-
> 【Python安装目录追加到变值值中,用 ; 分割】
如:原来的值;C:\python27,切记前面有分号
2、安装
windows下安装Python(自动添加环境变量)以3,.5版本的举例:
1、官网下载:https://www.python.org/downloads/windows/
2、选择版本:
3、自动添加环境变量:
4、更改完成:
5、点击安装即可
三、python基础
1、运行一个python代码
print (‘hello world’)
python3.x:中英文都可以
python2.x:英文字母,特殊字符,数字都行,中文会报错。
中文解决方法:# _*_ encoding:utf-8 _*_
2、注释
当行注释:# 被注释内容
多行注释:'''被注释内容''',或者"""被注释内容"""
3、变量
将软件的一些目录放到计算机的指定位置,方便在终端中使用
变量定义的规则
1,变量必须要有数字,字母,下划线,任意组合。
2,变量不能数字开头。
3,不能是python中的关键字。
['and', 'as', 'assert', 'break', 'class', 'continue', 'def',
'del', 'elif', 'else', 'except', 'exec', 'finally', 'for',
'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not',
'or', 'pass', 'print', 'raise', 'return', 'try', 'while',
'with', 'yield']
4,变量要具有可描述性。
name = 12 错
5,变量不建议使用中文。
6,变量不能过长。
fdhsjkfdsakfljfkl = 12
官方推荐:(变量定义的方式)
1、驼峰体
AgeOfOldboy = 56
NumberOfStudents = 80
2、下划线
age_of_oldboy = 56
number_of_students = 80
4、常量
why: 生活中π,身份证号,G,等等不变的量,程序中也是如此。
what:常量,一直不变的量。
how:将变量全部大写,常量。
NAME = 'alex'
where: 设置一些不变的量,放在文件的最上面。
5、程序交互
1 # 将用户输入的内容赋值给 name 变量 2 name = input("请输入用户名:") 3 # 打印输入的内容 4 print(name)
用户输入多条信息
1 name = input('what is your name:') 2 age = input('how old are you:') 3 hometown = input('where is your hometown:') 4 print('Hello',name , 'your are', age , 'yeaars old, you came from',hometown)
四、Python基础数据类型
1、整数(int)
1,2,3,,30,100 ...
主要用于计算,计数,+-*/%
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
2、字符串(str)
在python中,凡是用引号引起来的数据都是字符串
单引号,双引号,三引号引起来没有任何区别
name = '太白jin星'
name = "太白jin星"
name = '''太白jin星'''
单双引号配合使用: msg = "My name is Alex , I'm 22 years old!"
多引号用于换行
msg = '''
今天我想写首小诗,
歌颂我的同桌,
你看他那乌黑的短发,
好像一只炸毛鸡。
'''
print(msg)
字符串拼接:
name = 'alex li' age = '22' print(name + age
字符串的拼接只能是双方都是字符串,不能跟数字或其它类型拼接
3、布尔值(bool)
True., False
作用:用于逻辑运算的判断
4、格式化输出
现有一练习需求,问用户的姓名、年龄、工作、爱好 ,然后打印成以下格式
------------ info of Alex Li ----------- Name : Alex Li Age : 22 job : Teacher Hobbie: girl ------------- end -----------------
%s就是代表字符串占位符,除此之外,还有%d,是数字占位符
name = input("Name:")
age = input("Age:")
job = input("Job:")
hobbie = input("Hobbie:")
info = '''
------------ info of %s ----------- #这里的每个%s就是一个占位符,本行的代表 后面拓号里的 name
Name : %s #代表 name
Age : %s #代表 age
job : %s #代表 job
Hobbie: %s #代表 hobbie
------------- end -----------------
''' %(name,name,age,job,hobbie) # 这行的 % 号就是 把前面的字符串 与拓号 后面的 变量 关联起来
print(info)
四、Python流程控制语句
1、流程控制之-if
①单分支
if 条件:
满足条件后要执行的代码
②双分支
if 条件: 满足条件执行代码 elif 条件: 上面的条件不满足就走这个 elif 条件: 上面的条件不满足就走这个 elif 条件: 上面的条件不满足就走这个 else: 上面所有的条件不满足就走这段
写个猜年龄的游戏吧
age = 25
guess = int(input('>>:'))
if guess > age :
print('你猜的太大了,往小试试……')
elif guess < age :
print('猜的太小了,往大试试……')
else:
print('恭喜你,猜对了……')
匹配成绩的小程序吧,成绩有ABCDE5个等级,与分数的对应关系如下
A 90-100
B 80-89
C 60-79
D 40-59
E 0-39
score = int(input('请输入分数:')) if score >100: print('最高分才100...') elif score >= 90: print('A') elif score >= 80: print('B') elif score >= 60: print('C') elif score >= 40: print('D') else: print('你太笨了,考这么点分数...')
2、流程控制之--while循环
while 条件:
# 循环体
# 如果条件为真,那么循环体则执行
# 如果条件为假,那么循环体不执行
①break用于完全结束一个循环,跳出循环体执行循环后面的语句
count = 0 while count <= 100 : #只要count<=100就不断执行下面的代码 print("loop ", count) if count == 5: break count +=1 #每执行一次,就把count+1,要不然就变成死循环啦,因为count一直是0 print("-----out of while loop ------")
②continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环
count = 0 while count <= 100 : count += 1 if count > 5 and count < 95: #只要count在6-94之间,就不走下面的print语句,直接进入下一次loop continue print("loop ", count) print("-----out of while loop ------")
3、while ... else ..
与其它语言else 一般只与if 搭配不同,在Python 中还有个while ...else 语句
while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句
count = 0
while count <= 5 :
count += 1
print("Loop",count)
else:
print("循环正常执行完啦")
print("-----out of while loop ------")
如果执行过程中被break啦,就不会执行else的语句啦
count = 0
while count <= 5 :
count += 1
if count == 3:break
print("Loop",count)
else:
print("循环正常执行完啦")
print("-----out of while loop ------")