学习python-Day06


内容回顾

  • python语法注释

    单行注释:# 
             快捷键 Ctrl+?
    多行注释:'''  '''
             """ """
            
    
  • python的编码规范(PEP8)

    英文表示 Python Enhancement Proposal

    8 代表的是 Python 代码的样式指南。

    利用python自动格式化代码的功能反向推到规范要求。
     1.单行注释:#
           如果警号在注释代码后面,则需要空两格。
           如果注释内容与警号,则需要空一格。
     2.数据值/变量中间有符号,则需要两边空一格。
       
    
    
  • 变量与常量的基本使用

    表示让计算机能够记录事物的状态。

  • 变量与常量的本质

    赋值符 =

     num = 1
    1.如果赋值符两边有数据值/变量,则优先看赋值符右边的数据。
    
    2.如果右边是数据值,则直接赋值给左边的变量。
    
    3.如果右边是变量,则需要看前一步变量绑定的数据值。再赋值给左边的变量。
    
    4.如果右边是功能,eg: input("请输入数字:"),先获取用户的信息,再赋值到左边。
    
  • 名字命名规范

    1.名字命名只能包含数字、字母、下划线
    2.不能以数字开头
    3.不能使用关键字,eg:print = print 是错误的
    4.尽量用英文代替名字
    
  • 名字的命名风格

    1.下划线
    2.驼峰命名
           小驼峰 useName
           大驼峰 UseName
    
  • 常量的介绍

    python中没有正在意义上的常量

    1.一般纯大写字母开头来表示常量,eg:HOST = '127.0.0.1'

    2.在其他的编程语言上是有真正的常量。eg:const pi = 3.14

  • 基本数据类型

    数据类型类似于事物多种不同的状态(表现形式)

    1.整型 int
    2.浮点型 float
    3.字符串/字符型 str
    

今日内容概要

  • 基本数据类型
  • 与用户的交互
  • 格式化输出
  • 诸多运算符
  • 流程控制简介

今日内容详细

数据类型之列表(list)

1.本质:能存储多个数据,且方便获取整体或者局部数据。
2.基本使用:list1 = [ 1, 2, 3 ]
3.语言描述:中括号里面包含多个数据值,且数据值间用逗号间隔,数据值可以为任意数据类型。
4.索引取值
'''索引取值,数字的起始位置是从0开始数,生活中是从1开始数'''
eg:name_list = [ '王一博','肖战','博君一肖']
    print(name_list) #将全部打印 王一博,肖战,博君一肖。
    print(name_list[0])#将索引获取到的数据,打印出 王一博
    print(name_list[100]) #打印出错,会出现数据值不满足于索引值。
    
    
'''遇到复杂的构造数据,我们要学会先拆后找,找出数据值的具体位置'''
list2 = [11, 22, [111, 222, 333, [123, 321, 666], 444]]
如果要获取666的值应该如何操作?
   1.list3 = list2[2] #将索引取值的数据绑定给list3
     print(list3) #先获取列表的第二层次的列表[111, 222, 333, [123, 321, 666], 444]
   2.list4 = list3[3] #将索引取值的数据绑定给list4
     print(list4) #先获取列表的第三层次的列表[123, 321, 666]
   3.list5 = list4[2]#将索引取值的数据绑定给list5
     print(list5)#变成了最简单的索引取值情况 

数据类型之字典(dict)

 1.本质:能存储多个数据,且方便获取整体或者局部数据。
 2.基本使用:list1 = [ 1, 2, 3 ]
 3.语言描述:中括号里面包含多个数据值,且数据值间用逗号间隔,数据值 可以为任意数据类型。
4.按K取值
'''因为字典是无序的,不能用列表的索引取值来做,但用按K取值'''
         K是对V的描述性性质的信息 一般是字符串。
	 V是真实的数据值 可以是任意数据类型。
 info_dict = { '姓名':'xz','年龄':'30','爱好':'唱歌'}
   print(info_dict['姓名'])  # 打印 xz
   print(info_dict['年龄'])  # 打印 30
   print(info_dict['家乡'])  # K不存在则直接报错
   

基本数据类型之布尔值(bool)

 ```python
1.本质:表示事物的可行性,是否合理,是否正确。
2.基本使用:is_right = True  # 真 可以 正确
       is_delete = False  # 假 不可以 错误
3.语言描述:存储布尔值的名字一般使用is开头
 ```
  4.布尔值型类型转换
    程序中所有的数据类型都可以转换成布尔值
    布尔值为False的数据有:0 None 空字符串 空列表 空字典
    除以上之外所有数据对应的布尔值都是True
5.所有的编程语言都有布尔值,不过关键字和值可能有所不同。eg:'boolean'  # js中就不一样    

数据类型之元组(tuple)

 ```python
 1.本质:能存储多个数据,且方便获取整体或者局部的数据,与列表的区别在于元组内数据值不能'''直接被修改'''而列表可以,所以元组有一个小外号>>>:不可改变的列表
2.作用:一般用于只能看不能改的数据
3.基本使用:t1 = (111, 222, 333)
4.语言描述:小括号包含多个数据值,且数据值可以为任意的数据类型,数据值与数据值之间用逗号隔开。
  
 ```
5.与列表对比
1.基本使用不同-----
         list1 = [111, 222, 333] #中括号
         tuple1 = (111, 222, 333) #小括号
        
2.print(list1[0])# 111
  print(tuple1[0])#111
  
  list1[0] = 'wyb' # 将索引0获取的数据值绑定数据值 wyb
  print(list1) #打印出[’wyb‘,222,333]
  
  tuple1[0] = 'xz' #将索引0获取的数据值绑定数据值 xz 
  print(tuple1) #则会报错!!!

