今日内容:

  列表

  元组

内容回顾与补充

  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. 《【面试突击】— Redis篇》-- Redis的主从复制?哨兵机制?

    能坚持别人不能坚持的,才能拥有别人未曾拥有的.关注左上角编程大道公众号,让我们一同坚持心中所想,一起成长!! <[面试突击]— Redis篇>-- Redis的主从复制?哨兵机制? 在这个 ...

  2. hdu - 4990

    Read the program below carefully then answer the question.    #pragma comment(linker, "/STACK:1 ...

  3. Centos 7.2 Jenkins+Ansible+Gitlab 基础配置

    注意:首先准备jenkins服务器  如何搭建jenkins 由于上篇文章中jenkins是采用war并部署在tomcat中来完成的安装,所以这里隆重介绍下启动tomcat的用户:tomcat,下面会 ...

  4. 数学基础系列(六)----特征值分解和奇异值分解(SVD)

    一.介绍 特征值和奇异值在大部分人的印象中,往往是停留在纯粹的数学计算中.而且线性代数或者矩阵论里面,也很少讲任何跟特征值与奇异值有关的应用背景. 奇异值分解是一个有着很明显的物理意义的一种方法,它可 ...

  5. CentOS7 搭建Fabric 1.0

    1.环境搭建 1.1 go的按装及配置 1.1.1下载go压缩包 ​ wget https://dl.google.com/go/go1.9.2.linux-amd64.tar.gz 1.1.2 解压 ...

  6. 异数OS-织梦师-异数OS虚拟容器交换机(七) 走进4Tbps网络应用时代,加速5G应用真正落地

    . 异数OS-织梦师-异数OS虚拟容器交换机(七) 走进4Tbps网络应用时代,加速5G应用真正落地 本文来自异数OS社区 github: https://github.com/yds086/Here ...

  7. Spring Cloud Contract 微服务契约测试

    简介 使用场景 主要用于在微服务架构下做CDC(消费者驱动契约)测试.下图展示了多个微服务的调用,如果我们更改了一个模块要如何进行测试呢? 传统的两种测试思路 模拟生产环境部署所有的微服务,然后进行测 ...

  8. Treap基本用法总结

    Treap=Tree+Heap  起名的人非常有才 Treap是啥? 一棵二叉搜索树可能退化成链,那样各种操作的效率都比较低 于是可爱的Treap在每个节点原先值v的基础上加了一个随机数rnd,树的形 ...

  9. pandas时间序列常用操作

    目录 一.时间序列是什么 二.时间序列的选取 三.时间序列的生成 四.时间序列的偏移量 五.时间前移或后移 五.时区处理 六.时期及算术运算 七.频率转换 一.时间序列是什么 时间序列在多个时间点观察 ...

  10. jmeter使用—远程分布式

    今天要说的是在远程服务器上使用多台服务器进行noGUI分布式使用jmeter压测. 1.首先准备几台服务器,服务器上都需要安装同一个版本的jmeter. 2.在服务器上启动jmeter的方式是在jme ...