今日内容:

  列表

  元组

内容回顾与补充

  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_x
result = "**".join(name) # 循环每个元素,并在元素和元素之间加入连接符。
print(result)
公共功能
  (1)索引:获取一个字符
  (2)切片:获取一段字符(子序列)
  (3)步长
name = "alex"
val1=name[0:-1:2] #输出结果为:ae
val2=name[1:-1:2] #输出结果为:l
val3=name[1::2] #输出结果是:lx
val4=name[::2] #输出结果是:ae
val5=name[-1:0:-2] #输出结果是:xl
print(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")
#输出的结果为:a name='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 = 0
while 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.请打印:1234568910
for i in range(1,11):
if i ==7:
pass
else:
print(i)
    注意:for和while的应用场景:有穷尽优先使用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)#4
for 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 #正确
 

20191228--python学习第四天的更多相关文章

  1. python学习第四讲,python基础语法之判断语句,循环语句

    目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...

  2. python学习第四次笔记

    python学习第四次记录 列表list 列表可以存储不同数据类型,而且可以存储大量数据,python的限制是 536870912 个元素,64位python的限制是 1152921504606846 ...

  3. Python学习(四)数据结构(概要)

    Python 数据结构 本章介绍 Python 主要的 built-type(内建数据类型),包括如下: Numeric types          int float Text Sequence ...

  4. python学习-第四天补充-面向对象

    python学习-第四天补充-面向对象 python 私有 --name mangling(名字修改.名字) 在命名时,通过使用两个下划线作为开头,可以使得这个变量或者函数编程私有的,但是这个其实的p ...

  5. python学习第四十八天json模块与pickle模块差异

    在开发过程中,字符串和python数据类型进行转换,下面比较python学习第四十八天json模块与pickle模块差异. json 的优点和缺点 优点  跨语言,体积小 缺点 只能支持 int st ...

  6. Python学习(四)cPickle的用法

    python中有两个类似的:pickle与cPickle:两者的关系:“cPickle – A faster pickle” pickle模块中的两个主要函数是dump()和load().dump() ...

  7. Python学习笔记(四)Python函数的参数

    Python的函数除了正常使用的必选参数外,还可以使用默认参数.可变参数和关键字参数. 默认参数 基本使用 默认参数就是可以给特定的参数设置一个默认值,调用函数时,有默认值得参数可以不进行赋值,如: ...

  8. Python学习(四十二)—— Djago-model进阶

    一.QuerySet 可切片 使用Python 的切片语法来限制查询集记录的数目 .它等同于SQL 的LIMIT 和OFFSET 子句. Entry.objects.all()[:5] # (LIMI ...

  9. Python学习笔记四

    一.装饰器 1.知识储备 函数对象 函数可以被引用 函数可以当参数传递 返回值可以是函数 可以当作容器的元素 def func1(): print (666) def func2(): print ( ...

  10. python学习第四天笔记整理

    一.迭代器及生成器 #迭代器:迭代的工具 #1 什么是迭代:指的是一个重复的过程,每一次重复称为一次迭代,并且每一次重复的结果是下一次重复的初始值# while True:# print('===== ...

随机推荐

  1. 如何在ArcGIS中恢复注记文字

    文字标注是地图上一种特殊的视觉元素,可通过文字表达图形符号难以说明的地图内容,它与图形符号结合在一起存在于地图上,是关乎地图构图美的关键因素之一. MapGIS软件下子图对象和注释对象统统保存在点文件 ...

  2. linux下大文件查询具体段内容

    有时候我们的文件比较大,比如几十G,甚至上百G.这么大的文件怎么查询呢? 有很多种方法都可以实现,这儿选择用 cat 这个命令实现. 先来看看 cat 的介绍 cat 有个对应的命令 tac,cat反 ...

  3. 150行代码打造.net core生产力工具,你值得拥有

    你是否在初学 .net core时,被依赖注入所折磨? 你是否在开发过程中,为了注入依赖而不停的在Startup中增加注入代码,而感到麻烦? 你是否考虑过或寻找过能轻松实现自动注入的组件? 如果有,那 ...

  4. Activiti 手工任务(manualTask)

    Activiti 手工任务(manualTask) 作者:Jesai 前言: 手工任务就是一个自动执行的过程.手动任务几乎不在程序中做什么事情,只是在流程的历史中留下一点痕迹,表明流程是走过某些节点的 ...

  5. 跨源请求cors和jsonp

    0.产生跨域的原因 浏览器的同源策略 什么是浏览器的同源策略? src开发 ajax禁止 解决方法 jsonp 通过src绕过浏览器的同源策略 缺点:只发送GET请求 cors 通过设置相应头 分类 ...

  6. Node.js实操练习(一)之Node.js+MySQL+RESTful

    前言 最近学习了一下node.js相关的内容,在这里初步做个小总结,说实话关于本篇博客的相关内容,自己很久之前就已经有过学习,但是你懂的,“好记性不如烂笔筒”,学过的东西不做笔记的话,很容易就会忘记的 ...

  7. python+win32--com实现excel自动化

    import win32com  APP_TYPE = 'Excel.Application'  xlBlack,xlRed,xlGray,xlBlue = 1,3,15,41 xlBreakFull ...

  8. 20200104模拟赛 问题C 上台拿衣服

    题目 分析: 乍一看不就是从楼上扔鸡蛋那道题吗... 然后开始写写写... 设f [ i ] [ j ]表示 i 个记者膜 j 次可以验证多少层楼... 于是开始递推: 我们选取第 i 个记者去尝试其 ...

  9. 亲测可用!在线购书系统项目分享(Java)

    项目简介 项目来源于:https://gitee.com/suimz_admin/BookShop 一个基于JSP+Servlet+Jdbc的书店系统.涉及技术少,易于理解,适合JavaWeb初学者学 ...

  10. 分享一下我在mysql5.6+mysql8数据库安装过程中的一些坑!

    Mysql5.6安装 下载好安装包后,在bin目录下用cmd打开,输入mysqld install [服务名]新建个服务 在windows+r输入services.msc即可查看服务 怎样使用mysq ...