• python基础(一)


    python安装

    1.下载

    image

    image

    2. 安装,记得添加环境变量,之后就是下一步下一步

    image

    运行第一个python代码

    image

    变量/常量/注释

    1.变量名只能是字母/数字或者下划线

    2.变量名的第一个字符不能是数字

    3.变量名不能是关键字

    4.变量的定义要具有可描述性    name    sex

    5.不能使用中文

    6.不能过长

    推荐:驼峰体 ,

    >>> x = 1+2+3+4+5
    >>> x
    15
    >>> y = x*3/2
    >>> y
    22.5
    >>> z = (y+100) /24
    >>> z
    5.104166666666667
    >>>

    变量练习

    x8 = 100            # True
    b_ = 12             # True
    4g = 32             # False    # 不能数字开头
    _  =  11            # True
    *r = 12             # False    # 不是数字、字符、下划线
    r3t4 = 10           # True
    t_  = 66            # True
    

    变量的小高级

    age1 = 18
    age2 = age1
    age3 = age2
    age2 = 12
    print(age1,age2,age3)

    image

    变量只能指向数据,不能指向变量

    答案:  18     12     18


    常量

    生活中一直不变的:改变 , Π,性别,身份证号码,历史发生的事

    常量:一直不变的量,python中没有真正的常量,为了迎合其他语言的口味,全部大写的变量称为常量。

    用法:将常量全部大写,放在文件的最上面

    设置一些不变的量:身份证号码,id


    注释

    why: 文言文中对一些晦涩难懂的成语或者经典的出处  解释说明。便于你理解

    how:

    单行注释:  #

    多行注释:   ”””   代码块  ”””

    where:

    难以理解的代码后面,加注释。

    函数,类,文件都需要注释

    基础数据类型初识

    why:

    人类接触一些信息会做出一些比较精准的划分。数字,汉文,英文…


    我们告诉计算机:
           	100,102,就是数字(int), + – * / …
     	'中国','hello','沙维杜卡'文字,: 记录信息,描述信息等
    	[1,2,3,'中国']列表,他能做他相应的一些操作即可
    	... python 的基础数据类型。
    


    数字 int (整型): 1 , 3, 5 , …

    取值范围:

                32位机器:-2**31 ~ 2**31-1  

                 64为机器:-2**63 ~ 2**63-1

    i = 100
    i1 = 2
    i2 = i * i1
    print(i2)

    答案:    200
    


    字符串 str:凡是用引号引起来的数据称为字符串

    '',"",""" """"
    字符串拼接(字符串相加)

    字符串与数字相乘


    布尔值  bool   :True    False

    type用法


    input

    username = input('请输入用户名:')
    password = input('请输入密码:')
    print(username)
    print(password)



    流程控制语句

    if语句

    1.单独if 

    if  条件:
        代码块

    2.  if  else  (二选一)

    if  满足条件:
        代码块
    else:
        代码块

    3. if   elif    else (多选)

    if 条件1:
        代码块
    elif 条件2:
        代码块
    else:
        代码块

    4. 嵌套的if

    code = "password"
    input_code = input('请输入验证码:')
    username = input("请输入用户名:")
    password = input("请输入密码:")
    if code = input_code:
        if username = "alex" and "password" = "sb":
            print("登录成功")
        else:
            print("用户名和密码不正确!!!")
    else:
        print("验证码错误")


    while循环

    why:大气循环,吃饭,上课,睡觉,日复一日,歌曲列表循环,程序中:ATM机

    1、结构

    while 条件:
        循环体

    2、while 无限循环

    while True:
        print("第一行")
        print("第二行")
        print("第三行")
        print("第四行")

    3、while 循环的基本原理

    image

    4、结束条件

           4.1:改变条件

    flag = True
    while flag:
        print("第一行")
        print("第二行")
        print("第三行")
        flag = False
        print("第四行")

    答案:
        第一行
        第二行
        第三行
        第四行
    

           4.2:break

    while flag:
        print("第一行")
        print("第二行")
        print("第三行")
        break
        print("第四行")
    
    
    答案:
        第一行
        第二行
        第三行

    练习题:

    while  else
    
    
    
    count = 1
    while count < 4:
    num = int(input("请输入一个数字:"))
    if num < 66:
    print("你猜的数字太小了")
    elif num > 66:
    print("你猜的数字太大了")
    else:
    print("恭喜你,猜对了")
    break
    count += 1
    else:
    print("你真笨")



    flag = True
    num = 1
    while flag:
         if num>100:
             break
         print(num)
         num += 1
    
    方法一:
    num = 1
    while num < 101:
        print(num)
        num += 1
    
    方法二:
    flag = True
    num = 1
    while flag:
        print(num)
        if num>99:
            flag = False
        num += 1
    
    方法三:
    flag = True
    num = 1
    while flag:
        if num>100:
            break
        print(nu
    num = 1
    while num < 101:
        print(num)
        num += 1
    打印1-100的所有数字

    for循环

    # 第一中用法:
    s = "这是一个天大的理想"
    #  把s的每个字符一个一个打印出来
    for i in s:
        print(i)
    
    答案:
    这
    是
    一
    个
    天
    大
    的
    理
    想

    # 第二种用法:  嵌套if
    s = "这是一个天大的理想"
    for i in s:
    print(i)
    if i == "天":
    break
    答案:






    # 第三种用法:  for else
    s = "这是一个天大的理想"

    for i in s:
    print(i)
    else:
    print("吗?")
    答案:










    吗?


    运算符

    1、算数运算符

    +  –  *  /   %    **    //

    2、赋值运算符

    =    +=   -=     *=   /=    **=   …

    3、逻辑运算符

    and    or      no

    优先级: 在没有()的情况下,no>and>or,同一优先级从左到右依次计算

    情况1:两边都是比较运算

    print(2>1 and 3<4 or 4>5 and 2<1)
    
    print(True or False)

    答案: True
    

    情况2:两边都是整数( x or y , x为真,返回x,x为假,值为y)   注意:非零即True

    print(1 or 2)
    print(3 or 2)
    print(4 or 2)
    print(-1 or 2)
    print(0 or 2)
    答案:
    

    1
    3
    4
    -1
    2


    情况3:思考题

    print(1>2 and 3 or 6)         答案:6

    4、成员运算符

    not in 和 in

    s = "这是一个天大的理想"
    print("" in s)                   # True
    print("江湖" in s)                 # False
    print("这是" in s)                 # True
    print("这一"   in s)               # False
    print("江湖" not in s)             # True
    


    5、据类型转换

    # str ---> int :字符串转数字
    
    a = "0100"
    a_num = int(a)
    print(a_num)
    
    答案:100
    
    # int  -----> str
    
    a = 200
    a_str = str(a)
    print(a_str,type(a_str))
    
    答案:200 <class 'str'>
    
    # int ---->bool
    
    a = 100
    a_bool = bool(a)
    print(a_bool)
    
    答案:True
    
    # bool --->int
    
    a = True
    a_num = int(a)
    print(a_num)
    
    答案:1

    # str ---> bool    # 非空就为真
    ""     False
    " "     True
    "daf"     True

    所有数据都可以转化成bool值
    转化成bool值为False的数据类型有:
    '', 0, (), {}, [], set(), None
    其他都为True

    # str --- > list
    # a = 'abcdse'
    # l1 = list(a)
    # print(l1) # ['a', 'b', 'c', 'd', 's', 'e']

    # list -----> str
    # l2 = [1,3,7]
    # s2 = str(l2)
    # print(s2,type(s2)) # [1, 3, 7] <class 'str'>

    # l2 = [1,3,7,'zlex',[11,22]]
    # s3 = ''
    # for i in l2:
    # s3 += str(i)
    # print(s3) # 137zlex[11, 22]

    # str -- >  set
    # l2 = [1,3,7,3,8,3,'zlex']
    # set1 = set(l2) # set直接转l2,必须保证l2里面元素都是不可变数据类型,否则会报错
    # print(set1) # {1, 3, 7, 8, 'zlex'}

    # set ---> list
    set1 = {1,2,3}
    l1 = list(set1)
    print(l1) # [1, 2, 3]


    # str ---> bytes
    s1 = '中国梦'
    print(s1.encode('utf-8')) # b'xe4xb8xadxe5x9bxbdxe6xa2xa6'

    # bytes ----> str
    b = b'xe4xb8xadxe5x9bxbdxe6xa2xa6'
    print(b.decode('utf-8')) # 中国梦

    字符串格式

    例如:

    name = input("请输入用户名:")
    age = input("请输入年龄:")
    
    msg = '''
        --------  %s的自我介绍 ------------
        大家好,我的名字叫%s,今年%s岁,很高兴认识大家
        --------   end  --------------------
    '''%(name,name,age)
    print(msg)
    
    
    
    答案:

    请输入用户名:alex
    请输入年龄:18

        --------  alex的自我介绍 ------------
         大家好,我的名字叫alex,今年18岁,很高兴认识大家
         --------   end  --------------------

    编码

    ASCLL码:字母、数字、特殊字符

    GBK:   字母、数字、特殊字符和中文,字母、数字、特殊字符占1个字节,一个中文占2个字节

    unicode: 万国码,现在的万国码一个字母也是4个字节,一个中文也是4个字节,太浪费

    utf-8:  字母、数字、特殊字符和中文,字母、数字、特殊字符占1个字节,一个中文占3字节,欧洲文字2个字节

    '中国138eh'    gbk           9个字节
    '中国138eh'    utf-8         11个字节

    单位转换

    8bit = 1byte
    1024byte = 1KB
    1024KB = 1MB
    1024MB = 1GB
    1024GB = 1TB
    1024TB = 1PB
    1024TB = 1EB
    1024EB = 1ZB
    1024ZB = 1YB
    1024YB = 1NB
    1024NB = 1DB  

    20MB   --->     (83886080)bit

    1、所有的编码(除去Unicode)之间不能互相识别

    2、数据在内存中全部是以Unicode编码的,但是当你的数据用于网络传输或者存储到硬盘中,必须是以非Unicode编码(utf-8,gbk等)

    bytes存在的原因:在计算机内存中,统一使用Unicode编码,当需要将数据保存到硬盘或者需要网络传输的时候,就转换为非Unicode编码比如:UTF-8编码。

    bytes是一种数据类型,是python的基础数据类型,在内存中所有的数据必须是Unicode编码存在,除去bytes.

    image

    str和bytes数据类型的区别

    区别 str bytes
    称呼 文字文本 字节文本
    表示‘’ “” ..b’’  b”””..
    编码Unicode非Unicode


    image


    # str ---> bytes
    # s1 = '中国梦'
    # print(s1.encode('utf-8'))       # b'xe4xb8xadxe5x9bxbdxe6xa2xa6'
    #
    # # bytes ----> str
    # b = b'xe4xb8xadxe5x9bxbdxe6xa2xa6'
    # print(b.decode('utf-8'))        # 中国梦

    bytes:

    编码转换:

    英文:
    str ”hello”
       内存中的编码:Unicode
       表现形式:’hello’
    bytes:
       内存的编码:非Unicode
       表现形式:b’hello’
    中文:
    str ”中”
       内存中的编码:Unicode
       表现形式:”中”
    bytes:
       内存中的编码方式:非Unicode   # utf-8
       表现形式:b'xe4xb8xad'


    # gbk的编码转换成成utf8
    b1 = b'xd6xd0xb9xfaxd0xc4'
    s1 = b1.decode('gbk')
    print(s1)          # 中国心
    
    b2 = s1.encode('utf-8')
    print(b2)          # b'xe4xb8xadxe5x9bxbdxe5xbfx83'


    练习题




    # 看代码写结果
    # v1 = [1,2,3,4,5]
    # v2 = [v1,v1,v1]
    # v1.append(6)
    # print(v1) # [1,2,3,4,5,6]
    # print(v2) # [[1,2,3,4,5,6],[1,2,3,4,5,6],[1,2,3,4,5,6]]


    # 看代码写结果
    # import copy
    # v1 = 'alex'
    # v2 = copy.copy(v1)
    # v3 = copy.deepcopy(v1)
    # print(v1 is v2) # True
    # print(v1 is v3) # True

    # 看代码写结果
    import copy
    v1 = [1,2,3,4,[11,22]]
    v2 = copy.copy(v1)
    v3 = copy.deepcopy(v1)

    print(v1[-1] is v2[-1]) #True
    print(v1[-1] is v3[-1]) # False
    print(v2[-1] is v3[-1]) # False

    车牌区域划分,现给以下车牌的信息,分析出各省的车牌持有量?
    cars = ['鲁A32444','鲁B12333','京B8989M','黑C49678','黑C46555','沪B25041']
    locals = {'沪':'上海','黑':"黑龙江","":"山东",'鄂':'湖北','湘':'湖南','京':'北京'}
    # 结果:{'黑龙江':2,'山东':1,'北京':1}
    ret = {}
    for car in cars:
        if car[0] in locals.keys():
            if car[0] not in ret.keys():
                ret[car[0]] = 1
            else:
                ret[car[0]] += 1
    print(ret)                        # {'鲁': 2, '京': 1, '黑': 2, '沪': 1}
    ret1 = {}
    for key,val in ret.items():
        ret1[locals[key]] = val
    print(ret1)              # {'山东': 2, '北京': 1, '黑龙江': 2, '上海': 1}



    -------------- end --------------

    对于一个有思想的人来说,没有地方是荒凉而遥远的
  • 相关阅读:
    java编程思想 第三章
    linux安装beego框架环境
    Windows安装beego框架环境
    js 版本号比较实现
    vue element el-table 数据渲染报错 Invalid prop: type check failed for prop "data". Expected Array, got Object
    error c:/wamp64 or php in path
    第三章 函数
    第二章 有意义的命名
    curl实现多路并发请求(请求数量大时再次分割实现循环处理)
    js中常用方法集合
  • 原文地址:https://www.cnblogs.com/quanag/p/12594271.html
Copyright © 2020-2023  润新知