zoukankan      html  css  js  c++  java
  • Python基础之(判断,循环,列表,字典)

    一.python介绍

    Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程。Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使得它在大多数平台上的许多领域都是一个理想的脚本语言,特别适用于快速的应用程序开发。 Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。

    Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 

    Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。(引于菜鸟教程)

    二.python与其他语言对比

    Java C# PHP Python (开发效率高),这些语言本身不需要你去管理内存了。
    它们都有自己的虚拟机,对于开辟内存、释放内存都由这个虚拟机处理。

    C 和 Python、Java、C#等

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

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

    三.python的种类

    Cpython
    Python的官方版(现在用的基本都是Cpython),使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。
    Jyhton
    Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。
    IronPython
    Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)
    PyPy(特殊)
    Python实现的Python,将Python字节码直接编译成机器码。

    四.python规则

    1.python解释器

    我们现在使用的最广泛的是python的官方版本cpython,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上

    2.windows安装python

    进入官网下载安装包:https://www.python.org/downloads/

    记得将python安装路径配置进环境变量

    安装完python后,进入到DOS命令下面输入:python

    3.编码

    编码 字母占位 中文站位 特殊
    unicode 万国码 2字节,16位 3字节,24位 占存储空间较大
    utf-8 对万国码的压缩 1字节,8位 3字节,24位 压缩了存储空间
    gbk,gb2312 中文的编码 1字节,8位 2字节,16位 不支持其他语言
     
    Python编码相关:

    -文件编码

    -python解释器编码(py3 utf-8) # -*- coding:utf-8 -*-

    PS:python解释器编码(ascii)

     
    注释:

    在要注释的行首输入#

    在需要注释的处输入"""   """适用于注释段落

    变量命名要求:

    字码,数字,下划线组成,数字不能开头,不能是关键字。

    Ps:Python用_来分割,不使用驼峰式命名

    4.第一个python程序"Hello World"

    print("Hello World")

    五.if条件语句

    1 if:
    2     成功走这里
    3 else4     失败走这里

    1.如果用户输入的number等于4输出正确,否则的话输出错误。

    number = input("请输入你猜的数字:")
    if number == 4:
        print("正确")
    else:
        print("错误")

    2.当需要多个判断的时候,第二个或者第三个或者有更多条件用elif

    if 条件:
        输出
    elif 条件:
        输出
    else:
        输出

    具体使用方法如:

    number = 10
    user_number = input("请输入你猜的数字:")
    user_number = int(user_number)
    if user_number > number:
        print("对不起,猜大了!")
    elif user_number < number:
        print("对不起,猜小了!")
    else:
        print("恭喜您猜对了!")

    getpass输入加密(只能在命令行下起作用)

    1 import getpass
    2 name = input("请输入用户名:")
    3 pwd = getpass.getpass("请输入密码:")
    4 if name == "json" and pwd == "666":
    5     print("欢迎登陆!")
    6 else:
    7     print("登录失败!")

    六.while循环语句

    while 条件:
    continue    # 立即开始下次循环
    break       # 跳出所有循

    练习:

    1.使用while循环输入 1 2 3 4 5 6     8 9 10

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

    2.求1-100的所有数的和

    value = 0
    i = 1
    while i < 101:
        value = value + i
        i = i + 1
    print(value)

    3.输出 1-100 内的所有奇数

    i = 1
    while i < 101:
        if i % 2 == 1:  # %是取余
            print(i)
        i = i + 1

    4.用户登陆(三次机会重试)

    i = 0
    n = 3
    while i < 3:
        name = input("请输入用户名:")
        pwd = input("请输入密码:")
        if name == "json" and pwd == "123":
            print("欢迎登陆!")
            break
        else:
            n = n -1
            print("输入错误您还有", n, "次机会")
            i = i + 1
    else:
        print("输入错误3次账号被锁定!")

    七.python的基本数据类型

    1.算数运算

     注:运算符的执行顺序,从前往后

    2.比较运算

    3.赋值运算

    4.逻辑运算

    5.成员运算

    6.整数int

    创建:  

    1 a = 123
    2 a = int(123)

    转换:

    1 age = "18"
    2 new_age = int(age)

     7.布尔类型

    创建:

    1 a = True
    2 b = False

     转换:

      数字转换,只有0是False,其他True

      字符串,  只有""是False,其他True

    8.字符串

    a.创建:

     a = "alex"
     a = str('alex')

    转换:

    1 age = 19
    2 new_age = str(age)

    字符串的拼接:

    1 name = 'alex'
    2 gender = ''
    3 new_str = name + gender
    4 print(new_str)

    字符串格式化转换,%s占位符,%d字符串:

    1 # 占位符,
    2 # name = '我叫李杰,性别:%s,我今年%s岁,我在说谎!'
    3 # new_str = name %('男',19,)
    4 # print(new_str)
    5 
    6 name = '我叫李杰,性别:%s,我今年%s岁,我在说谎!' %('',19,)
    7 print(name)

    b.判断子序列是否在其中

    1 content = "Alex 前几天去泰国玩姑娘,一不小心染上了病,他的内心活动是,真该多来几个"
    2 if "前几天去" in content:
    3     print('包含敏感字符')
    4 else:
    5     print(content)

    c.移除空白

    val = " alex "
    print(val)
    new_val = val.strip() # 左右
    print(new_val)
    new_val = val.lstrip()# 左边
    print(new_val)
    new_val = val.rstrip() # 右边
    print(new_val)

    d.分割

    1 user_info = "alex sb123 9"
    2 # v = user_info.split('|')
    3 # v = user_info.split('|',1)
    4 # v = user_info.rsplit(' ',1)

    e.长度(字符)

    1 val = "李杰sb"
    2 v = len(val)
    3 print(v)

    f.索引

    1 val = "李杰sb"
    2 v = val[0]
    3 print(v)
    4                     
    5 val = input('>>>')
    6 i = 0
    7 while i < len(val):
    8     print(val[i])
    9     i += 1

    g.切片

    1 name = '我叫李杰,性别我今年岁,我在说谎!'
    2 print(name[0])
    3 print(name[0:2])
    4 print(name[5:9])
    5 print(name[5:])
    6 print(name[5:-2])
    7 print(name[-2:])

    9.列表

    创建:

    1 a = ['json','','eric',123]
    2 a = list(['json','','eric',123])

    in判断

    1 if 'al' in a:
    2     pass                      
    3 if 'al' in a[0]:
    4     pass

    索引

    1 val = a[0]

    长度

    1 val = a[0]

    切片

    1 a = ['alex','','eric',123]
    2 v = a[0::2]
    3 print(v)

    追加

    1 a = ['alex','','eric',123]
    2 a.append('xxoo')
    3 print(a)

    插入

    1 a = ['alex','','eric',123]
    2 a.insert(0,'')
    3 print(a)

    删除

    1 a = ['alex','eric','','eric',123]
    2 # a.remove('eric')
    3 del a[0]
    4 print(a)

    更新

    1 a = ['alex','eric','','eric',123]
    2 a[1] = '阿斯顿发送到'
    3 print(a)

    for循环

    1 a = ['alex','eric','','eric',123]
    2 for item in a:
    3 print(item)
    4 # break
    5 # continue

    10.字典

    创建:

    1 v = {
    2     'name': 'alex',
    3     'password': '123123'
    4 }

    索引获取值

    1 n = v['name']
    2 print(n)

    增加,无,增加;有,修改

    1 v['age'] = 19
    2 print(v)

    删除

    1 del v['name']
    2 print(v)

    循环

    1 for item in v.keys():
    2     print(item)
    3 for item in v.values():
    4     print(item)
    5 for key,val in v.items():
    6     print(key,val)

    相互嵌套

    1 user_dict = {
    2     'k1': 'v1',
    3     'k2': {'kk1':'vv1','kk2':'vv2'},
    4     'k3': 123,
    5     'k4': ['alex','eric',['a','b','c'],'李永乐',{'k11':'vv1'}],
    6 }
    7 user_dict['k4'][2].append('123')
    8 user_dict['k4'][4]['n'] = '李明'

    应用:

     1 user_list = [
     2     {'name':'alex','pwd':'123123','times':1},
     3     {'name':'eric','pwd':'123123','times':1},
     4     {'name':'tony','pwd':'123123','times':1},
     5 ]
     6 user = input('用户名:')
     7 pwd = input('密码:')
     8 for item in user_list:
     9     if user == item['name'] and pwd == item['pwd']:
    10         print('登录成功')
    11         break
    View Code

    11.文件操作

    打开并读取

    1 f1 = open('db','r')
    2 data = f1.read()
    3 f1.close()
    4 print(data)

    清空并写入

    f2 = open('db','w')
    f2.write(target)
    f2.close()
  • 相关阅读:
    mybatis 批量插入时候的一个注意点
    centos7 kubernetes单机安装
    debug 模式缓慢
    那些年,我们误解的 JavaScript 闭包
    maven仓库的配置
    闭包
    docker 搭建自己的github
    docker 搭建小型的node开发环境。
    jquery validate
    使用ueditor中的setContent() 时经常报innerHtml错误(笔记)
  • 原文地址:https://www.cnblogs.com/Crazy-lyl/p/6790723.html
Copyright © 2011-2022 走看看