第一周笔记

day01:(数据类型 交互 和 if语句)

1)什么是python:
python是一门解释性语言,弱类型语言.
2)变量(在程序运行过程中产生的中间值 供给后面使用)的命名规则:
1,由 字母,数字,下划线组成.
2,不能是数字开头,更不能是纯数字.
3,不能用关键字
4,不要用中文
5,不能太长
6,要有意义
7,区分大小写
8,推荐使用驼峰和下划线
3)数据类型
1,整数 (int) + - /
2,字符串 (str) +(拼接)
(重复)
3,布尔 (bool) true(真) false(假)
4)交互
s=input("提示语")
接收到的是字符串类型
int(把字符串转化成整数)/str(把整数变成字符串)
5) if 语句
if 条件:
代码块1
else:
代码块2
当条件成立,执行代码块1. 否则执行代码块2.
if... else可以无限嵌套,写的时候尽量控制在3-5层以内.

day02:(while循环 和 运算符)
1)whil循环
while 条件:
代码块1(循环体)
break #彻底停止本层循环
continue #停止本次循环 执行下一次循环
else:#当条件不成立时执行else
代码块2
2)格式化输出
%s 占位字符串
%d 占位整数

注: 在字符串串中如果使⽤用了了%s这样的占位符. 那么所有的%都将变成占位符. 我们的2%也变成了
占位符. 而"%的"是不存在的, 这里我们需要使用%%来表示字符串中的%

例:让用户输入 名字, 年龄, 爱好 。格式化输出成 我叫xxx, 我喜欢干xxxx。 我今年xxx大了
name = "alex"
age = 18
hobby = "佩奇"
print("我叫%s, 我喜欢干%s, 我今年%d岁了" % (name, hobby, age)) # %d 必须占位数字

3)运算符(难点): in (判断xx是否出现在yy中)
1,逻辑运算:
and (并且的意思,左右两端同为真, 结果才是真)
or (或者的意思,左右两端有一个为真,结果就是真)
not (非真即假,非假即真)

    x or y 如果x为0 则返回y, 否则。 返回x
    and和or相反

    运算顺序:
    () => not => and => or
2,赋值运算
    = 简单的赋值运算符
        c=1+2 将1+2的运算结果赋值给c
    += 加法赋值运算符
        c+=1  等同于 c=c+1
    -= 减法赋值运算符
        c-=1  等同于 c=c-1
    *= 乘法赋值运算符
        c*=1  等同于 c=c*1
    /= 除法赋值运算符
        c/=1  等同于 c=c/1
    %= 取余赋值运算符
        c%=1  等同于 c=c%1
    **= 次幂赋值运算符
        c**=1  等同于 c=c**1
    //= 取整赋值运算符
        c//=1  等同于 c=c//1
3,比较运算
    == 等于 判断左右对象是否相等
    != 不等于 判断左右对象是否不相等
    <> 不等于 跟 != 类似
    > 大于
    < 小于
    >= 大于等于
    <= 小于等于

知识扩展

  1. 编码
    最早的计算机编码是ASCII。 有英文+数字+特殊字符 8bit => 1byte 没有中文, 后面的编码必须兼容ASCII
    GBK 把中国的文字进行编码. 对ASCII扩充。 16bit => 2byte 主要包含了中文, 日文, 韩文, 英文(兼容ASCII)
    UNICODE 32bit 兼容各个国家的编码。万国码。 浪费空间 32bit => 4byte
    UTF-8 可变长度的UNICODE。本质是UNICODE。
    英文在UTF-8里面占用1个字节 8bit
    欧洲文字。占用2个字节 16bit
    中文. 占用3个字节 24bit
    UTF-16

    8bit => 1byte
    1024byte => 1kb
    1024kb => 1mb
    1024mb => 1gb
    1024gb => 1tb
    1024tb = > 1

day03 (字符串的操作 for循环 和 while遍历循环)
1)字符串是什么,和字符串的常用操作方法
1,什么是字符串.
字符:是单一的文字符号,
字符串:是有序的字符序列,由" ' ''' """引起来的内容就是字符串.
2,字符串的常有操作方法
1,索引 [位置]
一排字符 反应第x个位置的字符 索引下标从0开始.使用[]来获取数据
例: s = '刘德华很帅但是张国荣更'
print(s[2])打印出来的就是"华"
2,切片 [start:end:step]
start代表起始位置
end代表结束的位置
step代表步长 步长如果是 正数 就从左往右截取
如果是 负数 就从右往左截取
截取内容顾头不顾尾
例: s = '刘德华很帅但是张国荣更'
print(s[7:10]) 打印"张国荣"
print(s[-4:-1]) 打印"张国荣"
print(s[5:1:-1]) 打印"但帅很华"
3常用单词
upper()转大写
lower()转小写
casefold() 转小写 比lower支持的语言文字多
strip()去两边空格 lsrip()去左空格 rstrip()去右空格
replac("新","旧",2)替换 新内容替换旧内容 换几个
split() 切割 刀有多宽 就要损失掉多少
starswith()判断是不是以xxx开头
endswith()判断是否以xxx结尾
capitalize() 首字母大写
title() 把单词的首字母大写
swapcase() 大小写互换
center 居中
center(10,"") 拉伸长度 用填充 并居中
count() 计数
find() 索引 找不到返回-1
index() 索引 找不到返回报错
isalpha() 判断是否以字母组成
isdigit() 判断是否以数字组成
isalum() 判断是否由数字和字母组成
len() 判断长度
4,while遍历循环
例: s="我叫王宪东今年十八岁"
count=0
while count<len(s)#次数小于字符串长度
print(s[count])#打印字符串的第几位
count+=1#每次循环次数都+1
5,判断回文
例: s="上海自来水来自海上"
s1=s[::-1]#从右往左循环
if s=s1则是回文
6, for循环
for 变量 in 可迭代对象
循环体
else:
循环结束是执行的代码块

