首页 > 编程语言 >python小白入门学习day04

python小白入门学习day04

时间:2022-09-26 21:34:51浏览次数:60  
标签:False 入门 python day04 print jason 变量名 数据 name

python小白入门学习day04

目录

§一、周末内容回顾

1、PEP8规范

Python Enhancement Proposal的缩写'即python增强规范'的第八号规范,帮助团队间编写python代码的规范性
1.注释在代码之后,井号需要距离代码空两格,井号距离注释内容空一格
2.注释如果自成一行,井号与内容之间空一格
3.赋值符号左右各空一格
4.逗号后面空一格

2、python注释语法

#养成写注释的好习惯
1.单行注释  # +内容 
2.多行注释 '''多行注释 '''
3.多行注释 """多行注释 """ #在注释用用到引号也可以正常使用

3、变量与常量

1.变量语法
# 变量名 赋值符号 数据值
如name = 'jason'
2.底层原理
#先看赋值符号右侧,再看赋值符号左侧
先在内存中申请一块内存空间储存数据值,然后把数据值绑定一个变量名,然后就可以通过变量名来访问数据值
3.变量名的命名规范
 1)变量名可以由下划线、英文、数字组成
 2)数字不能做变量名的开头
 3)变量名尽量做到见明知意
 4)变量名尽量做到不要与关键字冲突
4.变量名命名风格
 1)下划线#python
   name_from_sqa = 'jason'
 2)驼峰体#JS常用
    大驼峰 NameFromSqa = 'jason'
    小驼峰 nameFromSqa = 'jason'
5.常量的命名
  用全大写来命名常量#常量一般放在代码的最上边,作为全局使用。常量和变量用法一致

4、数据类型

1.整型int  #整数
2.浮点型float # 小数
3.字符串string  # 文本类型的数据,用'引号'引起来
  字符串的四种方式 1)'单引号'
  							2)"双引号"
                3)'''三个单引号'''
                4)"""三个双引号"""
  # 字符串和注释的区别:看其左边是否由赋值符号和变量名,有则为字符串,没有则为注释
4.列表list  # 变量名 = [值1, 值2] 不限制数据类型可以是字符串也可以是数字
  列表可按照数据值索引,起始为0
5.字典dictionary  # 变量名 = {k1:v1, k2:v2} 
  字典不可以索引,但可以 按键 key 取值value
  'key一般是对value的描述性文字,一般为字符串'

§二、今日内容详细

1、作业详解

# 1.想办法打印出jason
l1 = [11, 
      22, 
      'kevin', 
      ['tony', 
       'jerry', 
       [123, 
        456, 
        'jason']
       ]
      ]
'''分步操作'''
# 1.先看大列表到底有几个数据值 以及我们想要的数据值在哪个里面
# print(l1[3])
l2 = l1[3]  # ['tony', 'jerry', [123, 456, 'jason']]
# 2.再次思考小列表有几个数据值 以及我们想要的数据值在哪个里面
# print(l2[2])
l3 = l2[2]  # [123, 456, 'jason']
# 3.最后转化成了简单的索引直接取值
print(l3[2])
'''简化操作'''
print(l1[3][2][2])

# 2.想办法打印出大宝贝
d1 = {'name': 'jason', 
      'others': {'a1': 'heiheihei', 
                 'a2': {'k1': 'hahaha', 
                        'k2': 'hehehe', 
                        'k3': '大宝贝'}
                 }
      }
'''分步操作'''
# 1.先拿大字典第二个键值对的值
print(d1['others'])
d2 = d1['others']  # {'a1': 'heiheihei', 'a2': {'k1': 'hahaha', 'k2': 'hehehe', 'k3': '大宝贝'}}
# 2.再拿小字典第二个键值对的值
print(d2['a2'])
d3 = d2['a2']
# 3.转化成简单的按k直接取值
print(d3['k3'])
'''简化操作'''
print(d1['others']['a2']['k3'])

