20191228--python学习第四天

拈花ヽ惹草 提交于 2019-12-29 22:12:07

今日内容:

  列表

  元组

内容回顾与补充

  1.计算机基础

    硬件:CPU/内存/硬盘/主板/网卡

    操作系统:linux(免费/开源) centos/ubuntu/redhat

           windows

           mac

    解释器/编译器

      补充:编译型语言和解释型语言
      编译型:代码写完后,编译器将其变成成另外一个文件,然后交给计算机执行。
                      解释型:写完代码交给解释器,解释器会从上到下一行行代码执行:边解释边执行。 【实时翻译】
         简单理解:编译型语言:代码在执行前,编译结果就已经是机器语言;
              解释型语言:是代码在执行过程中,才翻译成机器语言,且执行一次翻译一次,所以执行效率低。
    软件(即应用程序)
  2.环境安装
    python解释器:包括py2与py3
    开发工具:pycharm
    (1)解释器的路径:(以hello.py为例)  
              # !/usr/bin/env python                 print('你好')       注意:linux系统应用:赋予文件可执行权限 执行命令为:./hello.py         (2) 编码
      # !/usr/bin/env python       # -*- coding:utf-8 -*-         print('你好')
a. 编码种类
acsii/unicode/utf-8 / utf-16/gbk/gb2312
b. 中文表示
utf-8: 3字节
gbk: 2字节
c. python默认解释器编码
py3: utf-8
py2: ascii
d. 输入输出
py2:
输入:raw_input
输出:print ""
py3:
输入:input
输出:print()
e. 数据类型
1. int
py2中有:int/long ; py3中有 int 。
强制转换:int(''76"")
除法:py2(只保留整数位,如果想要正常展示,需要多加一行代码) 和 py3(正常展示)
2. bool
True/False (其他语言:true/false)
特殊为False的其他类型: 0 和 ""
3. str
独有功能
upper/lower
replace
strip/lstrip/rstrip
isdigit:返回只有True与Flase两个值
split / rsplit:分割
补充:
startswith / endswith:以什么开头或结尾,注意starswith()/endswith返回值只有True与Flase
示例如下:
# 判断是否已al开头 """ # 方式一: flag = name.startswith('al') print(flag) """ """ # 方式二: val = name[0:2] if val == 'al': print('是以al开头') print('不是') """
   format:字符格式化使用方法如下           name = "我叫{0},年龄:{1}".format('老男孩', 73)
          print(name)
          encode:以某种类型的编码转换为unicode编码
name = '李杰'  # 解释器读取到内存后,按照unicode编码存储:8个字节。v1 = name.encode('utf-8') print(v1) v2 = name.encode('gbk') print(v2)
         join:循环每个元素,并在元素和元素之间加入连接符。
name = 'alex'  # a_l_e_xresult = "**".join(name) # 循环每个元素,并在元素和元素之间加入连接符。print(result)
公共功能
  (1)索引:获取一个字符
  (2)切片:获取一段字符(子序列)
  (3)步长
name = "alex"val1=name[0:-1:2] #输出结果为:aeval2=name[1:-1:2] #输出结果为:lval3=name[1::2] #输出结果是:lxval4=name[::2] #输出结果是:aeval5=name[-1:0:-2] #输出结果是:xlprint(val1)print(val2)print(val3)print(val4)print(val5)#笔试题:请将字符串反转。val=name[::-1]print(val)
    (4)  长度:获取字符长度。
 
  (5)for循环
# name='alex'# for item in name:#     print(item)# #输出的结果为:'a','l','e','x'四个字符# name='alex'# for item in name:#     print(item)#     break#     print("123")#输出的结果为:aname='alex'for item in name:    print(item)    continue    print("123")#输出的结果为:'a','l','e','x'四个字符
#练习题#1.for循环打印“alex”的每个元素:for>while#for循环name = "alex"for i in name:    print(i)#while循环name = "alex"length = len(name)i = 0while i < length :    print(name[i])    i += 1
#2.请打印:1-10(请注意range的特性,顾头不顾尾)for i in range(1,11):#[1,2,3,4,5,6,7,8,9,10,11,12,14] "12345678910"    print(i)
#3.请打印:1234568910for i in range(1,11):    if i ==7:        pass    else:        print(i)
    注意:forwhile的应用场景:有穷尽优先使用for,无穷尽用while
