今日内容:

  列表

  元组

内容回顾与补充

  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. Some collections were archived because you’ve reached the shared requests limits.错误解决

    今天打开我的postman 发现我的一个collection不见了,左下角出现一个提示, Some collections were archived because you’ve reached t ...

  2. 程序员Java架构师多线程面试题和回答解析

    当我们在Java架构师面试的过程中常见的多线程和并发方面的问题肯定是必不可少的一部分.那么在面试之前我们更应该多准备一些关于多线程方面的问题. 面试官只是想确信面试者有足够的Java线程与并发方面的知 ...

  3. C# 调用word进程操作文档关闭进程

    C# 调用word进程操作文档关闭进程 作者:Jesai 时间:2018-02-12 20:36:23 前言: office办公软件作为现在主流的一款办公软件,在我们的日常生活和日常工作里面几乎每天都 ...

  4. (转) exp1-2://一次有趣的XSS漏洞挖掘分析(2)

      第一次和一套程序做了这么多次的斗争.今天基友又给我来信说,没得玩了.了解了下情况,是他拿着0day到处插,被人家发现了.还出了个公告,说所有***必须安装补丁.呵呵,性福总是走的这么突然.这乐子一 ...

  5. xlwings excel(一)

    python操作Excel的模块,网上提到的模块大致有:xlwings.xlrd.xlwt.openpyxl.pyxll等,他们提供的功能归纳起来有两种:一.用python读写Excel文件,实际上就 ...

  6. GP工作室—Alpha版本发布1

    目录 GP工作室-Alpha版本发布1 一.简介 1.1作业要求 1.2团队成员 二.软件下载安装说明 五.项目总结 @(Gold Point团队の项目计划) GP工作室-Alpha版本发布1 一.简 ...

  7. JS基础——ATM机终端程序编写(2.0)

    在1.0版本上,利用数组进行用户的创建,通过调用数组下标,进行密码.余额的使用.新增了切换账户.修改密码的功能 以下为数组版代码. 创建模拟账户 个账户: let user = ["xiao ...

  8. Windows PHP 开启opcache的方法

    PHP opcache可以提升性能.Windows PHP 配置 opcache 的方法如下: 1.先检查PHP目录下ext目录中有没有php_opcache.dll,没有的话自己下载(PHP 5.5 ...

  9. Servlet梳理

    Servlet 梳理 概述 Web 技术成为当今主流的互联网 Web 应用技术之一,而 Servlet 是 Java Web 技术的核心基础. 要介绍 Servlet 必须要先把 Servlet 容器 ...

  10. Shell常用语句及结构

    条件判断语句之if if 语句通过关系运算符判断表达式的真假来决定执行哪个分支:shell有三种if语句样式,如下: 语句1 if [ expression ] then Statement(s) t ...