# 3.想办法打印出run
data = {'username': 'jason', 
        'hobby': [11,
                  22, 
                  {'height': 183, 
                   'hobby': ['read', 
                             'run', 
                             'music'
                             ]
                   }
                  ]
        }
'''分步操作'''
print(data['hobby'])
data1 = data['hobby']  # [11, 22, {'height': 183, 'hobby': ['read', 'run', 'music']}]
print(data1[2])
data2 = data1[2]  # {'height': 183, 'hobby': ['read', 'run', 'music']}
print(data2['hobby'])
data3 = data2['hobby']
print(data3[1])
'''简化操作'''
print(data['hobby'][2]['hobby'][1])
image-20201212190410230

2、基本数据类型之布尔值bool

1.布尔值表示两个值之一 True or False,用来判断事物的对错,是否可行,主要用于流程控制中
2.只有两种状态
  True  对的 真的 可行的
  False 错的 假的 不可行的
3.python中所有的数据都自带布尔值
  布尔值为 False的数据有: False 0 None '' [] {} ()
4.存储布尔值的变量名一般推荐使用is开头
 is_delete = False
 is_alive = True
#‘假’注销用户
'''
很多程序中提供的注销账户的功能 其实底层并没有删除数据,而是修改了数据的状态
很多时候记录用户数据是否注销,只是修改了布尔值,而非删除数据
id    username  password  phone  is_delete
1     qiuqiu    123       110      1
2     wangcai   111       120      0
'''

返回布尔值为 False 的数据 其余数据布尔值都为True,如下图

926插图4.png

2、基本数据类型之元组tuple

1.#'不可变'的列表
元组,简单的理解就是将一堆数据存放到一个容器中,但这个容器有一个特点,就是'很固执',一旦定义了之后就不可改变,从某种意义上来说元组就是不可以改变的列表,功能和列表类似,同样可以进行切片、修改等操作。
# 底层原理: 元组内索引绑定的内存地址不能修改
2.使用方法
 小括号括起来,内部存放多个数据值,数据值和数据值之间用都逗号隔开,数据值可以是任何数据类型
3.代码实现
t1 = (11, 22, 'sam')
4.元组与列表的对比
   '列表:可以改变列表内的数据值'
     l1 = [11, 22, 33]
     print(l1[0])  # 获取索引0对应的数据值
     l1[0] = 666
     print(l1)  # [666, 22, 33]
    
    '元组:不可改变数据值'
     t1 = (11, 22, 33)
     print(t1[0])
     t1[0] = 999
     print(t1)  # 则会报错:TypeError: 'tuple' object does not support item assignment 
    
   举例:
    t1 = (11, 22, [111, 222])
    t1[2][1] = 666
    print(t1)
    """
    A.直接报错
    B.(11, 22, [111, 666])
    C.不知道 超出了我的认知
    """
    #答案为B,如下图,在存储关系上,
    #元组的不可变是索引和数据值的绑定关系不可变,而在元组内部的列表里的数据值是可以改变的
5.元组内如果只有一个数据值时,其数据类型则不是元组,需要加上逗号
	  t1 = (1)
    t2 = (11.11)
    t3 = ('jason')
    print(type(t1), type(t2), type(t3))  # <class 'int'> <class 'float'> <class 'str'>
    t1 = (1,)
    t2 = (11.11,)
    t3 = ('jason',)
    print(type(t1), type(t2), type(t3))  # <class 'tuple'> <class 'tuple'> <class 'tuple'>
    """
    建议:以后在使用可以存放多个数据值的数据类型时 如果里面暂时只有一个数据值 那么也建议你加上逗号
    """
image-20201212190410230

3、基本数据类型之集合set

1.集合只能用于去重和关系运算
	后面再讲 暂且忽略
2.集合内数据只能是不可变类型
	后面再讲 暂且忽略
3.大括号括起来 内部存放多个数据值 数据值与数据值之间逗号隔开 数据值不是k:v键值对
4.代码实现
	s1 = {1, 2, 3, 4, 5, 6}
5.定义空集合与空字典	
	{}  	默认是字典
 	set()	定义空集合

4、与用户交互

