Python—课时ONE
说实话第一次接触Python还是在我刚上班的时候,听说很多人这个开发语言很吊,应用的领域很多。but这些东西还不能够吸引我,真正的原因是因为这个开发语言很是简单,比较适合我这种2B学的。但是越往后越觉得这个语言的牛逼之处(虽然我现在才学到CLASS,但是已经觉得IQ不够用了)。所以说我现在又得重新的复习下了,这个就很烦。顺便也可以给刚刚学习Python的人做一些笔记。相信以我这种小学毕业的人做的笔记肯定是浅显易懂了。
很多人有可能是从Linux运维来学一点Python的,相信我现在光做运维是不行的了。摆在你面前的就两条路:一个是运维开发,一个是纯开发。好了咱们废话也不多说了,因为我觉得还有可能坚持不下来,所以就不在这个地方立flag了。让我们开始装X之路......
对了下面咱们使用的Python版本都是Python3x,开发平台为window,使用的开发工具为pycharm,下面我们就要开始开发之路了,记住你只一个运维开发。
首先国际惯例:在Linux系统上用vi编译器写出一个句话:
print("Hello World")
是不是感觉自己特别的牛逼,没有错,你现在已经是一个牛逼的程序员了。在这里这个代码做了一个打印动作打印出“Hello World”这句话(这里我们这里补充一下如果你是在Linux平台下把这个程序当作一个脚本使用的话,也就是用vi编辑器写了一个Python脚本,记得需要在第一行加上#!/usr/bin/python3或者是#!/usr/bin/env python3记住这两个的区别,env是找系统的环境变量,也就是系统默认的Python3,相对于前面的好处就是,前者将Python所调用的解释器定义死了,后者更加灵活)。
一、变量
变量也有一些命名的规范:
1.变量开端不能是数字
2.一个变量之间不能有空格
3.变量不能是一个特殊字符,或者是Python自己占用的关键字
#可变的量
name = "yanweijian" #将yanweijian这个字符串赋值给了name这个变量
#存储数据,方便以后的调用
x = 5
y = 6
print (y + x) #这里的x,y可以是任意你输入的一个值,然后相加
#减少重复代码
name = "yanweijian"
name2 = "abc"
msg = "Hello"
print (msg name)
print (msg name2) #这里我们就省去了输入名字的这个步骤,直接调用变量
二、数据类型
在Python的学习中我们会遇到很多的数据类型,下面我给大家介绍以后会经常用到的几种。
在这里我们必须几种整型、str(后面的字符串类型)、布尔值。
int(整型):任意的一个数字(Python2x中取值范围是-2**31~2**31-1,这个是32位系统中,64位就是63次方,但是在Python3x中没有限制)
long(长整型):这个在Python3x中已经没有了,所以你就把它当成皮放了吧
float(浮点数):http://www.cnblogs.com/alex3714/articles/5895848.html
complex(复数):这个小弟是真不知道所以就不解释了,其实也用不到 布尔:真或者是假 True or False 1(True) 或 0(False)
True就是条件成立,False就是条件不成立
5 + 10 > 12 (True)
5 + 10 > 18 (False) 字符串:"你好123" 被""包含起来的就是字符创
三、字符串的常用功能
对字符串的操作有很多,在这里我们会介绍几个这一节会用到的几个;比如说计算一个字符串的长度,给字符串进行切片,提取自己需要的内容,格式化输出和字符串的组合。
hobbies = girl #变量
msg = "yanweijian is good man" #变量
# 0123456789.....(下标也叫索引)以此类推
msg.strip() #移除空白
msg[0:10] #比如我们只需要"yanweijian"这一段字符,这里为什么会写到下标10呢,n对应的下标不是9吗?大爷们切片需要记住顾头不顾尾。
len(msg) #长度
msg1 = msg + "and he's hobbies " +hobbies
print(msg1) #组合
#上面的方法实际上调用了好几次的内存,这样会占用资源,所以一般不用这种方发
msg1 = "%s and he's hobbies %s" %(msg,hobbies) #格式化输出,这样也同样实现了上面的功能
四、数据类型——列表
我现在有一个需求,让大家打印一组人的名字。没错你首先会想到直接print("you name"),但是如果让你打印一堆花里胡哨并跟上人名,你一个一个打印可能就让你有点难受了,这时我们就引进了一个新的字符类型列表(list)。这个时候你就可以将需要打印的人名放进一个列表中。在需要的时候直接取索引就能把想要的人名取出来了,废话不多说,下面我们直接和大家说说list的基本操作。
msg = ["yanweijian","wuzhihu","liyaseng","yuechengjun","caoyun"] #定义一个列表,名字为msg #list的基本操作:
print(msg[0]) #查看msg的第一个下标,也就是"yanweijian"这个字符串
msg.index("wuzhihu") #查找出"wuzhihu"这个字符串的下标
msg[msg.index["wuzhihu"] = "liuyao" #找到"wuzhihu"并改成"liuyao"
msg.count("yanweijian") #查找出列表中有几个"yanweijian"
msg.sort() #首字母按照ASCII码排序
msg.reverse() #和sort相反
msg.append("alex") #将"alex"插入到最后面
msg.insert(2,"liuyao") #2指的是list中的下标,也就是"liyaseng"的后面
del msg[1] #删除"wuzhihu",这里的1指的是下标也就是"wuzhihu"
msg.remove("liyaseng") #删除"liyaseng"
msg[0:1] #取出"yanweijian"和"wuzhihu"
msg[0:5:2] #0:5是范围,2是步长,去出的是"yanweijian","liyaseng","caoyun"
五、运算
运算就是将运算符左右两边的值进行对比,从而判断是True还是FALSE或者是通过运算所得出来的值(这个会将下面说的if判断引出来所以在此不多说,请各位大爷们继续往下看)
5%2 #取余数
5 // 2 #去整除,这里为2
"yanweijian" != "wuzhihu" #"!="为不等于 返回的是bool(布尔值)
==, >= , <= , > , < #此处就不多说了,聪明的人都会
+= #自加,后面的作业会说到
六、成员运算和身份验证
and #逻辑与
name = "yanweijian"
msg = "shuai"
name == "yanweijian" and msg == "shuai" #返回真和假True or False,此处为True or #逻辑或
name = "yanweijian"
msg = "shuai"
name == "yanweijian" and msg == "chou" #返回真和假True or False,此处为True not #逻辑非,这个在下面会介绍
七、流程控制if...else...流程控制
说到if语句,很多会运维的人肯定是想到了bash shell中的if;没有错,这里的if语句很shell中的很是相似,下面我们通过图片和代码来了解下,Python语句的魅力;从此刻开始大家也就正是开始了Python代码之旅了。
if语句流程图(画的不好,大爷们将就看看吧):
场景一、用户登陆验证
# 提示输入用户名和密码 # 验证用户名和密码
# 如果错误,则输出用户名或密码错误
# 如果成功,则输出 欢迎,XXX! #!/usr/bin/env python
# -*- coding: encoding -*- import getpass name = raw_input('请输入用户名:')
pwd = getpass.getpass('请输入密码:') if name == "yanweijian" and pwd == "cmd":
print("欢迎,yanweijian!")
else:
print("用户名和密码错误")
场景二、猜年龄游戏
在程序里设定好你的年龄,然后启动程序让用户猜测,用户输入后,根据他的输入提示用户输入的是否正确,如果错误,提示是猜大了还是小了
#!/usr/bin/env python
# -*- coding: utf-8 -*- my_age = 28 user_input = int(input("input your guess num:")) if user_input == my_age:
print("Congratulations, you got it !")
elif user_input < my_age:
print("Oops,think bigger!")
else:
print("think smaller!")
八:for循环
最简单的循环10次
#_*_coding:utf-8_*_ for i in range(10):
print("loop:", i )
输入:
loop: 0
loop: 1
loop: 2
loop: 3
loop: 4
loop: 5
loop: 6
loop: 7
loop: 8
loop: 9
需求一:还是上面的程序,但是遇到小于5的循环次数就不走了,直接跳入下一次循环
for i in range(10):
if i<5:
continue #不往下走了,直接进入下一次loop
print("loop:", i )
需求二:还是上面的程序,但是遇到大于5的循环次数就不走了,直接退出
for i in range(10):
if i>5:
break #不往下走了,直接跳出整个loop
print("loop:", i )
九、while死循环
while循环不同上面的for循环,只要触发就不会“停止”
count = 0
while True:
print("你是sb,你是sb",count)
count +=1
其实除了时间,没有什么是永恒的,死循环还是少写为好
上面的代码循环100次就退出吧
count = 0
while True:
print("我要大保健,我要大保健",count)
count +=1
if count == 100:
print("大兄弟们北京大保健多少钱呀")
break
十、补充
在Python中的的注释是“#”开头的一行话,但是有时候我们需要多行注释,这个是时候somebody(简称sb)出来说了,我们可以在每一行的开头加上#。如果你真是这样干了的话,你就是“真皮沙发了”。对于多行注释Python中有专门的方法:
'''妹子加微信:Myyanweijianstar
男的不要加,因为我喜欢女的
0.0
'''
#同时上面的方法还可以打印多行比如
info = '''
NAME
AGE
JOB
'''
print(info)
输出结果:
NAME
AGE
JOB
小练习:
编写登陆接口:
- 输入用户名密码
- 认证成功后显示欢迎信息
count = 0
while count <3:
name = input("you're name:")
password = input("you're password:")
if name == "yanweijian" and password == "shuaige":
print("welcome login...")
else:
print("you're password is error please again...")
count += 1
答案
Email:yanweijian_tt@icloud.com or yanweijian_tt@163.com
Python—课时ONE的更多相关文章
- python课时二
通过上个博客的学习,相信大家已经对Python是什么东西应该有了相对应的了解,这里也包括Python的一些语法(比如Python在写for循环和if判断的时候都是会有缩进的).这张博客大概会对Pyth ...
- day 07 元组,字典和集合等数据类型介绍
元组:就是一个不可变的列表 1.用途,当我们需要记录多个值,并且没有更改的需求的时候,应该使用元组 2定义方式:使用,在 ( ) 中分隔开多个任意类型的值 注:t=("egg",) ...
- 课时1:我和python的第一次亲密接触
目录: 一.Python3的下载与安装 二.从IDIE启动Python 三.尝试点新的东西 四.为什么会这样? 五.课时01课后习题及答案 ============================== ...
- 课时2:用python设计第一个游戏
目录: 一.第一个小游戏 二.缩进 三.BIF 四.课时02课后习题及答案 ********************* 一.第一个小游戏 ********************* # p2_1.py ...
- 课时5:闲聊之Python的数据类型
目录: 一.引言 二.数据类型 >整型 >浮点型 >布尔类型 三.类型转换 四.获得关于类型的信息 五.课时05课后习题及答案 *********** 一.引言 ********** ...
- 课时6:Python之常用操作符
目录: 一.算术操作符 二.优先级问题 三.比较操作符 四.逻辑操作符 五.课时06课后习题及答案 ****************** 一.算术操作符 ****************** > ...
- 课时17:函数:Python的乐高积木
目录: 一.创建和调用函数 二.函数的参数 三.函数的返回值 四.课时17课后习题及答案 为了使得程序得代码变得简单,就需要把程序分解成较小得组成部分.有三种方法可以实现:函数.对象.模块. **** ...
- python学习之第一课时--初始python
Python前世今世 python是什么 python是一门多种用途的编程语言,时常在扮演脚本语言的角色 python流行原因 软件质量 提高开发者效率(python代码大小为C/java的1/3-1 ...
- 程序媛计划——python中级课时1
class1 异常处理 #python会把标准输入的内容当作字符串处理,即使输入的是数字3也会转化为字符串’3’. n1 = raw_input() n2 = raw_input() print n1 ...
随机推荐
- instance 网卡是如何被拉起来的?- 每天5分钟玩转 OpenStack(172)
instance 的网卡是如何被配置并拉起的?这是理解和用好 cloud-init 非常关键的一步.我们先讨论一个最简单基础的场景:镜像中没有安装 cloud-init. 此时 instance 启动 ...
- Framework7+vue demo
最近看了下f7+vue做了几个测试页面,商品图片来自淘宝,代码等有时间了再传,
- 浩哥解析MyBatis源码(七)——DataSource数据源模块之托管数据源
原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6675700.html 1 回顾 之前介绍的非池型与池型数据源都是MyBatis自己定义的内 ...
- Hibernate三种状态及生命周期
临时状态---使用new操作符的对象不能立刻持久,也就是说没有任何跟数据库相关的行为, 只要应用不再使用这些对象,状态会丢失,并由垃圾回收机制回收持久对象---持久实例是具有数据库标识的实例.统一又S ...
- Linux必备 -- 如何在Mac OS 使用VMware 安装Linux
Linux简介 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协 ...
- 对MySQL数据量日益增长产生的一点小想法
最近一直在想一个问题 MySQL数据量日益庞大,目前单表总记录数有 300W+,导致sql语句执行的速度变慢,如果一直这样增长下去,总有一天会爆炸的.怎么办??怎么办?? 第一:想到的必然是 添加索引 ...
- 使用WebView监控网页加载状况,PerformanceMonitor,WebViewClient生命周期
原理:WebView加载Url完成后,注入js脚本,脚本代码使用W3C的PerformanceTimingAPI, 往js脚本传入一个Android对象(代码中为AndroidObject),在js脚 ...
- JSON对象、JSON字符串的相互转换
JSON对象.JSON字符串的相互转换 json的格式: 第一种方式: 单一的json字符串,转换成json对象时,需要 eval('(' + json + ')');这样的格式,中间需要加括号 va ...
- Java程序初始化的顺序
Java程序初始化的顺序 java程序初始化工作可以在许多不同的代码块中来完成(例如:静态代码块.构造函数等),他们执行的顺序如下: 父类静态变量 父类静态代码块 子类静态变量 子类静态代码块 父类非 ...
- (转)使用string.Format需要注意的一个性能问题
今天,我在写C#代码时,突然发现一个最熟悉的陌生人 —— string.Format.在写C#代码的日子里,与它朝夕相伴,却没有真正去了解它.只知道在字符串比较多时,用它比用加号进行字符串连接效率更高 ...