• 一个初学者的辛酸路程-了解Python-2


    前言

    blog花了一上午写的,结果笔记本关机了,没有保存,找不到了,找不到了啊,所以说,你看的每一篇blog可能都是我写了2次以上的…….哎!!

    代码改变世界,继续.........

    Python基础

    一、Python的数据类型

    1、int(整型)

    在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647,而.在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

    2、long(长整型)

    为什么会有这个概念呢?

    因为在Python2.2起,如果放置在内存里的数特别大发生溢出,Python就会自动将整型数据转换为长整型,但是现在,在Python3里就不存在长整型这么一说了,同意都是整型。

    3、float(浮点型)

    简单理解就是带有小数的数字

    4、complex(复数)

    复数是由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y呢是复数的虚数部分,这里的x和y都是实数。

    5、布尔值(0或1)

    就是真和假。

    6、查看数据类型(type)

     1 >>> type(1) 
     2 <class 'int'> 
     3 >>> type(1.2) 
     4 <class 'float'> 
     5 >>> type(jixuege) 
     6 Traceback (most recent call last): 
     7   File "<stdin>", line 1, in <module> 
     8 NameError: name 'jixuege' is not defined
     9 
    10 上面报错原因就是没有用双引号引起来,他就不是字符串,而是认为是一个变量。 
    11 >>> type("jixuege") 
    12 <class 'str'>

     

    二、for和while循环

    这里呢就需要涉及到break和continue的区别了。

    如何理解呢?

    break: 只能跳出当前循环,当前这一套循环就结束了。

    continue: 跳出当次循环,然后呢还会去继续下一次别的循环。

    举个栗子:

     1 #!/usr/bin/env python
     2 # -*- coding: utf-8 -*-
     3 #Author: Leon xie
     4 
     5 
     6 for n in range(4):
     7     print(n)
     8     for j in range(3):
     9         if  j <2:
    10         #如果j小于2就跳出当次循环,继续一下次循环
    11             continue
    12         print(n,j)
    打印结果如下:
    0
    0 2
    1
    1 2
    2
    2 2
    3
    3 2

    说明:

    在第二次的if判断中,我执行条件,如果j小于2就跳出当次循环,继续一下次循环

    下面我们就看看break的使用

    同样的代码,咋们接着看

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    #Author: Leon xie
    
    
    for n in range(4):
        print(n)
        break
        for j in range(3):
            if  j <2:
            #如果j小于2就跳出当次循环,继续一下次循环
                continue
            print(n,j)
    打印结果如下:

    0

    小结:
    个人来说明一下,二者的区别,continue呢用于我有很多次循环,然后呢,我不希望哪次循环执行下面的动作,就可以了使用continue ,而break呢就是我这次循环了以后我想跳出去不在循环,或者呢就是我写了一段代码,我想跳出去看看代码是否能执行,就可以用break呢。
     

    三、Python的数据类型

     
    1、整型int
    可以直接理解为整数
    在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647,在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
     
    2、浮点型float
    可以直接理解为带小数的数字。
     
    3、复数complex

    复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。

    4、布尔值(0或1)

    表示真或者假

    5、查看数据类型

    使用type即可。

    >>> type("xiedi")
    <class 'str'>
    >>> type("2")
    <class 'str'>
    >>> type(2.2)
    <class 'float'>
    >>> type(2)
    <class 'int'>
    >>>

    这里有个地方需要注意,就是数字不需要加引号,如果加了就是字符串。

    四、Python字符串基本操作

    1、判断是不是合法的标识符isidentifier

    name="ABC"
    print(name.isidentifier())
    打印结果
    True
    2、首字母大写capitalize
    name= 'abc'
    print(name.capitalize())
    打印结果
    Abc
    
    
    3、计数count
    name= 'abc'
    print(name.count("a"))
    打印结果
    1
    
    
    4、位于中心,用-来补充center
    name= 'abc'
    print(name.center(50,"-"))
    打印结果
    -----------------------abc------------------------
    
    
    5、判断是否以c结尾endswith
    name= 'abc'
    print(name.endswith("c"))
    打印结果
    True
    
    
    6、把回车换成空格expandtabs
    name = "a	bc"
    print(name.expandtabs(tabsize=10))
    打印结果
    a         bc
    
    
    7、查看某字符下标find
    name= 'abc'
    print(name.find('c'))
    打印结果
    2
    
    
    8、将字符小写lower
    print("XIEDI".lower())
    打印结果
    xiedi
    
    
    9、将字符大写upper
    print("xiedi".upper())
    XIEDI
     

     

    五、Python列表基本操作

    记住一句话,叫做顾首不顾尾

    首先我们来定义一个列表

    name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]

    接下来,我们就对这个列表来进行一系列的操作

    1、切片

    取值,取第一个和第二个

    print(name[0],name[1])
    打印结果
    jixuege dajiba

    说明:

    上面的0和1指的是小标,从左到右顺序就是从0开始一直到4

    打印一个区间

    name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]
    
    print(name[:2])
    打印结果
    ['jixuege', 'dajiba']
    
    
    打印最后一个
    name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]
    print(name[-1])
    打印结果
    youtianai
    
    
    2、追加
    比如说我想追加一个人进去
    name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]
    name.append("xiha")
    print(name)
    打印结果
    
    ['jixuege', 'xitong', 'dajiba', 'youhua', 'boduoye', 'cangjinkong', 'youtianai', 'xiha']

    这个会追加到末尾

    还有一种就是插入insert

    name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]
    
    name.insert(2,"youhua")
    print(name)
    打印结果
    ['jixuege', 'dajiba', 'youhua', 'boduoye', 'cangjinkong', 'youtianai']
     

    3、修改

    直接修改即可

    name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]
    name[2]="wuming"
    print(name)
    打印结果
    ['jixuege', 'dajiba', 'wuming', 'cangjinkong', 'youtianai']

    4、删除

    直接清空

    name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]
    name.clear()
    print(name)
    打印结果
    []
     
    删除指定元素
    name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]
    name.remove("jixuege")
    print(name)
    打印结果
    
    ['dajiba', 'boduoye', 'cangjinkong', 'youtianai']

    删除指定下标

    name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]
    del name[2]
    print(name)
    打印结果
    ['jixuege', 'dajiba', 'cangjinkong', 'youtianai']
    
    
    不指定下标删除最后一个
    name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]
    name.pop()
    print(name)
    打印结果
    ['jixuege', 'dajiba', 'boduoye', 'cangjinkong']
    
    
    指定下标
    name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]
    name.pop(1)
    print(name)
    打印结果
    ['jixuege', 'boduoye', 'cangjinkong', 'youtianai']

    六、蛋疼的购物车程序练习

    要求:

    1、用户输入工资,打印出商品的列表

    2、用户根据编号来进行购买商品

    3、用户选择商品之后,先检测额度是否够用,直接扣款和温馨提示余额不足

    4、可以随时退出,退出并打印出已购商品列表和余额。

     1 #!/usr/bin/env python
     2 # -*- coding: utf-8 -*-
     3 #Author: Leon xie
     4 
     5 product_list = [
     6         ["Iphone",5800],
     7         ["MAC PRO",16800],
     8         ["Bike",800],
     9         ["Coffee",30],
    10 ]
    11 
    12 shopping_list = []
    13 
    14 salary = input("请输入你的工资:")
    15 #判断是否为数字
    16 if salary.isdigit():
    17     salary = int(salary)
    18     while True:
    19         for index,item in enumerate(product_list):
    20             #打出菜单
    21             print(index,item[0],item[1])
    22 
    23         choice = input("请选择要购买的商品编号[quit]>>:")
    24         if choice.isdigit():
    25             choice = int(choice)
    26             if choice >=0 and choice < len(product_list):
    27                 #判断钱是否够用
    28                 p = product_list[choice]
    29 
    30                 if p[1] <= salary:
    31                     shopping_list.append(p)
    32                     salary -= p[1]
    33                     print("Added 33[32;1m[%s]33[0m into your shopping cart,and your current balance is 33[1;31;40m%s33[0m"%(p,salary))
    34                 else:
    35                     print("钱不够,你只有 33[5;31;42m[%s] 33[0m "% salary)
    36             else:
    37                 print("没有此商品...")
    38 
    39         elif choice == "quit":
    40             print("已购买的商品".center(50,"-"))
    41             for i in shopping_list:
    42                 print(i)
    43             print("Your left balance is ",salary)
    44             exit()
    45         else:
    46             print("未识别,请输入正确的指令!!")
    View Code

    购物车效果如下所示:

  • 相关阅读:
    Docker大会的新福利:LinuxKit 和 Moby 开源项目
    NS3
    (OK) NS3
    MPTCP
    Utilizing multi-core processors in NS-2
    (OK) Fedora 24
    error compiling gcc: undefined reference to libc_name_p
    gccxml
    NS3
    NS3
  • 原文地址:https://www.cnblogs.com/jixuege-1/p/5977865.html
Copyright © 2020-2023  润新知