"""
以前银行取钱只能拿着存折去柜台跟小姐姐交流才可以
	你想干嘛 我想取钱 
	请输入密码 滴滴滴密码
	想取多少钱 我想取一个亿
	...
随后程序代替了小姐姐跟我们交互
	ATM机器
"""
1.获取用户输入
  input
  # 获取用户输入
  username = input('请输入您的用户名>>>:')
    """
   底层原理:
   1.先执行input获取用户输入
   2.将输入的数据绑定给变量名username
   3.以后在程序中就可以使用变量名来调出用户的数据
    """
	强调:input获取到的数据都会统一处理成  # 字符串类型
    
2.输出内部信息
	print()
   1)括号内既可以放数据值,也可以放变量名,并且支持多个数据值或者变量名,用逗号隔开即可
   2) print 自带换行符
  # 换行符:\r\n 或者\n(斜杠与字母组合可能会产生特殊含义)
   3) print也可以切换结束赋
       print(数据,end='默认是\n')
 
3.拓展:python2与python3中两个关键字的区别
   1)python2中
       input方法需要用户自己提前指定数据类型,写什么类型就是什么类型
       raw_input方法与python3中input一致,输入的统一处理成字符串
   2)python3中
       input方法有两种使用方法
          print 数据值
          print(数据值)

有点不懂,看视频

5、格式化输出

#提前定义好一些内容,将来需要使用的时候可以局部修改与填写
	eg:奖状、录取通知书、合同
    
1.代码实现
	在现实生活中大部分情况下使用下划线提示别人填写内容
 	但是在程序中需要使用占位符:%s %d
    
# 举例
info = '%s同志你好'
2.占位符类型
'''单个占位符'''
  print(info % 'Jason')  # Jason同志你好
  print('%s同志你好' % 'Tony')  # Tony同志你好
  print(info % ('jason',))
  print('%s同志你好' % ('Tony',))
'''多个占位符'''
  desc = '姓名:%s 年龄:%s 爱好:%s'
  print(desc % ('jason', 18, 'read'))
  print('姓名:%s 年龄:%s 爱好:%s' % ('tony', 28, 'rap'))
'''注意事项:有几个占位符就需要几个数据值'''
  print('my name is %s my age is %s' % ('jason',))  # 少了不行
  print('my name is %s my age is %s' % ('jason', 18, 'read'))  # 多了不行

3.不同占位符的区别
  demo1 = '%s您好 您本月的话费是%s 余额是%s'  # %s常见数据类型都支持
  print(demo1 % ('jason', 100, 1))
  demo2 = '%d您好 您本月的话费是%d 余额是%d'  # %d只支持数字类型
  print(demo2 % ('tony', 1, -100))

4.设置占位个数
比如设置8位数,即 '%08d',如果超出八位的数据值则以该数据值填充
print('%08d'% 123)  # 00000123
print('%08d'% 123456789)  # 123456789

6、基本运算符

1.数学运算符
# +、-、*、/、%、//、**
2.简化写法
    n = 10
    n += 1  # n = n + 1
    n -= 1  # n = n - 1
    n *= 1  # n = n * 1
    n /= 1  # n = n / 1
    n %= 1  # n = n % 1
    n //= 1  # n = n // 1
    n **= 1  # n = n ** 1
3.比较运算符
 # <、>、<=、>=、==(等于号)、!=(不等于号)

7、常用赋值符

1.链式赋值
   name = 'jason'
   name1 = name
   name2 = name
  则链式赋值可以改写成:
   name = name1 = name2 ='jason'
