Python基础(Day1)
一、Python的简介
1.Python的诞生
python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。
2.目前Python主要应用领域:
- 云计算: 云计算最火的语言, 典型应用OpenStack
- WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
- 科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
- 系统运维: 运维人员必备语言
- 金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测
- 图形GUI: PyQT, WxPython,TkInter3
3.Python是什么编程语言
编程语言主要从以下几个角度为进行分类,编译型和解释型、静态语言和动态语言、强类型定义语言和弱类型定义语言。
解释型:程序运行时将代码一行一行的解释转换成二进制。
优点:开发效率高、排错快、可以跨平台。
缺点:每次运行的时候都要解释一遍,执行效率相对慢。
编译型:将代码一次性编译成机器语言,并保存成二进制再运行。
优点:执行效率高。
缺点:排错慢、开发效率低、不能跨平台。
4.Python的优缺点
优点:
- Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。
- 开发效率非常高,Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子。
- 高级语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节
- 可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工 作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就几乎可以在市场上所有的系统平台上运行
- 可扩展性————如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
- 可嵌入性————你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
缺点:
1.运行速度慢。
2.代码不能加密。
3.线程不能利用多CPU。
5.Python的种类
CPython(用C语言开发的解释器),JPython(运行在Java平台上的解释器)、IPython(基于CPython之上的一个交互解释器)、PyPy(对python代码进行动态编译,目标是执行速度)、IronPython(运行在微软.Net平台上的Python解释器)。
6.Python2x与Python3x的区别
- Python2x默认编码ascii码,不能识别中文;Python3x默认编码是unicode可以识别中文。
- Python2x的输入:raw_input(); Python3x的输入:input()。
- Python2x的输出:print可以不加(); Python3x的输出:print()。
- Python2x除法当两个整型相除(除数不能为0),值是个整型; Python3x两个整型相除值可以是浮点型。
二、Python基础初识
1、变量
变量是把程序运行的中间结果临时存在内存里,以便后续的代码调用。
变量的命名规则:
- 变量名只能是数字、字母和下划线。
- 变量名不能以数字开头。
- 变量名要有可描述性。
- 变量名不能是python的关键字。
- 变量名不能是中文、变量名不能太长。
- 官方推荐的两种形式:驼峰体和下划线
#驼峰体
AgeOfOldboy = 56
NumberOfStudents = 80
#下划线
age_of_oldboy = 56
number_of_students = 80
变量的赋值:等号右边的值赋给等号左边的变量名,python是解释型语言,代码一行一行的执行,后面的变量会覆盖前面的。
age1 =12
age2=age1
age3=age2
age2=6
print(age1,age2,age3)
执行结果:12 6 12
2、常量
常量指不变的量或在程序运行过程中不会改变的量,在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量。
AGE_OF_OLDBOY = 56
3、注释
单行注释:#
多行注释:""" """或‘’‘ ’‘’
4、程序交互 input
name=input('请输入你的名字:')
age=input('请输入你的年龄:')
hobby=input('请输入你的爱好:')
print(name,age,hobby)
#input输出的数据类型都是str
5、基础数据类型
- int(整型)long(长整型)#在Python3里不再有long类型了,全都是int
- str(字符串)#加了引号的字符都被认为是字符串,多行字符串用多引号
- bool(布尔值:False、True)
- list(列表)
- tuple(元组)
- dict(字典)
- set(集合)
查看数据类型使用type()
n1='guo'
n2=True
n3='False'
print(type(n1))
print(type(n2))
print(type(n3))
执行结果:
<class 'str'>
<class 'bool'>
<class 'str'>
6、格式化输出(%占位符、s-str字符串、d-digit数字)
第一种:
name=input('请输入你的姓名:')
age=input('请输入你的年龄:')
hobby=input('请输入你的爱好:')
msg='我叫%s,今年%d岁,爱好%s'%(name,int(age),hobby)
print(msg)
执行结果:
请输入你的姓名:圆圆
请输入你的年龄:18
请输入你的爱好:睡觉
我叫圆圆,今年18岁,爱好睡觉
第二种:
dic={'name':'圆圆','age':18,'hobby':'买买买'}
msg='我叫%(name)s,今年%(age)d岁,爱好%(hobby)s'% dic
print(msg) 执行结果:
我叫圆圆,今年18岁,爱好买买买
第三种:在格式化输出中单纯的想要显示%,用%%解决。
name=input('请输入你的姓名:')
age=input('请输入你的年龄:')
msg='我叫%s,今年%d岁,学习进度为10%%'%(name,int(age))
print(msg) 执行结果:
请输入你的姓名:yuanyuan
请输入你的年龄:18
我叫yuanyuan,今年18岁,学习进度为10%
7、逻辑运算符 (and、or、not)
数据类型的转换:int---->bool 0为False,非0为True。
bool---->int False为0,True为1。
第一种:前后都是比较运算,优先级()>not>and>or,同一优先级从左至右依次计算。
print(1>2 and 3<4 and 3>2 or 2<3 )
执行结果:
True
第二种:前后都是数值运算
优先级:x or y,如果x为True,则返回x,否则返回y。
x and y,如果x为True,则返回y,否则返回x。
print(1 or 3)
print(1 and 3)
执行结果:
1
3
第三种:混合运算
print(1>2 or 3 and 4)
print(2 or 2>3 and 4)
执行结果:
4
2
8、in、not in 判断子元素是否在原字符串(字典,列表,集合)中,从左到右依次检测
s='老男孩AlexWusir'
print('老男孩' in s)
执行结果:
True
print('老男孩Wusir' in s)
执行结果:
False
9、if 语句
1)第一种结构
if 条件:
结果
2)第二种结构
if 条件:
结果
else:
结果
3)第三种结构
if 条件1:
结果1
elif 条件2:
结果2
elif 条件3
结果3
例:
choice=input('请输入你猜的数字:')
if choice =='2':
print('我请你吃饭')
elif choice=='3':
print('免一周作业')
elif choice=='4':
print('一起去玩') 执行结果:
请输入你猜的数字:2
我请你吃饭
4)第四种结构
if 条件1:
结果1
elif 条件2:
结果2
elif 条件3
结果3
else:
结果4
例:
choice=input('请输入你猜的数字:')
if choice =='2':
print('我请你吃饭')
elif choice=='3':
print('免一周作业')
elif choice=='4':
print('一起去玩')
else:
print('输入错误') 执行结果:
请输入你猜的数字:6
输入错误
5)第五种结构
if 条件:
if 条件:
结果
else:
结果
else:
结果
例:
age=input('请猜我的年龄:')
if True:
if age=='18':
print('恭喜你猜对了')
else:
print('这都看不出来')
else:
print('输入错误') 执行结果:
请猜我的年龄:22
这都看不出来
10、while语句
1)第一种结构
while 条件:
结果
例:
while True:#死循环
print(111)
print(333)
print(444)
执行结果:
111
333
...
...
2)第二种结构
while 条件:
else:
例1:
count=1
while True:
print(count)
if count==3:break#循环被break打断,程序不会走else
count+=1
else:
print('循环结束') 执行结果:
1
2
3
例2:
while True:
print(111)
print(222)
continue#遇到continue时continue下面的代码不执行,返回继续执行continue以上的循环
print(333) 执行结果: 222 333 ... ...
#如何结束循环:1.改变条件,2.break。
用while循环打印1-100的方法:
第1种:
flag=True
count=1
while flag:
print(count)
count+=1
if count==100:
print(count )
flag=False
执行结果:1
2
...
100
第2种:
count=1
while count<101:
print(count)
count+=1
第3种:
count=1
while True:
print(count)
count+=1
if count==101:
break
Python基础(Day1)的更多相关文章
- python基础day1
一.python介绍 1.1简介 Python (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum ...
- Python基础Day1—上
一.计算机基础 CPU:中央处理器,相当于人的大脑:运算中心与控制中心的结合. 内存:临时存储数据,与CPU交互. 硬盘:永久存储数据. 内存的优点:读取速度快 内存的缺点:容量小,造价高,断电数据会 ...
- python基础 Day1
Python开发笔记 Day1 1.cpu内存 硬盘 操作系统 cpu:计算机的运算和计算中心,相当于人类大脑 内存:暂时存储数据,临时加载数据应用程序,4G(内存速度快,断电即消失) 硬盘:磁盘,长 ...
- Python基础Day1—下
六.Python运行 print() 打印命令,输出到屏幕上 操作: 命令提示符-->输入Python-->文件路径 若输入Python回车报错或者提示没有,则Python解释器没有安 ...
- python基础day1&2
解决中文乱码问题 在开头加上 -*- encoding:utf-8 -*- if条件 if 条件: 结果#if elif else是单选,只走一条路 num = input('Please input ...
- Day1 - Python基础1 介绍、基本语法、流程控制
Python之路,Day1 - Python基础1 本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼 ...
- python计算机基础-Day1
计算机基础-Day1 一.计算机基础 首先Python是一门编程语言 语言: 那什么是语言?语言就是一种事物与另一种事物沟通的介质. 所以说编程语言是程序员跟计算机沟通的介质,那么为什么要跟计算机沟通 ...
- python基础之day1
Python 简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python为我们提供了非常完善的基础代码库,覆盖了 ...
- python基础篇-day1
python基础篇 python是由C语言写的: pass 占位符: del,python中全局的功能,删除内存中的数据: 变量赋值的方法: user,pass = 'freddy','freddy1 ...
- Day1 Python基础学习
一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...
随机推荐
- WPF使用MVVM(二)-命令绑定
WPF使用MVVM(二)-命令绑定 上一节已经介绍了WPF的属性绑定,这使得我们只需要指定界面的DataContext,然后就可以让界面绑定我们的属性数据呢. 但是上一节还遗留了一个问题就是我们的按钮 ...
- Docsify部署IIS
什么是Docsify? 一个神奇的文档网站生成器.docsify 可以快速帮你生成文档网站.不同于 GitBook.Hexo 的地方是它不会生成静态的 .html 文件,所有转换工作都是在运行时.如果 ...
- 【vps】Centos 7安装python3.8.5
[vps]Centos 7安装python3.8.5 前言 由于服务器的搬迁,从香港搬到了大陆,原来的香港服务器即将到期,所以趁着大陆服务器在备案的时候,将新服务器的配置先配置一下.这篇文章就是分享C ...
- Java将引入新的对象类型来解决内存利用问题
2022年Java将有什么新的特性和改进,我相信很多Java开发者都想知道.结合Java语言架构师布莱恩·格茨(Brian Goetz)最近的一些分享,胖哥给大家爆个料.老规矩,点赞走起. Valha ...
- 【刷题-LeetCode】154 Find Minimum in Rotated Sorted Array II
Find Minimum in Rotated Sorted Array II Suppose an array sorted in ascending order is rotated at som ...
- WebGPU图形编程(1):建立开发环境 <学习引自徐博士教程>
首先感谢徐博士提供的视频教程,我的博客记录也是学习徐博士进行的自我总结,老徐B站学习视频链接网址:WebGPU图形编程 - 免费视频教程(1):建立开发环境_哔哩哔哩_bilibili 创建之前你需要 ...
- 谷歌浏览器和火狐浏览器如何查看HTTP协议
谷歌浏览器和火狐浏览器如何查看HTTP协议 谷歌浏览器查看HTTP协议 火狐浏览器查看HTTP协议
- java多态转型II
1 package face_09; 2 3 /* 4 * 毕老师和毕姥爷的故事. 5 */ 6 class 毕姥爷 { 7 void 讲课() { 8 System.out.println(&quo ...
- 一份尽可能全面的Go channel介绍
写在前面 针对目前网络上Go channel知识点较为分散(很难有单独的一份资料把所有知识点都囊括进来)的情况,在下斗胆站在巨人的肩膀上,总结了前辈的工作,并加入了自己的理解,形成了这篇文章.本文类似 ...
- Github基于Web的编辑器
在 GitHub 存储库中使用基于 Web 的编辑器来创建和提交代码更改. 关于 GitHub 基于 Web 的编辑器 基于 Web 的编辑器引入了全新的轻量级编辑体验,可完全在您的浏览器中运行.使用 ...