zoukankan      html  css  js  c++  java
  • Python语法入门02

    引子

    上一篇我们主要了解到了python这门编程语言,今天来说一下关于用户交互,数据类型和运算符方面的学习内容

    用户交互

    什么是用户交互?

    用户交互就是人往计算机里输入数据(input),计算机输出结果(print)

    很简单一个例子,我们在pycharm中输入以下代码

    age = input("请输入年龄:")   #往计算机中输入数据
    print(type(age))      #让计算机输出age的数据类型

    这时,计算机就会接收用户输入,其实无论输入什么类型的数据,最终返回的一定是字符串(str)

     

     PS:python2中input一定要声明你输入的类型,python2中的raw_input与python3中的input一样

     格式化输出

    把一段字符串里面的某些内容替换掉之后再输出,就是格式化输出。

    如何格式化输出?

    1、占位符,如:%s、%d:

    # %s占位符:可以接收任意类型的值
    # %d占位符:只能接收数字,如果不是数字就会报错
    print('亲爱的%s你好!你报名的%s月课程已成功,学费是%d' % ('Tom', 10, 18000))

    输出结果为:

     2、format

    废话不多说,直接举例说明:

    # .fomat的用法
    name = 'Tom'
    age = '18'
    print("my name is {}, my age is {}".format(name, age))
    #也可以用下列方法
    print("my name is {name}, my age is {age}".format(name=name, age=age))

    输出结果都是

     3、f-string(这个只有是python3.6版本后才会有的)

    # f-string的用法
    name = 'Tom'
    age = '18'
    print(f" my name is {name}, my age is {age}")

     数据类型

    1、整型  int (可定义:电话,身份证号 ‘X除外’ ,年龄)

    PS:长整型long:只有python 2 中有长整型,long范围是-2147483647 到 2147483647,即为-2^31到2^31-1

    age = 18  # age=int(18)
    
    print(id(age))
    print(type(age))
    print(age)

    140718798304048
    <class 'int'>
    18

    2、浮点型  folt  (可定义体重,身高,薪资)

    salary = 2.1  # salary=float(2.1)
    print(id(salary))
    print(type(salary))
    print(salary)

    2035028452208
    <class 'float'>
    2.1

    3、字符串 str  (可定义爱好,个人简介)

    name1 = 'Tom'
    name2 = "Sam"
    print(id(name1))
    print(type(name1))
    print(name1)

    1398355144944
    <class 'str'>
    Tom

    PS:这里提一下

      python 2 中的str本质其实是一个拥有8个bit位的序列

      python 3 中的str本质其实是一个unicode序列

      字符串引号使用没有区别(单引,双引,三引号都可以),但是不能混用

      如果字符串中需要有引号,就必须使用嵌套

      字符串拼接就是开辟了一个新空间,存入数据

    4、列表  list  (存一个或多个不同类型的值)

      在[]内用逗号分隔开任意类型的值。

    hobby = 'read'
    hobby_list = [hobby, 'run', 'girl']
    print(id(hobby_list))
    print(type(hobby_list))
    print(hobby_list)

    2855587238472
    <class 'list'>
    ['read', 'run', 'girl']

    存不是目的,取才是目的,我们介绍列表索引取值的方法,牢记索引序号从0开始。

    hobby_list = ['read', 'run', 'girl']
    # 索引序号      0       1      2
    # 取出第二个爱好
    print(hobby_list[1])

    run

    hobby_list = ['read', 'run', ['girl_name', 18, 'shanghai']]
    # 取出girl的年龄
    print(hobby_list[2][1])

    18

    5、字典 dict

    作用

    用来存取多个值,按照key:value的方式存值,取的时候可以通过key而非索引去取值,key对value具有描述性的作用。存放数据的种类各种各样并且数据较多的时候可以使用字典。

    用法

    在{}内用逗号分隔开多个元素,每一个元素都是key: value的格式,其中value是任意格式的数据类型,key由于具有描述性的作用,所以key通常是字符串类型。

    # 字典套列表
    user_info = {'name': 'Tom', 'gender': 'male', 'age': 20,
                 'company_info': ['oldboy', 'shanghai', 50]}
    print(user_info['name'])
    print(user_info['company_info'][0])

    Tom
    oldboy

    # 字典套字典
    user_info = {'name': 'Tom', 'gender': 'male', 'age': 20, 'company_info': {
        'c_name': 'oldboy', 'c_addr': 'shanghai', 'c_num_of_employee': 50}}
    
    print(user_info['name'])
    print(user_info['company_info']['c_name'])

    Tom
    oldboy

    6、布尔类型  bool

    主要用于判断事物的对错,只有两个值:Ture和False ,一般布尔类型不会单独定义

    # 布尔类型
    a = 1
    b = 1
    print(a == b)    # == 比较的是value
    print(a is b)    # is 比较的的是id

    True
    True

    PS:值相等的情况下,id不一定相同

       id相同,之一定相同

    运算符

    算术运算符

    # 算术运算符
    print(1 + 2)    #
    print(1 - 2)    #
    print(1 * 2)    #
    print(1 / 2)    #
    print(10 // 3)  # 整除,只取整数
    print(10 % 3)   # 取模
    print(10**3)    # 次幂

    输出结果:

    3
    -1
    2
    0.5
    3
    1
    1000

     比较运算符

    # 比较运算符
    a = 10
    b = 20
    print(a == b)       # 判断相等
    print(a != b) # 判断不等于 print(a > b) # 判断大于 print(a >= b) # 判断大于等于 print(a < b) # 判断小于 print(a <= b) # 判断小于等于

    输出结果:

    False
    True
    False
    False
    True
    True

     赋值运算符

    age = 19
    age = age + 1
    print(age)

    20

    age = 19
    age += 1  #加等于
    print(age)

    20

    age = 19
    age *= 10  #乘等于
    print(age)

    190

     链式赋值

    # 链式赋值
    x = 1
    y = 1
    z = 1
    x = y = z
    print(x, y, z)

    1 1 1

    交叉赋值

    # 交叉赋值
    a = 1
    b = 2
    print(a, b)
    a, b = b, a
    print(a, b)

    1 2
    2 1

    解压赋值

    # 解压赋值
    l1 = [1, 2, 3, 4]
    l2 = [1, 2, 3, 4, 5, 6]
    a, b, c, d = l1
    print(a, b, c, d)           # 这时如果打印l2会报错
    # *_ 可以接受溢出的元素
    a, b, c, d, *_ = l2
    print(a, b, c, d, *_)
    print(*_, a, b, c, d)

    1 2 3 4
    1 2 3 4 5 6
    5 6 1 2 3 4

    逻辑运算符

    and:有一个返回False,整条式子都为False

    or:有一个返回Ture,整条式子都为Ture

    not:非真(取反)

    # 逻辑运算符
    print(10 < 20 and 20 > 30 and 30 < 40)      # 有一个返回False,整条式子都为False
    print(10 > 20 or 20 > 30 or 30 < 40)        # 有一个返回Ture,整条式子都为Ture

    False
    True

  • 相关阅读:
    启动窗体的程序控制与动画效果
    在线程中使用定时器
    从oracle9i/92数据库中导出数据至 oracle 8.1.7 数据库中
    收集:PowerDesigner常见问题解决与设置集锦
    [转]C# 2.0新特性与C# 3.5新特性
    COM服务器的创建过程
    [原创] 为什么需要TLS(Thread Local Storage)?
    COM+服务器的.Net组件实现 客户端
    如何在客户端避免繁冗的服务器GUID定义及导入?
    进程、线程、套间和环境
  • 原文地址:https://www.cnblogs.com/aheng/p/11782459.html
Copyright © 2011-2022 走看看