2.交叉赋值
   m = 100
   n = 999
  #如何让m和n互相交换绑定的数据值
   1)方法一:采用中间变量 做中介
    temp = m
    m = n
    n = temp
    print(m, n)  # 999 100
   2)方法二:交叉赋值语法 直接交换 
    m, n = n, m
    print(m, n)  # 999 100即交换成功
 3.解压赋值
   name_list = ['jason', 'sam', 'amy', 'jack']
  
  #赋值语法
    name1, name2, name3, name4 = name_list
    '解压赋值在使用的时候,正常情况下需要保证左边的变量名和右边的数据值个数一致'
   a, b = name_list  # 变量名少了不行
   a, b, c, d, e = name_list  # 变量名多了也不行
    
    '当需要解压的数据个数特别多我们只需要使用其中几个的时候,那么可以打破上述的规则'
    a, *b = name_list  # *会自动接收多余的数据 组织成列表赋值给后面的变量名
    print(a)  # jason
    print(b)  # ['kevin', 'tony', 'oscar']
    a, c, *b = name_list
    print(a)
    print(c)
    print(b)  # ['tony', 'oscar']
    a, *b, c = name_list
    print(a)  # jason
    print(b)  # ['kevin', 'tony']
    print(c)  # oscar 
    
    '当数据值不准备使用的时候,可以用下划线来作为变量名,精简代码'
    a, *_, c = name_list

8、逻辑运算符

#主要配合条件一起使用
1.and 与
  and连接的多个条件必须全部成立,结果才能通过成立
  
    #举例
  1 > 2 and 4 < 8 and 10 < 1 and 1 == 2  
  如果条件中全部由and组成那么判断起来非常的简单 只要发现一个不成立 结果就不成立      
    print(1 < 10 and 666)  # 666  成立
    print(1 < 10 and 2 < 8)  # True  成立
    print(111 and 222)  # 222  成立
  # 为何结果不是布尔值而是具体的数据值?
  # (1)如果and左边的条件时成立的,那么就完全取决于右边的条件。
  # (2)如果右边是数据值,那么结果就是数据值;如果右边含有表达式,则结果就是布尔值
  
2.or 或
  or连接的多个条件只要有一个成立,结果就成立
  
    #举例
  1 > 2 and 4 < 8 and 10 < 1 and 1 == 2   
  如果条件中全部由or组成那么判断起来非常的简单,只要发现一个成立,结果就成立
    print(1 < 10 or 666)  # True
    print(666 or 1 > 10)  # 666
    print(0 or False)  # False
    print(0 or 111)  # 111 
    
3.not 非
取反
类似于说反话
'''
三者混合使用的时候有优先级之分,但无需记忆,需要我们人为设计优先级

eg: 先乘除有加减  但是可以使用括号来改变优先级
	(3>4 and 4>3) or ((1==3 and 'x' == 'x') or 3 >3)
'''

9、成员运算符

1.用途:用于判断个体在不在群体内
#举例
 1)列表中
name_list = ['jason', 'kevin', 'oscar', 'jerry']
print('tony' in name_list)  # False
print('tony' not in name_list)  # True
print('j' in name_list)  # False 列表最小单位是数据值  不能再细分
 2)字符串中
s1 = 'hello world'
print('d' in s1)  # 字符串最小单位是单个单个的字符
 3)字典中
d1 =  {
  'username':'jason', 
       'pwd':123
}
print('jason' in d1)  # False 字典成员运算只有键参与
print('username' in d1)  # True

10、身份运算符

'''
id() 返回一串数字,该数字可以看作是内存的地址
'''
1.代码
is 用于判断内存地址是否相同
== 判断数据值是否相同

l1 = [11, 22, 33, 44, 55, 66, 77, 88]
l2 = [11, 22, 33, 44, 55, 66, 77, 88]
print(l1 == l2)  # True 表示两个列表数据值相同
print(id(l1))
print(id(l2))
print(l1 is l2)  # False 表示两个相同数据值的列表内存地址不同

2.例外的情况
  1)# 小整数池
i1 = 11
i2 = 11
print(i1 is i2)
  2)
s1 = 'jason jason jason'
s2 = 'jason jason jason'
print(s1 is s2)
不同的环境下可能优化的程度不一样 

"""
了解
    值相同 内存地址可能不同
    内存地址相同 值肯定相同
"""

11、今日感想

