• python基础语法


    计算机基础

    cpu:人类的大脑

    内存 临时此处一些数据 解决硬盘和cpu 速度差

    硬盘 永久存储数据

    操作系统 一个特殊的程序 调度硬件和软件之间的数据交互

    编译型:c,c++
    
           **将代码一次性全部编译成二进制,然后再执行**。
           优点:执行效率高。
           缺点:开发效率低,不能跨平台。
           代表语言:C
    解释型:python,强累定义语言
           逐行解释成二进制,**逐行运行**。
           优点:开发效率高,可以跨平台。
           缺点:执行效率低。不能加密
           代表语言:python。
    混合型
               java
    

    python的种类(解释器)

    Cpython:官方推荐**解释器**。可以转化成C语言能识别的字节码。(c)
    **Jpython**: 可以转化成Java语言能识别的字节码。(java)
    **Ironpython**:可以转化成.net语言能识别的字节码( c#)
    **pypy**:转换成 动态编译。(python)两块 开发快运行快
    ipython 和cpython在终端上有一点区别
    

    变量

    命名规范

    变量:代指一些内容、便利贴
    
    1.变量全部由**数字,字母 下划线**任意组合。(不行有,。;’【】等)
    不能以数字开头。 
    
    2.不能是python的关键字。
    ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
    
    3.要具有描述性。name= '骚强'    不能使用中文。  不能过长。
    x8 = 100  # True
    b__ = 12  # True
    4g = 32  # False
    _ = 11  # True
    *r = 12  # False
    r3t4 = 10  # True
    t_ = 66  # True
    

    推荐

    • 驼峰体:AgeOfOldboy = 73
    • 下划线:age_of_oldboy = 73where:

    代指一些复杂过长的数据。

    content = 'sfkdsjalfjdsl‘

    变量的小高级

    变量的小高级:从上往下走
    age1 = 18
    age2 = age1#=代表指向 
    age3 = age2
    age2 = 12
    print(age1,age2,age3)  # 18 12 18 出现这个情况是 age2改变了指向 age1 age3还指向原来的
    
    在看一个列题
    age1 = [1]
    age2 = age1#=代表指向 
    age3 = age2
    age2 = []
    print(age1,age2,age3)#[1] [] [1]
    

    常量

    # 常量    约定俗成不能改变 一般大写表示
    python中没有真正的常量,为了应和其他语言的口味,全部大写的变量称之为常量。
    将变量全部大写,放在文件的最上面。
    设置一些不变的量 :身份证号,id等
    BIRTH_OF_CHINA = 1949
    

    注释(重点

     文言文中对一些晦涩难懂的成语或者经典的出处 解释说明。便于你理解。
     便于你理解对方的代码,自己的代码。
     单行(单行)注释:  #    **注释的代码不执行**
     多行注释: '''被注释内容'''  """被注释内容"""#变成了字符串并没有引用
     难以理解的代码后面,加注释。
     函数,类,文件都需要注释,解释说明。 好理解
    

    初识int str bool

    int(整型):

    1 ,2, 123, ....
    + - * /   运算
    

    str(字符串)

    凡是用 引号 引起来的数据就称之为字符串。
    '', "", ''' ''',  """ """
    # 单双引号可以配合使用
    # 三引号:换行的字符串
    # str + str  *** 字符串的拼接 (都是字符串才可以)
    # str * int 字符串的相乘(字符串与数子)
    

    bool

    就是True False
    实列
    # print(2 > 1)
    # print(3 < 1)
    # print(True)
    # print('True')
    
    

    type 与isinstance

    type() 查看属于什么类  
    isinstance(b,str)是不是b是不是 str 实列化出来的对象
    
    

    input 与print 的注意事项

    python3 input 获取的都是字符串
    print()的几个参数
    # print(*objects, sep=' ', end='
    ', file=sys.stdout)
    # objects -- 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
    # sep -- 用来间隔多个对象,默认值是一个空格。
    # end -- 用来设定以什么结尾。默认值是换行符 
    ,我们可以换成其他字符串。
    # file -- 要写入的文件对象。*3/2)
    	 tab 建 
     换行
    
    
    

    流程控制语句

    基本结构:

    if 条件:   #判断
    缩进  结果   #条件成立后执行的(4个空格)
    # if{条件}{结果}
    
    
    

    单分支

    if 条件:
        满足条件后要执行的代码
    
    

    实列

    if 2 < 1:
        print(666)
    print(222)
    
    
    

    双分支

    if 条件:
        满足条件执行代码
    else:
        if条件不满足就走这段
    
    
    

    实列

    age = input('请输入年龄:')
    if int(age) > 18:
        print('恭喜你,成年了')
    else:
        print('小屁孩儿')
    
    
    

    多分支

    if 条件:
        满足条件执行代码
    elif 条件:
        上面的条件不满足就走这个
    elif 条件:
        上面的条件不满足就走这个
    else:
        上面所有的条件不满足就走这段
    
    
    

    实列

    num = int(input('猜点数:'))
    if num == 1:
        print('晚上请你吃饭')
    elif num == 3:
        print('一起溜达')
    elif num == 2:
        print('请你大宝剑')
    else:#以上都不符合条件
        print('太笨了....')
    print('组合')
    
    
    

    多选 纯if

    if 条件:
        满足条件执行代码
    if 条件:
        上面的条件不满足就走这个
    
    
    

    实列

    if 5>2:
        print(666)
    if 5>3:
        print(666)
    
    
    

    嵌套的if

    if 条件:
        if 条件:
            满足条件执行代码
    
    
    

    实列

    username = input('请输入用户名:')
    password = input('请输入密码:')
    code = 'qwer'
    your_code = input('请输入验证码:')
    
    if your_code == code:
        if username == 'taibai' and password == '123':
            print('登录成功')
        else:
            print('账号或者密码错误')
    else:
        print('验证码错误')
    
    
    

    在Python语言中,也有三元运算符。不过Python的三元运算符和java以及C#有所区别,语法格式为:
    表达式1 if 条件表达式 else 表达式2
    当表达式返回True时,返回结果表达式1,否则返回结果表达式2。示例:
    c = a if a < b else b

    for else

    结果
    for i in [1,2]:
        if i==2:
            break
        else:
            print(i)
    else:
        for i in range(6):
            print(i)
    结果      
    for i in [1,2]:
        if i==2:
            break
        else:
            print(i)
    for i in range(6):
    `print(i)
    
    
    

    while 循环

    while 条件:
        循环体
    
    

    循环终止

    改变条件 或者continue break
    
    

    改变条件

    flag = True
    while flag:
        print('狼的诱惑')
        print('我们不一样')
        print('月亮之上')
        flag = False
      print('庐州月')
        print('人间')
    
    

    continue break

    # while else: while 循环如果被break打断,则不执行else语句。
         count = 1
    while count < 5:
             print(count)
          if count == 2:
                 break
          count = count + 1
         else:
             print(666)
    
    

    你需要重复之前的动作,输入用户名密码,考虑到while循环。

    for循环 len() range () 学习

    len()#获取可迭代对象长度
    fro循环
    range #默认从0开始 可以步长 类似列表 顾头不顾尾
    
    

    range注意事项

    s = range(1,10)  # 面试大坑  python2 和 python3
    print(s)  # 范围 range(1, 10)
    
    

    格式化输出 3种

    当你遇到这样的需求:字符串中想让某些位置变成动态可传入的,首先要考虑到格式化输出。 
    只有小s 不可以大写
    %s 字符串 %d int整型   %%(转义)        字符串格式化 不能多 不能少且要一一对应
    name=input('>>>')  #第一种
    print('我的名字是%s'%(name))
    
    #第2种 {}括号
    name=input('>>>') 
    print(f'我的名字是{name}')
    f扩起来{}包占位的
    
    # 第三种字符串格式化 format
    # name = "alex{}wusir{}"
    # name1 = name.format('结婚了',"要结婚了")  # 按照位置顺序去填充的
    # name = "alex{1}wusir{0}"
    # name1 = name.format('结婚了',"要结婚了")    # 按照索引位置去填充
    # name = "alex{a}wusir{b}"
    # name1 = name.format(a="结婚了",b="马上结婚")  # 指名道姓 填充
    # print(name1)
    
    

    运算符 与and运算

    算数运算 +, - ,* ,/ ,%, **幂,//取整   %取余
    比较运算符 == , !=  , >  ,<  , >=  , <=
    赋值运算符 = ,+= ,-= ,*= ,/= ,**= ,%= ,//=
    逻辑运算符 and(与 -- 和) or (或) not (非 -- 不是)
    成员运算符 in 在   not in 不在
    身份运算 is是 is not 不是
    
    
    # 在没有()的情况下,优先级:not > and > or,同一优先级从左至右依次计算
    # and 运算 2都为真 and的后面***
    # and 运算 2都为假 and的前面
    # or 运算 2都为真 or的前面***
    # or 运算 2都为假 or的后面
    # and 运算 一真一假 取假
    # or 运算 一真一假 取 真
    
    
    一个等号代表的含义是赋值,将某一数值赋给某个变量,比如a=3,将3这个数值赋予给a。
    两个等号是判断是否相等,返回True或False,比如1==1。他们是相等的,那么就返回true。1==2,他们是不相等的,那么就返回false。
    is 判断id相同
    
    

    数据类型之间的转换

    # str ---> int  : 只能是纯数字组成的字符串
    s1 = '00100'
    print(int(s1))
    # int ----> str
    i1 = 100
    print(str(i1),type(str(i1)))
    
    # int  ---> bool  : 非零即True ,0为False。
    i = 0
    print(bool(i))
    # bool ---> int
    print(int(True))  # 1
    print(int(False))  # 0
    
    

    编码的初识

    计算机存储文件,存储数据,以及将一些数据信息通过网络发送出去,存储发送数据什么内容?底层都是01010101.

    密码本:01010110 二进制与 文字之间的对应关系。

    最早起的密码本:

    英文1 欧洲2 亚洲3

    ASCII码 只支持英文**   1字节
    gbk 英1中2
    Unicode  英2 中4
    Utf-8 英文1 欧洲2 亚洲3
    
    

    编码转化

    bit是字位,也就是计算机存储数据的“0”、“1”,每个“0”、“1”都是一个字位。Byte是字节,是文件存储的最小单位,一个字节由八个字位组成,前七位是文件的名称,最后一位是校验位。1Byte=8bit,1KB=1024Byte,1MB=1024KB,1GB=1024MB,1TB=1024GB。
    
    8bit = 1Byte****B
    1024byte = 1KB
    1024KB = 1MB
    1024MB = 1GB
    1024GB = 1TB
    
    
    1024TB = 1PB
    1024TB = 1EB
    1024EB = 1ZB
    1024ZB = 1YB
    1024YB = 1NB
    1024NB = 1DB    
    
    7.6MB  ----> 7.6 * 1024 * 1024 * 8
    
    
  • 相关阅读:
    supervisor使用小记
    linux新增定时脚本
    page_fault_in_nonpaged_area异常解决方案(已解决)
    和安卓对接老是ping不通?试试内网映射
    github文件下载加速器
    mybatis新增账号并且返回主键id
    arraylist源码解析
    MySQL安装教程
    通过get方法的方式获取配置项信息
    @Inject注解
  • 原文地址:https://www.cnblogs.com/saoqiang/p/12382258.html
Copyright © 2020-2023  润新知