第一章 关于python
Python简介
Python是什么?
python的创始人为吉多·范罗苏姆(Guido van Rossum)。
“Python is a great object-oriented, interpreted, and interactive programming language“。
Python官网(https://wiki.python.org/moin/FrontPage)对Python的解释为:“Python是一种面向对象的、解释型的、带有动态语义的高级程序语言“。
面向对象编程:Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。
解释型语言:程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次。
动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。
Python主要应用领域
(1)网络编程:包括 web 网站 、服务器后台服务等
(2)科学运算:随着 NumPy、SciPy、matplotlib、ETS 等众多程序库的开发,Python 越来越适合于做科学计算
(3)自动化运维与测试:可以使用Python开发自动化管理工具、监控程序等;也可以应用于selenium、appium中编写自动化脚本,提高测试效率
(4)爬虫:爬虫领域,Python几乎是霸主地位,Scrapy\Request\BeautifuSoap\urllib等,想爬啥就爬啥
(5)云计算:目前最火最知名的云计算框架就是OpenStack,Python现在的火,很大一部分就是因为云计算
(6)人工智能:谁会成为AI 和大数据时代的第一开发语言?这本已是一个不需要争论的问题
总之,Python 能做的事情还是非常多的,不然为什么有那么多大中型互联网企业(如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等)都在用python呢?
python2 or python3
"Python 2.x is legacy, Python 3.x is the present and future of the language"
所以当然是Python3咯!
python安装
Python目前已支持所有主流操作系统,在Linux,Unix,Mac系统上自带Python环境,在Windows系统上需要安装一下,Windows安装步骤如下
(1) 打开官网下载中心:https://www.python.org/downloads/windows/
(2)选择下载你要安装的版本,下载完成后根据提示完成安装即可
(3)在安装的过程中需要勾选“Add Python 3.x to PATH”,如果没有勾选,需要在安装完成之后,将Python的安装目录(如C:\Python34)添加到环境变量PATH下面
(4)测试安装是否成功:windows->运行->cmd(或者使用快捷键windows键+r打开运行),输入python,如果出现版本信息,则安装成功
第一个Python程序
接下来我们可以写第一个python程序了,接着刚才的cmd运行界面,输入print('hello world')
恭喜你,你已经迈出漫长python学习生涯的第一步了。
好马配好鞍,JAVA有Eclipse,C#,C++有VisualStudio,那对于Python有什么好的开发工具呢?当然首推Pycharm啦!所以赶紧去官网
https://www.jetbrains.com/pycharm/download 下载最好的Python开发IDEPycharm吧!
变量和基本数据类型
变量
name='luoli'
变量即变化的量,python中的变量很好理解,就是代表(或者引用)某值的名字
变量的定义规范:变量名只能是字母、数字和下划线;不能以数字开头;关键字不能声明为变量
变量的属性包括:id、type和value
id的作用为标识内存地址
>>> name='luoli'
>>> id(name)
92499072
type的作用为查看变量数据类型
>>> name='luoli'
>>> type(name)
<class 'str'>
value的作用为查看变量值
>>> name='luoli'
>>> name
'luoli'
基本数据类型
整型
>>> age=18
>>> type(age)
<class 'int'>
浮点型
>>> score=98.5
>>> type(score)
<class 'float'>
字符串
>>> name='luoli'
>>> type(name)
<class 'str'>
列表:在[ ]内用逗号分隔,可以存放多个任意类型的值
>>> list=['luoli','','98.5']
>>> print(list)
['luoli', '', '98.5']
字典:在{}内用逗号分隔,可以存放多个key:value的值,value可以是任意类型
>>> dic={'name':'luoli','age':'','score':'98.5'}
>>> dic['name']
'luoli'
布尔值:True 和False,用于逻辑判断
>>> a=3
>>> b=5
>>> a>b
False
>>> a<b
True
输入和输出
输入
当计算机与用户交互的时候,需要用户输入一些必要的信息怎么办呢?python提供了input()可以让用户输入字符串,并保存到变量里。
>>> username=input("Please enter your name:")
Please enter your name:luoli
格式化输出
如果要求用户输入用户名和年龄,然后打印成如下格式:
my name is xxx,my age is yyy
上述的'xxx'和'yyy'是根据用户的输入变化而变化的,那该怎么办呢?这时就需要用占位符进行格式化输出了
name=input('Please enter your name:')
age=input('Please enter your age:')
print('your name is %s,your age is %s'%(name,age)) 运行结果:
Please enter your name:luoli
Please enter your age:18
your name is luoli,your age is 18
常见的占位符有
%d | 整数 |
%f | 浮点数 |
%s | 字符串 |
%x | 十六进制整数 |
如果你不太确定用什么,'%s'永远起作用,它会把任何数据类型转换为字符串
基本运算符
计算机可以进行算数运算、比较运算、逻辑运算、赋值运算等
算数运算
运算符 | 描述 |
+ | 相加 |
- | 相减 |
* | 相乘 |
/ | 相除 |
% | 相除-取余数 |
** | 求幂 |
// | 相除-取商 |
比较运算:返回值为True或False
运算符 | 描述 |
== | 等于 |
!= | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<+ | 小于等于 |
赋值运算
运算符 | 描述 |
= | 赋值运算 |
+= | 加法赋值 |
-= | 减法赋值 |
*= | 乘法赋值 |
/= | 除法赋值 |
%= | 取模赋值 |
**= | 幂赋值 |
//= | 取整除赋值 |
逻辑运算:返回值为True或False
运算符 | 描述 |
and | 布尔'与',全为True时返回True |
or | 布尔'或',只要有一个为True则返回True |
not | 布尔'非',如果x为True,则not x 返回False |
流程控制
if...else
a.用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!
username=input('请输入用户名:')
password=input('请输入密码:')
if username=='seven' and password=='':
print('登录成功')
else:
print('登录失败')
b.根据用户输入内容输出其权限,当输入super时为超级管理员,输入为admin时为普通管理员,输入为governor时为业务主管,输入为general时为普通用户
user=input("请输入用户名:")
if user=='super':
print("超级管理员")
elif user=='admin':
print("普通管理员")
elif user=='governor':
print('业务主管')
elif user=='general':
print('普通用户')
else:
print('无权限')
c.如果:今天是Monday,那么:上班,
如果:今天是Tuesday,那么:上班,
如果:今天是Wednesday,那么:上班,
如果:今天是Thursday,那么:上班,
如果:今天是Friday,那么:上班,
如果:今天是Saturday,那么:出去浪,如果:今天是Sunday,那么:出去浪
today=input('today is :')
if today in ['Saturday','Sunday']:
print('go happy')
elif today in ['Monday','Tuesday','Wednesday','Thursday','Friday']:
print('go work')
else:
print('''必须输入其中一种:
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
''')
while循环
a.打印0-10
count=0
while count<=10:
print(count)
count+=1
b.打印0-10之间的偶数
count=0
while count<=10:
if count%2==0:
print(count)
count+=1
c.使用while循环输出1 2 3 4 5 6 8 9 10
count=1
while count<=10:
if count==7:
count += 1
continue
print(count)
count+=1
d.(1)循环验证用户输入的用户名与密码
(2)认证通过后,运行用户重复执行命令
(3)当用户输入命令为quit时,则退出整个程序
tag=True
while tag:
username=input('请输入用户名:')
password=input('请输入密码:')
if username=='luoli' and password=='':
while tag:
text=input("command:")
if not text:
continue
if text=='quit':
tag=False
continue
print('run %s'%text)
else:
print("登录失败")
练习
1.求1-2+3-4+5 ... 99的所有数的和
sum=0
count=0
while count<100:
if count%2==0:
sum=sum-count
if count%2==1:
sum=sum+count
count+=1
print(sum)
2.(1)让用户输入用户名密码
(2)认证成功后显示欢迎信息
(3)输错三次后退出程序
(4)可以支持多个用户登录 (提示,通过列表存多个账户信息)
(5)用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)
usr=['user_01','user_02','user_03']
usr_pwd={'user_01':'','user_02':'','user_03':''}
count=0
count_lock=0
while True:
#username错误输入三次退出
if count>2:
print('Login Failed')
break
username=input('Please enter your name:') #检查username是否锁定
with open ('C:\lock_user.txt', 'r')as f:
lock_user=f.read().split(',')
if username in lock_user:
print('Sorry! The user has been locked')
break #检查not exist username
if username not in usr:
print('username is not exist! Please try again!')
count+=1 #检查exist username并判定密码
if username in usr:
password=input('Please enter your password:')
if password==usr_pwd[username]:
print('Login success')
break
else:
print('Your password is wrong! ')
count_lock+=1 #输入错误密码三次被写入lock_file
if count_lock>2:
with open('C:\lock_user.txt', 'w')as f:
f.write('%s,'%username)
print('user has been locked')
break
第一章 关于python的更多相关文章
- 第一章:Python基础の快速认识基本语法
本課主題 第一个 Hello World 程序实战 用户输入实战 模块介紹 变量介绍 格式化介紹 条件判断介紹和操作实战 for 循环介紹和操作实战 作业需求 Python 第一个 Hello Wor ...
- 第一章 走进Python
目标 了解Python的历史 了解Python的特征 了解Python的应用 掌握Linux下Python开发环境的搭建 理解Windows下Python环境搭建 案例 安装Python,写出第一个P ...
- 《流畅的python》读书笔记,第一章:python数据模型
这本书上来就讲了魔法方法,也叫双下方法.特殊方法,通过两个例子对让读者了解了双下方法的用法,更重要的是,让我一窥Python的语言风格和给使用者的自由度. 第一个例子:一摞Python风格的纸牌: i ...
- 第一章:Python数据分析前的基础铺垫
本节概要 - 数据类型 - 数据结构 - 数据的常用操作方法 数据类型 基础铺垫 定义 我们搞数据时,首先要告诉Python我们的数据类型是什么 数值型:直接写一个数字即可 逻辑型:True,Fals ...
- 第一章:Python的数据结构、函数和文件
list list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: >>> classmates = ['Michael', ...
- 第一章:python基础语法| 字符编码| 条件语句...
1.编程语言介绍 编程就是写代码,让计算机帮你做事情.计算机底层是电路,只认识二进制0和1.机器语言&汇编语言语言进化历史:机器.汇编.高级.机器语言只接受二进制代码:汇编语言是采用英文缩写的 ...
- 第一章:初识Python
一个Python列表 movies = ["The Holy Grail",1975,"Terry Jones&Terry Gilliam",91,[& ...
- 第一章、Python环境搭建
一.安装Python解释器 Windows下 Python开发环境搭建 1.官网下载: https://www.python.org/downloads/ 2.选择对应的版本 3.双击运行 4.选 ...
- 我的python中级班学习之路(全程笔记第一模块) (第一章)(第2部分:如何设置python中的字体颜色,猜年龄练习题解答,while else语句,pycharm的使用)
第一章: python 基础语法 第 2 部分: 一.猜年龄练习题解答 直接上代码 >>> age = 26 >>> count = 0 >>&g ...
随机推荐
- 文字纵向滚动marquee
<div style="width:200px; height:300px"><marquee direction="up" truespee ...
- Node-Blog整套前后端学习记录
Node-Blog 后端使用node写的一个一整套的博客系统 #### 主要功能 登录 注册 发表文章 编辑/删除文章 添加/删除/编辑文章分类 账号的管理 评论功能 ... 所用技术 node ex ...
- 工作中常见的Git本地分支与远程分支同步场景
Git 是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. 一直以来本人使用 Git 处理分支都是现用现查,一是因为怕出错,二还是因为懒,作为一名四年开发经验的前端 ...
- [luogu2047 NOI2007] 社交网络 (floyed最短路)
传送门 输入输出样例 输入样例#1: 4 4 1 2 1 2 3 1 3 4 1 4 1 1 输出样例#1: 1.000 1.000 1.000 1.000 题解 在进行floyed的过程中,顺便更新 ...
- 免费ftp服务器FileZilla Server配置
FileZilla Server下载安装完成后,必须启动软件进行设置,由于此软件是英文,本来就是一款陌生的软件,再加上英文,配置难度可想而知,小编从网上找到一篇非常详细的教程进行整理了一番,确保读到这 ...
- Spring学习总结(17)——Spring AOP权限管理
每个项目都会有权限管理系统 无论你是一个简单的企业站,还是一个复杂到爆的平台级项目,都会涉及到用户登录.权限管理这些必不可少的业务逻辑.有人说,企业站需要什么权限管理阿?那行吧,你那可能叫静态页面,就 ...
- 01springMVC入门
1 MVC模式回顾 Spring MVC是一种基于MVC的Web应用框架. MVC是一种设计模式,MVC在b/s系统下的应用: 执行步骤: 发出请求,请求到MVC当中的C,C接收请求后并不能 ...
- yii2.0 表单小部件常用的默认选中
下面自己总结了一下表单小部件中经常使用到的一些默认选中 直接在视图代码里面说明啦 <?php //这个表头就不多说了 use yii\helpers\Html; use yii\widgets\ ...
- codevs——T1048 石子归并
http://codevs.cn/problem/1048/ 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Descriptio ...
- Eclipse-去除空白行
CTRL+F Find: ^\s*\n 注意前后不要有空白 Replace With: 为空,不填 勾选:Regular expressions 正则表达式 替 ...