第一天
Python是什么?
python是运维晋升的一个趋势
python下载地址
https://www.python.org/downloads/
python解释器pycharm安装以及激活
http://idea.lanyus.com/ 获取验证码
#!/usr/bin/env python #_*_ coding:utf-8 _*_ # ** author: zhaobin # ** description: more function # ** createDate: 2018-8-13 # ** run python: python xxxx.py # *****************************
1.文件头
#!/usr/bin/env python #_*_ coding:utf-8 _*_
Linux下修改pip源方法如下: linux下,修改 ~/.pip/pip.conf (没有就创建一个), [global] timeout = 6000 index-url = http://pypi.douban.com/simple trusted-host = pypi.douban.com
2.python的文件可以是任意的后缀名
2.1、执行 Python 脚本的两种方式 直接调用python脚本,用python解释器去调用python脚本 2.2、简述位、字节的关系 一个字节是8位,计算机计算是以字节为单位,存储是以位单位 2.3、简述 ascii、unicode、utf-‐8、gbk 的关系 最先出现的是ascii编码,其次是unicode编码,又因为每个国家的标准不同,继而出现unicode的压缩编码utf-8。ascii码8位,unicode码16位。用ascii码表示的字符,再用unicode表示就会造成内存浪费,提出的utf-8编码,能用多少表示就用多少表示。 2.4、请写出 “李杰” 分别用 utf-‐8 和 gbk 编码所占的位数 Utf-8 中文一个字代表3个字节,占了6个字节 Gbk是一个代表2个字节,占了4个字节
3.单行注释: # 注释内容
多行注释:"""注释内容"""
4变量的声明与引用
#!/usr/bin/env python 会查找python的位置 name='buer' #变量的声明 name #通过变量名,引用变量的值 print(name) #引用并且打印变量的名name对应的值,即'buer'
1 #所有脚本第一句话都要写解释以下脚本是用什么解释器
2 #!/usr/bin/python python
3 #语言设置为:简体中文
4 #_*_coding:utf-8_*_
5
6
7 #变量定义的规则:
8
9 #变量名只能是 字母、数字或下划线的任意组合
10 #变量名的第一个字符不能是数字
11 #以下 关键字 不能声明为变量名
12 ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif',
13 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if',
14 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise',
15 'return', 'try', 'while', 'with', 'yield']
16 #变量要有意义
17 #变量不能太长
18 #不要用中文
19 #推荐使用驼峰或者下划线命名
20 #区分大小写
5.简单的账号密码
1 #input <输入> 2 #print<打印> 3 username = input('用户名') 4 password = input('密码') 5 print(username,password) 6 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 7 #输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即: 8 9 10 import getpass 11 12 username = input('usernmae:') 13 password = getpass.getpass('password:') 14 15 print(username,password) 16 17 18 19 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 20 21 # .format <格式> 22 # import <调用> getpass<py系统自带函数模块,密文输入> 23 # print <打印> 24 # if <条件成立执行> 25 # and <而且> 26 # else <if条件不成立时执行> 27 28 import getpass 29 30 name = 'alex' 31 word = 'as123' 32 33 username = input('名字:') 34 password = input('密码:') 35 36 if name == username and word == password: 37 print('欢迎 {N} 登录'.format(N=name)) 38 else: 39 print('账号或者密码错误')
6.for循环
1 # i <变量名>
2 # range(10) <范围> (0,1,2,3,4,5,6,7,8,9)<0-9十个数>
3
4 for i in range(10):
5 print('loop',i)
6
7
8 # (0,10,3) <起始数,结束值,步长> <步长默认加1>
9 for i in range(0,10,3):
10 print('loop',i)
11
12
13 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
14
15 # continue <跳出本次循环,重新循环>
16
17 for h in range(0,10):
18 if h <3:
19 print('loop',h)
20 else:
21 print('kkkkkk...')
22 continue
23 print('yyyyyy...')
24 print('呵呵呵...')
25
26 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
27
28 # for t in range(9) <条件循环> <变量名> <在> <范围(参数)>
29 # print <打印>
30 # if <条件判断>
31 # break <中止程序>
32
33 for t in range(9):
34 print('______',t)
35 for j in range(11,50):
36 print(j)
37 if j >= 22:
38 break
7.python的数据类型
1 1、数字
2 int(整型)
3 -9223372036854775808~9223372036854775807
4
5 float(浮点型)
6 3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4
7 complex(复数)
8 (-5+4j)和(2.3-4.6j)是复数的例子,其中-5,4为实数,j为虚数
9
10 2、布尔值
11 真或假
12 1 或 0
13
14 3、字符串
15 "hello world"
8.显示数据类型
9.数据运算
10. 简单的几个习题
10.1 使用while循环输入 1 2 3 4 5 6 8 9 10
#coding=utf-8
count = 1
while count < 11:
if count == 7:
pass
else:
print (count)
count = count+1
print ('--end--')
10.2 求1-100的所有数的和
#coding=utf-8
a = 1
b = 0
while a < 101:
b = b + a
a = a+1
print (b)
10.3求1-100的所有偶数
#coding=utf-8
a = 1
while a < 101:
temp = a %2
if temp ==0:
pass
print (a)
else:
pass
a = a+1
10.4求1-2+3-4+5..99的所有和
#coding=utf-8
a = 1
b = 0
while a < 101:
temp = a % 2
if temp == 0:
b = b - a
else:
b = b + a
a = a+1
print(b)
10.5 用户登录(3次重试机会)
import getpass
s_name = "zhao"
s_pass = "123456"
count = 0
while count < 3:
tar_name = input("输入你的账户")
password = input("输入你的密码")
if tar_name == s_name and password == s_pass:
print "欢迎进入"
break
elif not tar_name and not password:
print "账户名不能为空"
count +=1
else:
print "账户密码错误"
count +=1
一、流程控制
1.条件语句
条件判断
计算机之所以能做很多自动化的任务,因为它可以自己做条件判断
1
2
3
|
a = 5 if a > 2 : print ( 'yes' ) |
根据Python的缩进规则,如果if
语句判断是True
,就把缩进的两行print语句执行了,否则,什么也不做。
也可以给if
添加一个else
语句,意思是,如果if
判断是False
,不要执行if
的内容,去把else
执行了:
a = 5
if a > 8:
print('yes')
else:
print('no')
a = 5
if a > 8:
print('yes')
elif a > 3:
print('no')
else:
print('bey')
elif
是else if
的缩写,完全可以有多个elif
,所以if
语句的完整形式就是:
if <条件判断1>: <执行1> elif <条件判断2>: <执行2> elif <条件判断3>: <执行3> else: <执行4>
if
语句执行有个特点,它是从上往下判断,如果在某个判断上是True
,把该判断对应的语句执行后,就忽略掉剩下的elif
和else
if
判断条件还可以简写,比如写:
1
2
|
if x: print ( 'True' ) |
只要x
是非零数值、非空字符串、非空list等,就判断为True
,否则为False
。
2.循环
Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来,看例子:
for i in range(0,5):
print(i)
else:
print('The for loop is over')
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name)
所以for x in ...
循环就是把每个元素代入变量x
,然后执行缩进块的语句。
再比如我们想计算1-100的整数之和,可以用一个sum
变量做累加:
sum = 0
for x in range(101):
sum+=x
print(sum)
习题:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买一百只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。
for x in range(1,20):
for y in range(1,33):
z = 100-x-y
if (z % 3 == 0) and (x * 5 + y * 3 + z / 3 == 100):
s = "公鸡:%d;母鸡:%d;小鸡:%d;" %(x,y,z)
print(s)
第二种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环。比如我们要计算100以内所有奇数之和,可以用while循环实现:
sum = 0
n = 99
while n > 0:
sum += n
n = n - 2
print(sum)
break
在循环中,break
语句可以提前退出循环。例如,本来要循环打印1~100的数字:
n = 1
while n <= 100:
if n > 10: # 当n = 11时,条件满足,执行break语句
break # break语句会结束当前循环
print(n)
n += 1
print('END')
执行上面的代码可以看到,打印出1~10后,紧接着打印END
,程序结束。
可见break
的作用是提前结束循环。
continue
在循环过程中,也可以通过continue
语句,跳过当前的这次循环,直接开始下一次循环。
n = 0
while n < 10:
n += 1
if n % 2 == 0: # 如果n是偶数,执行continue语句
continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
print(n)
执行上面的代码可以看到,打印的不再是1~10,而是1,3,5,7,9。
可见continue
的作用是提前结束本轮循环,并直接开始下一轮循环。
小结:break用于退出本层循环;continue用于退出本次循环,继续下一次循环