python笔记day01
python、java、php、c++、c#、golang都叫编程语言
编程:就是人将资金的思维逻辑和想法用编程语言的形式写下来的过程
编程语言:编程语言其实就是人与计算机之间沟通交流的媒介
计算机
"""
计算机是基于电工作的,而电信号只有高低电平两种状态
我们人为的将高电平记为1
低电平记为0
也就意味着计算机只认识0和1(二进制)
为了能够记录世间万物,我们用很多位组成在一起
2的8次方 256
2的16次方 65535
2的24次方
....
"""
编程语言分类
1.机器语言
计算机能够直接读懂的语言(二进制)
010101010101010101010101010101010101010101010101010101010101010101010101
好处:计算机能够立刻明白你的意思,执行速度非常快
坏处:学习难度太大,编程难度和时间太长
2.汇编语言
用简单的英文单词abc代替一串二进制数据
a 010101010
b 010101011
好处:记忆的难度有所降低、执行速度也非常快
坏处:编写和学习的难度还是偏大
3.高级语言
用人类能够读懂的语言来编写程序
print 打印
input 输入
好处:学习难度大大降低、编程效率大大提高
坏处:计算机看不懂,需要做一次翻译(将人类看得懂的翻译成计算机看得懂)
"""
我们现在所学习的编程语言都是高级语言
"""
1.编译型 C++
类似于谷歌翻译(将需要翻译的东西一次性翻译完毕)
一次性翻译之后就可以拿着翻译之后的结果多次使用
好处:执行速度较于解释型更快
坏处:
1.不同的平台编译之后的结果不能混用(跨平台性较差)
2.出现bug之后修改bug又得从头到尾重新翻译一遍(修改bug效率低)
2.解释型 python、php(昙花一现)
类似于同声传译(说一句我翻译一句)
好处:
1、只要有解释器那么不需要考虑跨平台的问题
2、修改bug方便
好处:
执行速度比不上编译型但是开发效率较快
python的应用领域
应用领域是目前所有其他编程语言望尘莫及的
#1. WEB开发——最火的Python web框架Django, 支持异步高并发的Tornado框架,短小精悍的flask,bottle, Django官方的标语把Django定义为the framework for perfectionist with deadlines(大意是一个为完全主义者开发的高效率web框架)
#2. 网络编程——支持高并发的Twisted网络框架, py3引入的asyncio使异步编程变的非常简单
#3. 爬虫——爬虫领域,Python几乎是霸主地位,Scrapy\Request\BeautifuSoap\urllib等,想爬啥就爬啥
#4. 云计算——目前最火最知名的云计算框架就是OpenStack,Python现在的火,很大一部分就是因为云计算
#5. 人工智能——谁会成为AI 和大数据时代的第一开发语言?这本已是一个不需要争论的问题。如果说三年前,Matlab、Scala、R、Java 和 Python还各有机会,局面尚且不清楚,那么三年之后,趋势已经非常明确了,特别是前两天 Facebook 开源了 PyTorch 之后,Python 作为 AI 时代头牌语言的位置基本确立,未来的悬念仅仅是谁能坐稳第二把交椅。
#6. 自动化运维——问问中国的每个运维人员,运维人员必须会的语言是什么?10个人相信会给你一个相同的答案,它的名字叫Python
#7. 金融分析——我个人之前在金融行业,10年的时候,我们公司写的好多分析程序、高频交易软件就是用的Python,到目前,Python是金融分析、量化交易领域里用的最多的语言
#8. 科学运算—— 你知道么,97年开始,NASA就在大量使用Python在进行各种复杂的科学运算,随着NumPy, SciPy, Matplotlib, Enthought librarys等众多程序库的开发,使的Python越来越适合于做科学计算、绘制高质量的2D和3D图像。和科学计算领域最流行的商业软件Matlab相比,Python是一门通用的程序设计语言,比Matlab所采用的脚本语言的应用范围更广泛
#9. 游戏开发——在网络游戏开发中Python也有很多应用。相比Lua or C++,Python 比 Lua 有更高阶的抽象能力,可以用更少的代码描述游戏业务逻辑,与 Lua 相比,Python 更适合作为一种 Host 语言,即程序的入口点是在 Python 那一端会比较好,然后用 C/C++ 在非常必要的时候写一些扩展。Python 非常适合编写 1 万行以上的项目,而且能够很好地把网游项目的规模控制在 10 万行代码以内。另外据我所知,知名的游戏<文明> 就是用Python写的
中国的浙江和山东已经将python作为计算机考试科目
变量
变量即变化的量,核心是“变”与“量”二字,变即变化,量即衡量状态
程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能够反映或者说是保存下来程序执行时状态以及状态的变化
姓名 = 'jason'
年龄 = 18
身高 = 1.83
'''
定义变量的固定规律
变量名 = 变量值
1.变量名就是状态描述
2.=赋值符号
3.变量的值
'''
username = 'jason'
'''
1.先在内存空间中申请一块内存空间存放jason
2.然后将username指向jason所在的内存地址
之后如果你想要访问jason就需要通过变量名username访问即可
'''
# 变量名的命名规范
1.变量名只能是数字、字母、下划线组合
2.数字不能开头
3.变量名一定要起的见名知意
4.不要用关键字作为变量名
# 变量的命名风格
1.大驼峰
UserName = 'jason'
2.小驼峰
userName = 'jason'
3.下划线 python推荐使用下划线
user_name = 'jason'
# 变量三要素
id 类似于变量名指向的变量值的内存地址
type 变量名指向的变量值的数据类型
value 变量名指向的变量名
username = 'jason'
print(id(username),type(username),username)
2192720183456 <class 'str'> jason
常量
常量即指不变的量,如π=3.141592653..., 或在程序运行过程中不会改变的量
举例,假如老男孩老师的年龄会变,那这就是个变量,但在一些情况下,他的年龄不会变了,那就是常量。在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量
AGE_OF_OLDBOY = 56
#ps:在c语言中有专门的常量定义语法,const int count = 60;一旦定义为常量,更改即会报错
在python中没有真正意义上的常量,默认是将全大写的变量看成是常量
HOST = '127.0.0.1'
HOST = '127.0.0.1'
print(HOST)
HOST = 666
print(HOST)
输入与输出
# 输入
input()
# 输出
print()
username = input('请输入一些内容>>>:') # 获取用户输入并赋值给username
print(username) # jason
print(username) # jason
注释
"""对代码的解释型描述"""
1.单行注释
# 单行
2.多行注释
'''我是多行注释'''
"""我也是"""
在pycharm中如何快速的完成注释
ctrl+?键
数据类型
# 数据即变量的值,如age=18,18则是我们保存的数据。
# 变量的是用来反映/保持状态以及状态变化的,毫无疑问针对不同的状态就应该用不同类型的数据去标识
-
整型
# 整型 int
定义:age=10
用于标识:年龄,等级,qq号
-
浮点型
# 浮点型 float
定义:salary=3.1
用于标识:工资,身高,体重
-
字符串
# 字符串 str
# 在python中,加了引号的字符就是字符串类型
定义:name='jason'
用于标识:描述性的内容,如姓名,性别,国籍,种族
username = 'jason'
username1 = "jason"
username2 = '''jason'''
username3 = """jason"""
当三引号左边没有赋值符号的时候它们就是注释有赋值符号就是字符串了
定义字符串之所有有这么多种定义的方式是因为字符串内部可能也需要使用到引号
info = '他说:"她是个好菇凉"'
-
列表
# 列表 list
在[]内元素与元素之间用逗号分隔,可以存放n个任意类型的值
name_list = ['jason','tank',11,22.22]
print(type(name_list))
# 列表能够存多个元素 并且还可以方便的取任意单个或者多个元素
print(name_list[1]) # 索引取值(索引是从0开始)
-
字典
# 字典 dict
能够精确的存储数据、并且是我们后面使用最频繁的一个数据类型
即可以存放多个任意类型的值,又可以硬性规定值的映射关系的类型,比如key=value,这就用到了字典
在{}内用逗号分隔,可以存放多个key:value的值,value可以是任意类型
user_info = {
'username': 'jason',
'age': 18,
'hobby': ['read', 'study', 'music', 'running']
}
username、age、hobby都是字典的key
jason、18、[...]都是字典的value
key是都value的描述性的信息 一般情况下都是字符串
value是任何数据类型,你要想访问到value必须通过key
print(user_info['hobby'])
-
布尔值
# 布尔值 bool
用来判断对错的,只有两种状态 对/错
此处的布尔类型就模拟人的逻辑运行,即判断一个条件成立时,用True标识,不成立则用False标识
True
False
# is_right = True
# is_error = False
# print(type(is_right),type(is_error))
a = 3
b = 5
print(a > b)
print(a < b)
# 所有数据类型都自带布尔值
1、None,0,空(空字符串,空列表,空字典等)三种情况下布尔值为False
2、其余均为真
-
元祖
# 元组 tuple
你可以把元组看成是不变的列表 小括号内可以有多个元素 逗号隔开
user_tuple = ('jason','tank',1,2,3,4)
元组内的元素不能被修改
user_list = ['jason','tank',1,2,3,4]
user_tuple = ('jason','tank',1,2,3,4)
user_list[0] = 'jason666'
print(user_list)
print(user_tuple[0])
user_tuple[0] = 'jasonNB' # 无法修改
print(user_tuple)
# 集合 set
也是用的{},跟字典不一样的地方在于集合{}内元素元素之间直接用逗号隔开没有key:value键值的概念
1.去重
2.关系运算
s = {1,2,3,4,5,6,7,8,9,0}
print(type(s))

浙公网安备 33010602011771号