5. 变量
6. 注释
7. 条件语句
8. 循环语句:while + for + break + continue
9. 运算符
10. 字符串格式化
%s:代表字符串
%d:代表整型
%%:两个%代表一个%符号
11. 其他
markdown笔记
git
  本地:git软件【常用命令】
     git status
       git add .
                  git commit -m ''提交记录'
                  git push origin master
  远程:码云 / github(程序员交友平台)
  面试相关:
   1. 写出你常用的git命令。
      答:1. 在码云或GitHub等代码托管的网站创建自己仓库,创建完之后码云会给我一个仓库地址;
     2.然后自己编写代码
       3.将代码提交到远程仓库
      2. 你们公司是怎么用git做开发的?
   答:初始化:             
                            进入一个任意文件夹,如:D:\homework\
                                 git init
                                git config 邮箱
                                git config 姓名
                                git remote add origin 仓库地址
         注意:至此git已经将 D:\homework\目录管理起来,以后此文件夹有任何变化,git都会检测到(使用 git status 命令可以查看状态)                   
                      代码收集并提交:
                                        git status
                                       git add .
                                       git commit -m ''记录"
                                       git push origin master 将本地D:\homework\目录下的内容同步到码云仓库。
                     修改代码或删除文件等对本地 D:\homework\ 下任何文件做操作。
                                   git status
                                   git add .
                                   git commit -m ''记录"
                                   git push origin master 将本地D:\homework\目录下的内容同步到码云仓库。
                 【避免】如果远程有本地没有的代码,必须先执行:【可能引发合并问题】
                                  git pull origin master
                                  git status
                                  git add .
                                  git commit -m ''记录"
                                  git push origin master 将本地D:\homework\目录下的内容同步到码云仓库。
    12.总结
      (1)语法:变量/if/while/云孙福(辅助)
      (2)重点:数据类型中的字符串
                 a.独有功能
          b.共有功能
          c.for 循环
                   (3) 解决实际问题:逻辑+代码
1.列表学习
以后想要表示多个事物,可以使用列表。
  列表公共功能
  (1)len     
users=["李邵奇","奇航",99]
val=len(users)
print(val)#返回值3
  (2)索引
users=["李邵奇","奇航",99]
val=users[0]
print(val)#返回值:李邵奇
  (3)切片
users=["李邵奇","奇航",99]
val=users[0:2] # 返回值:李邵奇,奇航
   (4)删除(数字/布尔/字符串除外)、
    注意:字符串本身不能修改或删除【不可变类型】v1 = "alex".upper()
       列表是可变类型。
users=["李邵奇","奇航",99]
#方式一
users.pop(1)
print(users)
#方式二:
delusers[1]
print(users)
  (5)修改(字符串/数字/布尔除外)即重新赋值

 

users=["李邵奇","奇航",99]

 

users[2]=66

 

users[0]='李杰'

 

users[0][1]
  (6)步长
