python开发之路day01

1.Python前世今生

  python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。

最新的TIOBE排行榜,Python赶超PHP占据第五!

Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。互联网公司广泛使用Python来做的事一般有:自动化运维自动化测试大数据分析、爬虫、Web 等。

注视:上述重点字体表示该公司主要使用Python语言开发

2.为什么是Python而不是其他语言?

C 和 Python、Java、C#等

      C语言: 代码编译得到机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作

   其他高级语言: 代码编译得到字节码 ,虚拟机执行字节码并转换成机器码再后在处理器上执行

Python 和 C  Python这门语言是由C开发而来

   对于使用:Python的类库齐全并且使用简洁,如果要实现同样的功能,Python 10行代码可以解决,C可能就需要100行甚至更多.
   对于速度:Python的运行速度相较与C,绝逼是慢了

Python 和 Java、C#等

   对于使用:Linux原装Python,其他语言没有;以上几门语言都有非常丰富的类库支持
   对于速度:Python在速度上可能稍显逊色

所以,Python和其他语言没有什么本质区别,其他区别在于:擅长某领域、人才丰富、先入为主。

3.Python的种类

      • Cpython(解释)代码----字节码-----机器码(解释一行,执行一行)
            Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。
      • Jyhton
            Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。
      • IronPython
            Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)
      • PyPy(特殊)(编译)代码---字节码-----机器码(全部转换完之后在执行)
            Python实现的Python,将Python的字节码字节码再编译成机器码。
      • RubyPython、Brython ...     

4、输入 输出

         输入:

    input:v = input ('请输入用户名:')     v = 表示接收用户输入的值(等同于变量)

    import:示例: import getpass   v = getpass.getpass('请输入密码:')

    输出:

    print('内容'):打印括号里面的内容         print(变量):打印变量的内容

   示例: 

name = input('请输入姓名:')
print(name)

import getpass
pwd = getpass.getpass ('>>>')
print(pwd)

import getpass
name = input('请输入姓名:')
pwd = getpass.getpass ('请输入密码:')
age = input('请输入您的年龄:')
print(name)
print(pwd)
print(age)
复制代码

5、条件语句

    if 条件:                                 if 条件:                                              if 条件:

     成功走这儿                               ...                                                      if 条件:

    else:             elif 条件:                                                  ...

     失败走这儿           ...                                                       elif 条件:

                    elif 条件:                                                   ...

                     ...                                                       else:

                    else:                                                          ...

                     ... 

示例:

username = input('请输入用户名:')
if username == 'sunkedong':
    print('超级管理员')
elif username == 'wuyanmin':
    print('超级管理员的老婆大人')
elif username == '乖乖':
    print('吾皇')
else:
    print('拜拜。。。')
print('end')

6、.循环语句

    while 条件:

      continue  (跳出本次循环,执行下次循环)

      break   (跳出所有循环)

    示例:

i = 1
while i < 11 :
    print(i)
    i +=  1
=========================>
while True:
    username = input('请输入用户名:')
    pwd = input('请输入密码:')
    if username == 'chengfei' and pwd == '123':
        print('登录成功')
        break
    else:
        print('登录失败,请重新登录')

示例:

i = 1
while True:
    if i == 7 :
        i += 1
        continue
    print(i)
    i += 1
    if i == 11 :
        break

示例:

i = 1
while i < 11 :
    if  i == 7:
        i += 1
        continue
    print(i)
    i += 1
    if i == 11:
        break

7、运算符

a.算术运算符

b.比较运算符

c.赋值运算符

d.逻辑运算符

 

8、.python类型

    —整数:创建:a = 123 或 a = int(123)  转换:age = ‘18’ ---- new_age = int(age)   print (type(变量)) 查看这个变量是什么类型

    —布尔值 :创建:a = True b = False 转换:数字转换时,只有0是False,其他都是True,字符串转换时,只有为空时是False,其他True(a = 1 -- b = bool(a) print (b))

    —字符串:-创建:a = 'tom' 或 a = str('tom') -转换:age = 18  new_age = str(age)

               -字符串的拼接:如下

str = '我叫孙克东,今年18岁,性别:男。'
val = '扯淡'
new_str = str + val
print(new_str)

9.列表

  -创建列表:a = ['tom','jim',123,'alxe'] 或 a = list(['tom','jim',123,'alxe'])

  -in判断:

 -索引  val = a [0]   print (val)

  -长度  val = len(a)  print (val)

  -切片  val = a [0::2] print (val)

  -追加 a.append ('chengfei')  追加只能从最后追加

  -插入 a.insert (1,'xo')  在第二个字符串前面插入,这里的0指的是索引

  -删除 a.remove ('tom') 只删除列表中的第一个该字符串   del a [0] 删除列表下的第几个字符串 (可以索引删除,也可以切片删除)

  -修改 a[0] = 'chengfei' 重新给该字符赋值

10.字典

  -创建 v = {'name':'tom','pwd':'123'}  或  v = dic ({'name':'tom','pwd':'123'})

  -索引 val = v['name']     print(val)

  -增加 (有该值时,修改,没有该值,增加)v['age'] = 18 print (v)

  -删除 del v['name']

  -for循环

  -长度  print (len(v))

  -示例

字典的嵌套

user_list = {
    'k1': 'v1',
    'k2': {'kk1': 'vv1','kk2': 'vv2'},
    'k3': 456,
    'k4': ['tom','jim',123,{'k11':'v11'},['a','b','c']]
}
user_list['k4'][4].append('123')
user_list['k4'][3]['name'] = 'sunkedong'
print(user_list)

应用

user_list = [
    {'name':'jim','pwd':'123','time':1},
    {'name':'tom','pwd':'123','time':1},
    {'name':'alxe','pwd':'123','time':1}
]
user = input('用户名:')
pwd = input('密码:')
for item in user_list:
    if user == item['name'] and pwd == item['pwd']:
        print('登陆成功')
        break

练习:

打印-10的偶数

count = 0
while count <= 10:
    if count%2 == 0:
        print(count)
    count +=1

猜大小游戏

count = 0
while count < 3:
    sun_age = 24
    input_age = int(input('>>'))
    if input_age > sun_age :
        print("猜大了,继续猜")
    elif input_age < sun_age :
        print("猜小了。继续猜")
    else:
        print("恭喜,猜对了")
    count +=1

11、作业:

 最终的用户登录接口

#coding:utf-8
import os
#定义一个用户列表
info=[['admin','adminpass'],['sunkd','sunkdpass'],['root','rootpass']]
#模拟用户登录的主机名
hostname = 'localhost'
count=0
tag=True
while tag:
    if count >=3:
        break
    username = input("user:")
    password = input("pass:")

    if username == info[0][0] and password == info[0][1] or username == info[1][0] and password ==info[1][1] or username == info[2][0] and password == info[2][1]:
        print('welcome to %s user'%(username))
        while tag:
            msg=input('[%s@%s ~]'%(username,hostname))
            if msg == "quit":
                tag=False
            else:
                print(msg)
    else:
        print("login failed")
        count+=1
        surplus=3 - count
        print(surplus)
        print('你已经输错%s次,还有%s次机会'%(count,surplus))
        if count >= 3:
            #如果用户输入三次,锁定结果到文件,下次进行判断
            os.system('echo lock > lock.log')


原文地址:https://www.cnblogs.com/sunkedong/p/7474173.html