数据类型之集合(set)

  ```python
 1.本质:集合用于去重和关系运算
 ''' 去重:自动去除重复的部分'''
 '''关系运算:判断两个集合之间的关系'''
2.基本使用:
set1 = { 1, 2, 3}
3.定义空集合
d1 = {}
s1 = {}
print(type(d1))  # dict
print(type(s1))  # dict
在没做任何改变前,定义的空集合{}数据类型都是字典dict
对于集合的空集合定义我们必须要使用关键字set
s2 = set()
print(type(s2)) # set

  ```

与用户交互

1.输入:向计算机传递信息
    input()  # 获取用户输入
    num = input('请输入您的数字:')
    '''
     1.先获取用户输入的数据
     2.再赋值给左边的名字num
     3.之后就可以通过名字num反复的使用用户输入的数据
    '''
''' input获取到的用户输数据的数据类型入都会转成字符串类型'''
2.输出:计算机向外界传递信息
    print()  # 打印数据值   	
	print(123)  # 括号内可以直接放数据值

end = '' 的作用,可以让打印的数据在同一行输出且没有空格。

eg:如果我想同时打印王一博肖战,而不是中间用enter回车的话。就用end = ''

name_list = [ '王一博','肖战','博君一肖']
print(name_list[0],end='')
print(name_list[1])

格式化输出

info = "亲爱的xxx你好!你xxx月的话费是xxx,余额是xxx"
python中不能直接使用xxx来表示。需要用到占位符。

1.%s:支持所有数据类型替换。
    eg:info1 = "亲爱的%s你好!你%s月的话费是%s,余额是%s"
        print(info1 % ('wyb', 5, 233, 233333333333))
        print("亲爱的%s你好!你%s月的话费是%s,余额是%s"%('wyb', 5, 233, 233333333333))
        
2.%d:只支持数字占位。
        info2 = "亲爱的%d你好!你%d月的话费是%d,余额是%d"
        print(info1 % ('wyb', 5, 233, 233333333333))
     产生固定位数的数据
        eg:print('%05d',23)  # 00023
   '''固定规定为5位数,不够需在前面补0'''

    

基本运算符

1.算数运算符
加		+
减		-
乘   	*
除   	/
整除     //
取模     %
幂指数   **(次方)
算数运算的简写:
    x = x + 10 可写成  x + = 10
    x = x - 10 可写成  x - = 10
    x = x * 10 可写成  x * = 10
    x = x / 10 可写成  x / = 10
    
2.比较运算符
    ==  等于
   !=  不等于

多种赋值符号

1.链式赋值
  eg:x = 10
      y = x
      z = y
   可以变换成链式赋值 x = y = z
2.交叉赋值
  eg:x = 10
      y =100
  如果让x绑定y绑定的数据值,让y帮忙x绑定x的数据值
   方式一:(用中间变量)
        t = x
        x = y
        y = t
       print(x,y)
   操作说明:
      1.首先数据值10绑定给x,数据值100绑定给y。
      2.t为变量与变量x绑定,x赋值给t,t为10.
      3.x与y绑定,x与原来的数据值10解绑,x为100。
      4.y与t绑定,y与原来的数据值100解绑,y为10。
   总的来说只是利用中间变量t,来达到x与y相互交换数据值。
   
   方式二:(用交叉赋值)
        x, y = y, x
       print(x,y)
3.解压赋值
'''解压赋值:赋值符号左边至少有两个以上的名字'''
   eg:name_list = [ '王一博','肖战','博君一肖']
   用三个不同名字储存不同人名
      name1 = name_list[0]
      name2 = name_list[1]
      name3 = name_list[2]
   name1,name2,name3 = name_list
   '''解压赋值必须保证左边的名字和右边的数据值个数一致'''
   
   
-----    特殊情况下,带解压的数据非常多时  -----
    l1 = [11, 22, 33, 44, 55, 66, 77, 88]
   a, b, *c ,d = l1
   '''解压赋值的时候会自动将多余的数数据值成列表赋值给*号后面的变量名'''
      print(a)  # 11
      print(b)  # 22
      print(c)  # [33, 44, 55, 66, 77]
      print(d)  # 88
   
输出在python2和python3中的区别
1.Python2中的print是一个关键字,而Python3里的print是一个函数。
2.python2中输出可以使用空格或者小括号
       eg:    print(1+1)  #2
               print 1+1   #2

python3:

  python3:
    print()
    如果直接print 会报错!!!

3.在python3里,能使用help(print)查看它的文档了, 而python2不行:

python2:


	
	2.自行研究输入输出在python2和python3中的区别
'''python2现在几乎不用 但是我们得知道它的一些特性'''
1.输入的区别
    python3只有一个input()  并且都转成字符串类型
    python2有两个获取用户输入的方式
    	input()
        	输入的数据必须自己加上数据的特征 输啥就是啥
            	  name = input('name>>>:')
                 name>>>:123
                 >>> type(name)
                 
           还能够识别一些简单的代码(了解即可)
       raw_input()
    		等价于python3里面的input 接收的数据都会转成字符串
2.输出的区别
		python3只有print()一种用法
      python2有两种用法 print  print()

作业1

name = input('请输入您的姓名:')
age = input('请输入您的年龄:')
gender = input('请输入您的性别: ')
job = input('请输入您的工作:')

print("------------ info of " + name + "----------- ")
print(" Name  :" + name)
print(" Age   :" + age)
print("gender :" + gender)
print("Job   :" + job)
print("------------- end -----------------")