users=["李邵奇","奇航",99]
val=users[0:2:2] #输出的结果位:李绍奇
练习题:
#实现一个整数加法计算器(两个数相加):如:content=input("请输入内容:")用户输入:5+9或5+9或5+9(含空白),然后进行分割转换最终进行整数的计算得到结果。
content = input("请输入内容:")strip_content = content.strip()split_content = strip_content.split("+")a = int(split_content[0])b = int(split_content[1])print(a+b)  (7)for循环
users=['李邵奇','利奇航','张三丰','李子森']for i in users:    print(i)
#输出的结果为:打印users列表中的每一个元素    for ele in i:        print(ele)#输出的结果为:打印i字符串中的每一个字符
# 练习题:请通过for循环和数字计数器实现:users=['李邵奇','利奇航','张三丰','李子森']# 0李邵奇# 1利奇航# 2张三丰# 3李子森#方式一# users=['李邵奇','利奇航','张三丰','李子森']# count=0# for i in users:#     print(count,i)#     count +=1##方法二:users=['李邵奇','利奇航','张三丰','李子森']users_len=len(users)#4for index in range(0,users_len):#[0,1,2,3]    print(index,users[index])独有功能:(1)append 在列表的最后边追加元素
users=[]users.append('alex')print(users)
#示例二:users=[]for i in range(0,3):    name = input('请输入用户名和密码:')    users.append(name)print(users)#['alex,123','oldboy,888','lishaoqi,123']#用户和密码校验username=input('请输入要登陆用户名:')password=input('请输入要登陆密码:')for item in users:    result = item.split(',')  # 循环得到列表,第一次为['alex','123'],依次为:['oldboy','888']['lishaoqi','123']    user = result[0] #得到每一个列表的第一个元素进行比较    pwd = result[1]    if user == username and pwd == password:        print('登陆成功')        break
  (2)insert:插入到指定位置,示例:insert(2,"小李")
  (3)remove:删除具体值的元素
  (4)pop:根据下标即索引删除元素,如果没有指定索引,默认删除最后一个元素
  (5)clear:清空列表
总结:
增:append/insert
删:del/pop/remove/clear
改:重新赋值
查:切片或是索引
列表的嵌套:
users=["alex",0,True,[11,22,33,"老男孩"],[1,['alex','oldboy'],2,3]]
users[0]#alex
users[2]#True
users[0][2]#e
users[3]#[11,22,33,"老男孩"]
users[3][-1]#"老男孩"
users[3][-1][1]#''
users[3]=666 #["alex",0,True,666,[1,['alex','oldboy'],2,3]]
2.元组(英文:tuple)
   (1)元组书写规范
    users=(11,22,33,"老男孩")
  (2)公共功能
   a.索引(排除int与bool类型)
users=(11,22,33,"老男孩")
print(users[0]) #11
print(user[-1])#老男孩
  b.切片(排除int/bool)  
  users=(11,22,33,"老男孩")
       print(users[0:2])#11,22
  c.步长(排除int/bool)
  users=(11,22,33,"老男孩")
  print(user[0:2:2]) #11
  d.删除(排除int/bool/字符串str/元组tuple)注意:元组与字符串都是不可变类型
  e.修改(排除int/bool/字符串str/元组tuple)
  f.for循环(排除int/bool)
  g:len(排除int/bool)
  users=(11,22,33,"老男孩")
  print(len(users))# 4
 (3)独有功能 (无)
 (4)特殊:元组中的元素(儿子)不可被修改/删除。
#示例一:v1=(11,22,33)v1[1]=999#错误v1=999 #正确#示例二:可以嵌套v1=(11,22,33,(44,55,66),(11,2,(99,88,),3))#示例三:嵌套v2=[11,22,33,(11,22,33)]v2[-1][1]=99#错误v2[-1]=123#正确#示例四:嵌套v3=(11,[1,2,3],22,33)v3[1]=666#错误v3[1][2]=123 #正确
总结:
1.
解释型语言和编译型区别以及列举你了解的语言?
2. 字符串补充功能
独有:startswith/endswith   format    encode   join共有:    切片   索引   len    步长    for循环    range(0,11)# 帮助你生成一个数字列表[0,1,2,3,4,5,6,7,8,9,10]特性:        不可变,所以字符串中的元素不能被修改或是删除
3. git本地和远程要同步,以后只能操作本地然后提交。4. 列表(可变的数据类型)公共:索引/切片/步长/修改/删除 del /for/len独有:append /insert/pop/remove /clear列表嵌套5. 元组(不可变的数据类型)公共:索引/切片/步长/for/len独有:无元组嵌套:;v3=(11,[1,2,3],22,33)v3[1]=666 #错误v3[1][2]=123 #正确
 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!