1.#细部知识也很重要
今日状态还可以,但是对于,所学内容的大框架下的一些知识点的细部应用还应该多多注意,在pycharm中多多练习,更加可以强化记忆
2.#可以导出pdf文件
在睡觉前和起床赖床的时候打开看一看,帮助记忆
3.#看不懂pycharm的英文界面
换成中文拍照存在手机里,看不懂的时候拿出来对应看一看中文意思加深了解

12、作业

926插图4.png
	1.
desc = " Name:%s\n Age:%s\n Sex:%s\n Job:%s"
print(desc % ('Jason',
              18,
              'male',
              'Teacher')
      )
  2.
    v1 = 1 or 3  # True
  #逻辑符号 or的两边都是数据值,其布尔值为True则 bool(v1) 为True
    v2 = 1 and 3  # True
  #逻辑符号 and的两边都是数据值,其布尔值都为True ,则 bool(v2) 为True
    v3 = 0 and 2 and 1  # False
  #逻辑符号 and的两边都是数据值,因为需要其都成立,由于0的布尔值为 False,则 bool(v3) 为False
    v4 = 0 and 2 or 1  # True
  #赋值符号后从左往右看,
  #'0 and 2'有一个为False,则结果为False。
  #继续运算'False or 1',赋值符号两边有一真结果即为真没,为True
    v5 = 0 and 2 or 1 or 4  # True
  #赋值符号后从左往右看,'0 and 2'有一个为False,则结果为False。
  #继续运算'False or 1', 结果为 'true' ,
  #继续运算 'True or 4'赋值符号两边有一真结果即为真没,为True  
    v6 = 0 or False and 1  # False
  #赋值符号后从左往右看,
  #'0 or False'有一个为False,两边都为假,结果False。
  #继续运算'False and 1', 有一边为假,结果为False

标签:False,入门,python,day04,print,jason,变量名,数据,name
From: https://www.cnblogs.com/DuoDuosg/p/16732576.html

相关文章

  • day04
    今日内容总结常见的数据类型补充布尔值bool用途:用于表达事物对错以及是否可行用于流程控制1.存在状态true对的可行的false错的不可行的......
  • python
    python数据类型基础数据类型之布尔值bool+布尔值bool用来判断事物的对错,是不是可行。主要用于流程控制中只有两种形态1.True对的,真的,可行的2.False错的,假的,......
  • Python-函数-算术函数
    #python-函数-算术函数#(1)加减乘除#加法add(),减法subtract(),乘法multiply(),除法divide()#作用:数组间的加减乘除importnumpyasnpx=np.arange(9,dtype=......
  • python基本数据类型二
    python基本数据类型二1.布尔值bool描述用于判断事物的对错,是否可行,主要用于流程控制状态只有两种状态True和falseTrue对的,真的,可行的False错的,假的,不可行......
  • python中组合数据的操作
    2022-09-26组合数据类型:列表   字典   集合   元组拷贝:   deep(深拷贝)   shallow(浅拷贝)  区别:例如,文件中有一个指针指向另一块存储空间......
  • Python学习之路04
    今日内容总结1.基本数据类型布尔值bool布尔值是用来判断对错的,我们主要用于流程控制中布尔值只有两种表达方式:True/Falseps:要首字母大写Python中的所有数据都是由布......
  • python中的各种运算符
    运算符基本运算符+加-减*乘/除%取余//取整**幂运算n=n+1可以简化为n+=1同理有:n-=2#n=n-2n*=3#n=n*3n/=4#n=n/4n%=5#......
  • Python入门基础
    今日类容详细Python基本数据类型与用户交互格式化输出基本运算符多种赋值方式逻辑运算符成员运算符身份运算符今日内容详细基本数据类型之布尔值BOOl、1.用......
  • 学习python-Day64
    回顾补充知识http请求应用层:基于tcp/ip之上是进行网络传输,广泛用于前后端的交互请求协议:请求首行请求方式:get、post,请求地址:get携带数据,请求协议,请求版本......
  • python语法和运算符
    今日内容总结基础数据类型基本数据类型之布尔值bool什么是布尔值用来判断事物的对错是否可行只要用于流程控制中的逻辑判断布尔值的状态只有两种状态 1.True 对的......