day04:(列表,元组 和列表的增删改查 还有range)
1)range
range(边界) 从0到边界
range(start, end) 从start到end
range(start, end, step) 从start到end. 步长是step

    遍历列表的时候可以使用range
    for i in range(len(list)):
        list[i]
2)什么是列表(list)
    lis=[内容,不限制类型]
    lst = list() #创建空列表
    列表就是能装对象的对象 用[]表示,内部内容用,隔开
    可以索引 切片 和 嵌套
3)列表的增删改查
    新增:
        append()是追加的意思
        lis.append(新内容)#在最后的位置追加,效率高 

        insert() 是插入的意思
        lis.insert(2,内容)#指定位置添加,可能会造成列表内的元素移动

        extend()是迭代添加
        lis.extend(刘能)#加入的内容是 刘, 能
        lis.extend("刘能","赵四")#加入的内容是 刘能, 赵四

    删除:
        pop()弹出
        lis.pop()#默认弹出最后一个 也可指定位置弹出

        remove()删除指定的元素
        lis.remove("内容") #要指定内容

        del [] 切片删除
        del lis[0] 
        del lis[1:3]

        clear() 清空

    修改:
        lis[]=新内容
        lis[1:3]=新内容
        lis[1:5:2]=新内容
        例: lst = ["功夫", "大话西游", "少林寺", "无间道", "战狼"]
            lst[2] = "西西里的美丽传说"
            #则 少林诗 改为 西西里的美丽传说 
            lst[1:3] = ["一步之遥"]
            #则 大话西游,少林寺 全部消失 加入 一步之遥
            lst[1:4:2] = ["胡辣汤", "烩面"]
            #则 大话西游 无间道 分别改为 胡辣汤 烩面
            *注意* 如果步长不是1. 那么元素的个数要匹配
    查询:
        列表是一个可迭代对象. 可以使用for循环
        for el in lis:
            print(el)#查询每一项 没有索引
        for el in range(len(lis)):
            print(el,lst[el])#索引 + 内容
    列表的操作:
        1. count()#计数
        2. sort()#排序
           sort(reverse=True) #倒序
        3. reverse() #翻转
        4. find()#索引
        5. index()#索引
        例:lst = ["马化腾", "马云", "刘强东", "周鸿祎", "李彦宏", "马云", "马云"]
            print(lst.count("马云"))#计算马云出现的次数
        lst = [1, 8, 12, 1, 4, 6, 3]
            lst.sort()#sort 是排序的意思 从小到大
            lst.sort(reverse=True)  # 倒叙排序
            lst.reverse()  # 翻转
            print(len(lst))  # 求长度, 和字符串一样
4)元组(tuple)
    元组是不可变的列表,也叫只读列表,第一层元素不可变
    用()表示,元素之间用,隔开
    ()在计算机中还表示优先级,
    ()内加了,才是元组.如(1)不是元组(1,)为元组
    tu = tuple() #创建空元组
    元组可以 切片 可以索引 可以嵌套 但是第一层元素不可修改
    不可变的数据类型还有: int, str, bool, (元组)

day05:(字典 字典的增删改查 )
1)什么是字典(dict)
dict. 以{}表示. 每一项用逗号隔开,
内部元素用key:value的形式来保存数据
{"jj":"林俊杰", "jay":"周杰伦"}

    查询的效率非常高, 通过key来查找元素
    内部使用key来计算一个内存地址(暂时),hash算法. key必须是不可变的数据类型(key 必须是可哈希的数据类型)
    可哈希就是不可变
2)字典的增删改查
    新增:
        dict["新key"] = "value"
        如果key已经存在,那么会替换原来的value
        dict.setdefault("新key","新value")
        如果key已经存在,不会执行新增
    删除:
        pop("key") 指定key删除
        popitem() 随机删除
        del dict[key] 也是删除# dict是你创建的字典名称
        clear() 清空字典
    查询:
        print(dic["key"])#打印 key 对应的内容
        peint(dic.get("key"))#打印对应的内容,key不存在返回none
        peint(dic.get("没有的key"),"返回的内容")key不存在返回输入
        的内容

        *注*:setdefault()
        执行新增流程,如果key已经存在,不会执行新增,直接查询内容
    修改:
        dic["key"]="新value"

        dic2={"新key":"新value","新key2":"新value2"}
        dic.updat(dic2)# dic 更新为 dic2 的内容 
    字典的相关操作:
        1. keys() 获取所有键  这个返回的不是列表, 很像列表
             print(dic.keys())

        2. values()获取所有的值
             print(dic.values())

        3. items() 获取所有的键值对. 返回的是元组
             print(dic.items())

        解构, 直接把元组或者列表中的数据拿出来.
        a, b, c = (a1, b1, c1) 必须一一对应
        当需要遍历字典中涉及到key和value的时候
            例:for k, v in dic.items(): 
                print(k) 
                print(v)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值