python学习第三课

1.python基础

1.1 python语法

1.1.1 概念

(1)表达式

  表达式,是由数字、算符、数字分组符号(扣号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合

  表达式特点:

  • 表达式一般仅仅用于计算一些结果,不会对程序产生实质性的影响
  • 如果在交互模式中输入一个表达式,解释器会自动将表达式的结果输出
(2)语句

  一个语法上自成体系的单位,它由一个词或句法上有关连的一组词构成。语句的执行一般会对程序产生一定的影响,在交互模式中不一定会输出语句的执行结果。

(3)程序

  程序就是一条一条语句和一条一条表达式构成的

(4)函数

  函数就是一种语句,专门用来完成特定的功能

  • 函数形如:xxx()
  • 函数的分类:
    • 内置函数。或者叫内建函数,就是由语法规定存在的函数,这些函数,包含在编译器的运行时库中,程序员不比单独书写代码实现它,只需要调用即可。
    • 自定义函数:由程序员自主的创建的函数,当我们需要完成某个功能时,就可以去调用内置函数,或者自定义函数
  • 函数的2个参数:
    • 参数
    • 返回值

1.1.2 标识符

(1)关键字

  python一些具有特殊功能的标识符,这就是所谓的关键字,是python已经使用的了,所以不允许开发者自己定义和关键字相同的名字的标识符。在这里插入图片描述

(2)标识符概念

  开发人员在程序中自定义的一些符号和名称。标识符是自己定义的,如变量名、函数名等

  • 组成:由26个英文字母大小写,数字0-9,符号_$
  • 标识符规则:
    • 标识符中可以包含字母、数字、_,但是不能使用数字开头
    • python中不能使用关键字和保留字(也即关键字)来作为标识符
  • 命名方式
    • 驼峰命名法
      • 小驼峰式命名法:第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog
      • 大驼峰式命名法:每一个单字的首字母都采用大写字母,例如:FirstName、LastName
    • 下划式命名法
      • 在程序员中还有一种命名法比较流行,就是用下划线”_"来连接所有的单词,比如get_url buffle_size

1.2 变量

1.2.1 概念

  变量是计算机内存中的一块区域,存储规定范围内的值,值可以改变,通俗的说变量就是给数据起个名字。

  • 变量命名规则
    • 变量名由字母、数字、下划线组成要符合标识符的命名规范
    • 数字不能开头
    • 不能使用关键字
  • 注意
       两个对象想等和两个对象是同一个对象是两个概念
       变量在内存中存储的数据:id (内存地址) type(类型) value(值)
    在这里插入图片描述
    在这里插入图片描述

1.3 变量在内存中的原理

2. 基本数据类型

	数据类型指的就是变量的值的类型,也就是可以为变量赋哪些值。

2.1 整数和小数

  • 整数。所有整数。例如:a=1, b=100 ,c=999都是int类型
  • 小数常量(浮点数):所有小数。例如a=1.2,b=6.6是float类型

2.2 布尔值和空值

  • 布尔:只有2个值,一个是True,一个是False
  • None常量:只有一个数值就是None 也就是空值
    *如下图所示, None表示没有,它是NoneType类的对象,你可以把它看成是一个具体的值。正因它是一个具体的值,所以它可以用来初始化变量,可以作为很多函数在某些异常输入下的返回值,可以在tensorflow的placeholder变量中为模型输入样本数变量占位。None它既有又没有,有体现在它是具体的值,例如它能为变量a赋值;没有体现在None它想告诉你的是当前变量a绑定的是一个没有意义,没有利用价值的值。
    在这里插入图片描述
  • null的含义
    • Null表示空它不是一个值,这点不同于None。在python这类脚本语言中变量和值是绑定关系,如果说一个变量是Null,实际是说它没有与任何值绑定,也就是说该变量实际上并未被定义;在java、C++、C这类编译语言中,我们说一个变量为Null,是指该变量所指向的那个内存空间上没有存储任何值,就连上一次使用过该内存空间的残留值都没有。

2.3 字符串

2.3.1 概念

  字符串是由数字、字母、下划线组成的一串字符。

  • 注意:
    • 单引号或双引号不能混合使用
    • python中用一对双引号或者一对单引号包裹的内容就是字符串

2.3.2 转义字符

  转义字符是一种特殊的字符常量。转移字符以反斜杠""开头,跟一个或几个字符。转义字符具有特定的含义,不同与字符原有的意义,故称“转移”字符

  • \t表示制表符(一个Tab键)在这里插入图片描述

  • \n表示换行符在这里插入图片描述

  • \\表示反斜杠

  • \‘表示’在这里插入图片描述

  • \“表示”

2.3.3 长字符串

  长字符串又叫做文档字符串,使用三重引号来表示一个长字符串’’’ ‘’’
  三重引号可以换行,并且会保留字符串中的格式。在这里插入图片描述

2.3.4 格式化字符串

  • 拼串。在这里插入图片描述
  • 参数传递。在这里插入图片描述
  • 占位符。
    • %s  字符串占位在这里插入图片描述

    • %f  浮点数占位在这里插入图片描述

    • %d  整数占位在这里插入图片描述

  • f’{变量}’在这里插入图片描述
  • str.format()在这里插入图片描述

2.3.5 字符串的其他操作

  • len()  字符串的长度
  • max()  最大值
  • min()  最小值
  • str.split()  分割字符串
  • str.join()  拼接字符串
  • str.find()  查找字符串
  • srt.replace()  查找字符串
  • str.partition()  把字符串分割为三部分
  • 去空格
    • s.strip()  左右两边去空格
    • s.lstrip()  去左边空格
    • s.rstrip()  去右边空格
  • 字符串大小写
    • s.upper()  全部大写
    • s.lower()  全部小写
    • s.isupper()  判断是不是大小写
    • s.islower()  判断是不是小写

3. 第三讲作业

(1) a,b=6,8,想让a=8,b=6该怎么办?用两种方式实现

  • 第一种方式
    在这里插入图片描述
  • 第二种方式在这里插入图片描述
    (2) 完成字符串的逆序以及统计
  • 设计一个程序,要求只能输入长度低于31的字符串,否则提示用户重新输入
  • 打印出字符串长度
  • 使用切片逆序打印出字符串
while True:
    # 获取键盘输入
    str_input = input("请任意输入一个字符串(长1-31):")
    # 测试长度:
    if len(str_input)<1 or len(str_input)>31:
        print("长度超出限制,请重新输入")
        continue
    else:
    # 打印其长度并逆序打印字符串
        print("您输入的字符串:%s"%str_input)
        print("你输入%s的长度是%d" % (str_input, len(str_input)))
        print("逆序为:%s"%str_input[::-1])


在这里插入图片描述
(3)要求从键盘输入用户名和密码,校验格式是否符合规则,如果不符合,打印出不符合的原因,并提示重新输入

  • 用户名长度6-20,用户名必须以字母开头
  • 密码长度至少6位,不能为纯数字,不能有空格
while True:
    # 获取键盘输入
    name = input("请输入用户名:")
    passwd=input("请输入密码:")
    # 测试长度:
    if len(name) < 6 or len(name) > 20:
        print("输入格式错误,6-20")
        print("请重新输入")
        break

    if name[0] not in "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM":
        print(name[0])
        print("用户名开头必须是字母")
        print("请重新输入")
        # 如果不正确直接使用return,终结函数的执行
        break

    if len(passwd) < 6 or passwd.isdigit() or " " in passwd:  # isdigit 数字的意思  ' '两个双引号代表空格
        print("密码长度至少6位,不能为纯数字,不能有空格")
        print("请重新输入")
        # 如果不正确直接使用return,终结函数的执行
        break

    print("验证成功")

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值