Python基础入门:变量、数据类型与格式化输出详解

一、变量

1.1变量的概念

一句话: 存储数据的容器

① 变量是存储数据的容器

② 变量存储的数据是临时的。

③ 变量在程序运行过程中是可以发生改变的量。

举个生活中的例子,我们喝水是不是需要装水的水杯。水杯就好比存储数据的容器,而水就好比是变量。水杯是否不止可以装水,还可以装可乐、牛奶、橙汁等,就引证变量存储数据是临时的,是可以发生改变的。

用代码的角度看:

age = 18
print(age)
print(18)

不是读age=18,而是叫做18这个值,赋值给age这个变量,age叫做变量名字,即把值存放到age这个容器里面。

1.2定义变量

基本语法:

变量名称
=
变量的值

注:Python 使用等号=作为赋值运算符。

1.3命名规则

python里面变量名字不可以乱取,需要做到见名知意。

具体要求:

  • 由数字、字母、下划线组成。
  • 不能数字开头。
  • 不能使用内置关键字,严格区分大小写。
  • 什么叫做内置关键字?

    就是被python已经定义好的单词,不能用来做变量名字。

    可以help来查看Python的关键字英文发明用英文写的。

    help("keywords")

    正确命名例如:

    name = "Alice"
    age = 25
    user_name = "bob123"
    age1 = 25
    user_1 = "Alice"
    user_2 = "Bob"
    # 区分大小写
    age = 25
    Age = 30 # age 和 Age 是两个不同的变量。

    典型错误示范:

    first name = "Alice" # 包含空格

    2age = 25 # 以数字开头

    if = 10 # 不能使用内置关键字if

    for = "loop" # 不能使用内置关键字for

    注:命名尽量使用英文,不推荐使用中文,如果单词实在不会的话,可以使用翻译软件搜一搜,实在不行再用拼音。

    命名法拓展(听故事):

    1. 小驼峰命名法(Lower Camel Case

    规则:第一个单词 小写,后续每个单词首字母 大写,其余字母小写。

    适用场景:

  • 变量名(variableName)
  • 函数名(calculateSum)
  • 对象属性(userAge)
  • 例子:

    # 变量名
    userName = "Alice"
    totalScore = 100
    
    # 函数名
    calculateTotal()
    getUserInfo()

    2. 大驼峰命名法(Upper Camel Case / PascalCase

    规则每个单词首字母大写,其余字母小写(包括第一个单词)。

    适用场景:

  • 类名(ClassName)
  • 例子:

    # 类名
    class UserProfile:
        pass

    1.4变量在内存中如何变化?

    本小节仅了解即可,不懂也没关系,后面会详讲。

    当执行代码时:

    a = 10
    print(a)

    实际上在内存中:

    1. 在内存中创建一个数字10。

    2. 在内存中创建一个名为 a的变量,并把它指向 10 的位置 (内存地址)。

    注:1个变量只能指向1个内存地址。

    二、数据类型 *

    Python里为了应对不同的业务需求,也把数据分为不同的类型。

    问题:如何判断一个变量到底是什么类型?

    答: 使用type(变量名称)方法,返回变量的数据类型。print 一下出现诸如: <class 'xxx'>

    2.1整型 int

    整数(int关键字):0-9数字组成比如:12,13,89,100等。

    通常可以用来记录年龄,出生年份,学生人数等整数相关动态。

    例子:

    age = 18 # 定义一个变量age,给他一个值为18,整数
    int
    print(type(age)) # 查看变量的类型并打印

    注:数字不需要加引号 。

    2.2浮点型 float

    小数:float类型 带小数点比如6.6 -6。

    high = 1.8 # 定义一个人身高为1.8m
    print(type(high)) # 查类型并打印 <class 'float'>

    补充:科学计数法

    当浮点数非常大或者非常小时,可以使用科学计数法,科学技术法使用e或E后跟指数来表示10的幂。

    # 虽然看上去是整数,但是使用科学计数法的方式,那么在程序中就是一个浮点数
    print(3.14e2) # 3.14乘以10的2次方 结果为314.0
    print(3.14e-3) # 3.14乘以10的-3次方 结果为0.00314

    2.3布尔类型 bool

    布尔类型是与逻辑相关一种数据类型,只有两个值:True与False 对与错 1与0。

    例1:手工定义flag1和flag2变量,其值分别为True和False。

    flag1 = True # 1
    flag2 = False # 0
    print(flag1) # True
    print(type(flag1)) # <class 'bool'>
    print(flag2) # False
    print(type(flag2)) # <class 'bool'>

    例2:布尔类型本质其实是数字。

    print( 1 + True) # 2
    print( 1 + False) # 1
    b1 = 3>1 # b1 = True
    print(b1) # True
    print(type(b1)) # <class 'bool'>
    b2 = 3>4 # b2 = False
    print(b2) # False
    print(type(b2)) # <class 'bool'>

    总结:bool 类型就是用于代表某个事情的真(对)或假 (错),如果这个事情是正确的,用 True(或 1)代表; 如果这个事情是错误的,用 False(或 0)代表。

    2.4字符串类型 str

    字符串类型要用引号来定义,可以单引号,也可以用双引号,甚至三引号。

    引号引起来的值就是字符串 str。

    例子:

    str1 = '王麻子' # 定义一个变量str1给他一个值王麻子
    print(str1)
    print(type(str1)) # <class 'str'>
    
    str2 = "王麻子" # 双引号单引号没区别
    str3 = "王 麻 子" # 中间可以有空格
    print(str2)
    print(str3)
    print(type(str2)) # <class 'str'>
    print(type(str3)) # <class 'str'>
    
    str4 = """
    张三
    李四
    王五
    赵六
    """
    print(str4) # 使用三引号定义的多行字符串,包含多行文本,非常适合存储长段落的文字。
    print(type(str4)) # <class 'str'>

    字符串的运算:

    number_01 = 66 # 定义number_01变量,给他一个值66
    number_02 = '66' # 带了引号有什么区别?
    
    print(type(number_01)) # <class 'int'>
    print(type(number_02)) # <class 'str'>
    
    number_01 = number_01 + 1 # 右边的值给左边
    print(number_01) # number_01会等于多少?
    
    number_02 = number_02 + 1
    print(number_02) # 思考会有什么结果?如何改?
    
    number_02 = number_02 + '1'
    print(number_02) # 661
    print(type(number_02)) # <class 'str'>
    print(number_02*3) # 661661661

    总结:

  • 数学运算只能是数值类型,数值无法和字符串运算。
  • 字符串相加的实质是串连拼接,如果和数字相乘就转换成加法拼接。
  • number_01 = number_01 + 1可以简写number_01 += 1。
  • 三、百分号格式化输出

    3.1基本语法

    了解是能看懂就行,掌握必须要会用。

    1. print(变量名) (了解)
    2. %() (了解)
    3. (f"{}")方式输出 (掌握)
    4. format() (了解)
    # 定义三个变量
    name = "小美"
    age = 18
    price = 1.2
    # 我叫小美,今年18,我去超市买了单价1.2元/斤的白菜
    
    # 第一种方式
    print('我叫',name,',今年',age,',我去超市买了单价',price,'元/斤的白菜',sep='')
    
    # 第二种方式:%() (了解)
    '''
    %s 字符串类型的数据
    %d 整数
    %f float类型
    %.xf x表示整数,表示要保留几位小数点
    '''
    print("我叫%s,今年%d,我去超市买了单价%f元/斤的白菜"%(name,age,price))
    
    # (f"{}")方式输出 (掌握)
    print(f"我叫{name},今年{age},我去超市买了单价{price}元/斤的白菜") #一一对应
    
    # format() (了解)
    print("我叫{},今年{},我去超市买了单价{}元/斤的白菜".format(name,age,price)) #一一对应

    注:再次强调,(f"{}")方式输出必须掌握,因为这是在Python中最常用的方式,其他看明白就行。

    3.2转义字符 \

    由反斜杠加上一个字符或数字组成,它把反斜杠后面的字符或数字转换成特定的意义。常用的有:

  • \n:换行。

  • \t:制表符,一个tab键(4个空格)的距离。

  • \' : 字符串单引号

  • \" : 字符串双引号'

  • \\ : 字符串\

  • print('张三\n李四\n王五\n赵六')
    
    s0 = '\t'
    print(s0)
    
    s1 = '\"'
    print(s1)
    
    s2 = '\\'
    print(s2)
    
    s3 = '\''
    print(s3)

    作者:记忆中的····

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python基础入门:变量、数据类型与格式化输出详解

    发表回复