zoukankan      html  css  js  c++  java
  • python基础(数据类型,while,if)

    python基础初识。

     1,运行python代码。

    在d盘下创建一个t1.py文件内容是:

    print('hello world')

    打开windows命令行输入cmd,确定后 写入代码python d:t1.py 

    您已经运行了第一个python程序, 即:终端---->cmd-----> python  文件路径。 回车搞定~

    2,解释器。

    上一步中执行 python d:t1.py 时,明确的指出 t1.py 脚本由 python 解释器来执行。

    如果想要类似于执行shell脚本一样执行python脚本,例: ./t1.py ,那么就需要在 hello.py 文件的头部指定解释器,如下:

    1
    2
    3
    #!/usr/bin/env python
      
    print "hello,world"

    如此一来,执行: ./t1.py 即可。

    ps:执行前需给予t1.py 执行权限,chmod 755 t1.py

     3,注释。

    当行注释:# 被注释内容

    多行注释:'''被注释内容''',或者"""被注释内容"""

    4,变量

    变量是什么?  变量:把程序运行的中间结果临时的存在内存里,以便后续的代码调用。

    变量的命名规则:

      1,变量只能由字母、数字、下划线组成

      2,数字不能开头,也不能全是数字

      3,不能是python的关键字,比如while,if,break

      4,不能用中文,不能太长,名字要有意义

    驼峰体:

    AgeOfOldboy = 56
    
    NumberOfStudents = 80

    下划线:

    age_of_oldboy = 56
    
    number_of_students = 80

    5,常量

    常量即指不变的量,如π= 3.141592653..., 或在程序运行过程中不会改变的量

    举例,假如老男孩老师的年龄会变,那这就是个变量,但在一些情况下,他的年龄不会变了,那就是常量。在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量

    AGE_OF_OLDBOY = 56

    6,基本数据类型

    什么是数据类型?

      我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘汉’的区别的,因此,在每个编程语言里都会有一个叫数据类型的东东,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运算,你就传数字给它,你想让他处理文字,就传字符串类型给他。Python中常用的数据类型有多种,今天我们暂只讲3种, 数字、字符串、布尔类型

    6.1、整数类型(int)

             type()查看数据类型

    在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647

    在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

    6.2、字符串类型(str)。

    在Python中,加了引号的字符都被认为是字符串!

    复制代码
    >>> name = "Alex Li" #双引号
    >>> age = "22"       #只要加引号就是字符串
    >>> age2 = 22          #int
    >>> 
    >>> msg = '''My name is Alex, I am 22 years old!'''  #我擦,3个引号也可以
    >>> 
    >>> hometown = 'ShanDong'   #单引号也可以
    复制代码

    那单引号、双引号、多引号有什么区别呢? 让我大声告诉你,单双引号木有任何区别,只有下面这种情况 你需要考虑单双的配合

    msg = "My name is Alex , I'm 22 years old!"
    

    多引号什么作用呢?作用就是多行字符串必须用多引号

    复制代码
    msg = '''
    今天我想写首小诗,
    歌颂我的同桌,
    你看他那乌黑的短发,
    好像一只炸毛鸡。
    '''
    print(msg)
    复制代码

    字符串拼接

    数字可以进行加减乘除等运算,字符串呢?让我大声告诉你,也能?what ?是的,但只能进行"相加"和"相乘"运算。

    复制代码
    >>> name
    'Alex Li'
    >>> age
    '22'
    >>> 
    >>> name + age  #相加其实就是简单拼接
    'Alex Li22'
    >>> 
    >>> name * 10 #相乘其实就是复制自己多少次,再拼接在一起
    'Alex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex Li'
    复制代码

    注意,字符串的拼接只能是双方都是字符串,不能跟数字或其它类型拼接

    复制代码
    >>> type(name),type(age2)
    (<type 'str'>, <type 'int'>)
    >>> 
    >>> name
    'Alex Li'
    >>> age2
    22
    >>> name + age2
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: cannot concatenate 'str' and 'int' objects #错误提示数字 和 字符 不能拼接
    复制代码

    6.3、布尔值(True,False)。

    布尔类型很简单,就两个值 ,一个True(真),一个False(假), 主要用记逻辑判断

    但其实你们并不明白对么? let me explain, 我现在有2个值 , a=3, b=5 , 我说a>b你说成立么? 我们当然知道不成立,但问题是计算机怎么去描述这成不成立呢?或者说a< b是成立,计算机怎么描述这是成立呢?

    没错,答案就是,用布尔类型

    复制代码
    >>> a=3
    >>> b=5
    >>> 
    >>> a > b #不成立就是False,即假
    False
    >>> 
    >>> a < b #成立就是True, 即真
    True
    复制代码

     7,程序交互

    复制代码
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
      
    # 将用户输入的内容赋值给 name 变量
    name = input("请输入用户名:")
      
    # 打印输入的内容
    print(name)
    复制代码

    执行脚本就会发现,程序会等待你输入姓名后再往下继续走。

    可以让用户输入多个信息,如下

    复制代码
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    name = input("What is your name?")
    age = input("How old are you?")
    hometown = input("Where is your hometown?")
    
    print("Hello ",name , "your are ", age , "years old, you came from",hometown)
    复制代码

    8,流程控制之--if。

      假如把写程序比做走路,那我们到现在为止,一直走的都是直路,还没遇到过分叉口,想象现实中,你遇到了分叉口,然后你决定往哪拐必然是有所动机的。你要判断那条岔路是你真正要走的路,如果我们想让程序也能处理这样的判断怎么办? 很简单,只需要在程序里预设一些条件判断语句,满足哪个条件,就走哪条岔路。这个过程就叫流程控制。

    if...else 语句

    单分支

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

    双分支

    复制代码
    """
    if 条件:
        满足条件执行代码
    else:
        if条件不满足就走这段
    """
    AgeOfOldboy = 48
    
    if AgeOfOldboy > 50 :
        print("Too old, time to retire..")
    else:
        print("还能折腾几年!")
    复制代码

    缩进

    Python的缩进有以下几个原则:

    • 顶级代码必须顶行写,即如果一行代码本身不依赖于任何条件,那它必须不能进行任何缩进
    • 同一级别的代码,缩进必须一致
    • 官方建议缩进用4个空格,当然你也可以用2个,如果你想被人笑话的话。

    多分支

    回到流程控制上来,if...else ...可以有多个分支条件

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

    写个猜年龄的游戏吧

    复制代码
    age_of_oldboy = 48
    
    guess = int(input(">>:"))
    
    if guess > age_of_oldboy :
        print("猜的太大了,往小里试试...")
    
    elif guess < age_of_oldboy :
        print("猜的太小了,往大里试试...")
    
    else:
        print("恭喜你,猜对了...")
    复制代码

    上面的例子,根据你输入的值不同,会最多得到3种不同的结果

    再来个匹配成绩的小程序吧,成绩有ABCDE5个等级,与分数的对应关系如下

    A    90-100
    B    80-89
    C    60-79
    D    40-59
    E    0-39
    

    要求用户输入0-100的数字后,你能正确打印他的对应成绩

    复制代码
    score = int(input("输入分数:"))
    
    if score > 100:
        print("我擦,最高分才100...")
    elif score >= 90:
        print("A")
    elif score >= 80:
        print("B")
    elif score >= 60:
        print("C")
    elif score >= 40:
        print("D")
    else:
        print("太笨了...E")
    复制代码

    这里有个问题,就是当我输入95的时候 ,它打印的结果是A,但是95 明明也大于第二个条件elif score >=80:呀, 为什么不打印B呢?这是因为代码是从上到下依次判断,只要满足一个,就不会再往下走啦,这一点一定要清楚呀!

    9,流程控制之--while循环。

    9.1,基本循环

     
    while 条件:
         
        # 循环体
     
        # 如果条件为真,那么循环体则执行
        # 如果条件为假,那么循环体不执行

    9.2,循环中止语句 

    如果在循环的过程中,因为某些原因,你不想继续循环了,怎么把它中止掉呢?这就用到break 或 continue 语句

    • break用于完全结束一个循环,跳出循环体执行循环后面的语句
    • continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环

    例子:break

    复制代码
    count = 0
    while count <= 100 : #只要count<=100就不断执行下面的代码
        print("loop ", count)
        if count == 5:
            break
        count +=1 #每执行一次,就把count+1,要不然就变成死循环啦,因为count一直是0
    
    print("-----out of while loop ------")
    复制代码

    输出

    复制代码
    loop  0
    loop  1
    loop  2
    loop  3
    loop  4
    loop  5
    -----out of while loop ------
    复制代码

    例子:continue

    复制代码
    count = 0
    while count <= 100 : 
        count += 1
        if count > 5 and count < 95: #只要count在6-94之间,就不走下面的print语句,直接进入下一次loop
            continue 
        print("loop ", count)
    
    print("-----out of while loop ------")
    复制代码

    输出

    复制代码
    loop  1
    loop  2
    loop  3
    loop  4
    loop  5
    loop  95
    loop  96
    loop  97
    loop  98
    loop  99
    loop  100
    loop  101
    -----out of while loop ------
    复制代码

    9.3,while ... else ..

    与其它语言else 一般只与if 搭配不同,在Python 中还有个while ...else 语句

    while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句

    复制代码
    count = 0
    while count <= 5 :
        count += 1
        print("Loop",count)
    
    else:
        print("循环正常执行完啦")
    print("-----out of while loop ------")
    复制代码

    输出

    复制代码
    Loop 1
    Loop 2
    Loop 3
    Loop 4
    Loop 5
    Loop 6
    循环正常执行完啦
    -----out of while loop ------
    复制代码

    如果执行过程中被break啦,就不会执行else的语句啦

    复制代码
    count = 0
    while count <= 5 :
        count += 1
        if count == 3:break
        print("Loop",count)
    
    else:
        print("循环正常执行完啦")
    print("-----out of while loop ------")
    复制代码

    输出

    Loop 1
    Loop 2
    -----out of while loop ------
     
  • 相关阅读:
    监控里的主码流和子码流是什么意思
    监控硬盘容量计算
    一个能让你了解所有函数调用顺序的Android库
    电工选线
    oracle linux dtrace
    list all of the Oracle 12c hidden undocumented parameters
    Oracle Extended Tracing
    window 驱动开发
    win7 x64 dtrace
    How to Use Dtrace Tracing Ruby Executing
  • 原文地址:https://www.cnblogs.com/molieren/p/9113345.html
Copyright © 2011-2022 走看看