栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python基础学习笔记

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python基础学习笔记

第一章
变量的命名规则:
1, 变量由字母, 数字,下划线搭配组合而成
2, 不可以用数字开头,更不能是全数字
3,不能是Python的关键字, 这些符号和字母已经被Python占用, 不可以更改, 比如, if, while, break, continue等等
4,不要用中文
5,名字要有意义
6,不要太长
7, 区分大小写
大家约定俗成, 所有字母大写就是常量
#字符串的拼接
s1 = 'a ’
s2 = ‘bc’
print(s1 + s2)
a = 10
b = “10”
print(type(a)) #
print(type(b)) #
input获取到数据都是str类型的.
a = int(input(“请输入一个数字a:”)) # 1
b = int(input(“请输入一个数字b:”)) # 1
print(a + b) # 2
1, break: 立刻跳出循环. 打断的意思
2, continue: 停止本次循环, 继续执行下一次循环.
import random
n = random.randint(1, 100) # 1~100之间的随机整数.
print(n)
第二章
%s就是代表字符串占位符,除此之外,还有%d, 是数字占位符
name = input(“Name:”)
age = input(“Age:”)
job = input(“Job:”)
hobby = input(“Hobbie:”)

info = ‘’’
------------ info of %s ----------- #这里的每个%s就是一个占位符,本行的代表 后面拓号里的 name
Name : %s #代表 name
Age : %s #代表 age
job : %s #代表 job
Hobbie: %s #代表 hobbie
------------- end -----------------
‘’’ % (name,name,age,job,hobbie) # 这行的 % 号就是 把前面的字符串 与拓号 后面的 变量 关联起来
print(info)
name = “sylar”
print(f"{name}真是一个蠢蠢的小蠢蠢")
content = input(“请输入你的评论内容:”)
if “苍井空” in content:
print(“存在苍井空”)
else:
print(“不存在苍井空”)
判断一句话中是否包含了"苍井空"
结论:

  • ascii : 8bit, 主要存放的是英文, 数字, 特殊符号
  • gbk: 16bit, 主要存放中文和亚洲字符. 兼容ascii
  • unicode: 16bit和32bit两个版本. 平时我们用的是16bit这个版本. 全世界所有国家的文字信息. 缺点: 浪费空间(传输和存储)
  • utf-8 : 可变长度unicode, 英文: 8bit, 欧洲文字: 16bit, 中文24bit. 一般数据传输和存储的时候使用.
  • 以上所有编码必须兼容ascii .
    编码用encode() 解码用decode()

str:
索引就是下标, 切记, 下标从0开始
切片完整语法:
str[startstep]
start: 起始位置
end: 结束位置
step: 步长
切记, 字符串是不可变的对象, 所以任何操作对原字符串是不会有任何影响的

  1. upper(), 把字符串中所有的字母都变成大写. 主要使用在忽略大小写的时候用
  2. strip(), 默认去掉左右两端的空白, 包括n, t, 空格.
  3. replace(), 字符串替换
  4. split(), 字符串切割. 得到字符串列表
  5. join(), 把列表重新组合成字符串
  6. startswith(), 判断是否以xxxx开头
  7. find(), 查找xxxx
  8. count(), 数数, 查看xxx出现的次数
  9. isdigit(), 判断该字符串是否是由数字组成
  10. len(), 字符串长度, 它是一个内置函数, 直接len(数据)即可
    s12 = “我叫{0}, 今年{2}岁了, 我喜欢{1}”.format(“周杰伦”, “周润发”, 28) # 指定位置
    print(s12)
查找
查找
s13 = "我叫sylar, 我喜欢python, java, c等编程语言."
ret1 = s13.startswith("sylar")   # 判断是否以sylar开头
print(ret1)
ret2 = s13.startswith("我叫sylar")    # 判断是否以我叫sylar开头
print(ret2)

ret3 = s13.endswith("语言")   # 是否以'语言'结尾
print(ret3)
ret4 = s13.endswith("语言.")  # 是否以'语言.'结尾
print(ret4)

ret7 = s13.count("a")   # 查找"a"出现的次数
print(ret7)

ret5 = s13.find("sylar")    # 查找'sylar'出现的位置
print(ret5)

ret6 = s13.find("tory")     # 查找'tory'的位置, 如果没有返回-1
print(ret6)

ret7 = s13.find("a", 8, 22)  # 切片找
print(ret7)

##大小写转换

print(s1)   # 输出发现并没有任何的变化. 因为这里的字符串本身是不会发生改变的. 需要我们重新获取

ret1 = s1.capitalize()
print(ret1)

# 大小写的转换
ret = s1.lower()    # 全部转换成小写
print(ret)

ret = s1.upper()     # 全部转换成大写
print(ret)

# 应用, 校验用户输入的验证码是否合法
verify_code = "abDe"
user_verify_code = input("请输入验证码:")
if verify_code.upper() == user_verify_code.upper():
    print("验证成功")
else:
    print("验证失败")

ret = s1.swapcase()     # 大小写互相转换
print(ret)

# 不常用
ret = s1.casefold()     # 转换成小写, 和lower的区别: lower()对某些字符支持不够好. casefold()对所有字母都有效. 比如东欧的一些字母
print(ret)

s2 = "БBß"  # 俄美德
print(s2)
print(s2.lower())
print(s2.casefold())

# 每个被特殊字符隔开的字母首字母大写
s3 = "sylar chuchu,baoheizi*展昭_麻花藤"
ret = s3.title()       # Sylar chuchu,baoheizi*展昭_麻花藤
print(ret)

# 中文也算是特殊字符
s4 = "sylar最喜欢heihei_bao"     # Sylar最喜欢Heihei_Bao
print(s4.title())
切换
"
ret = s5.center(10, "*")   # 拉长成10, 把原字符串放中间.其余位置补*
print(ret)


# 去空格
s7 = "   heihei bao   haha "
ret = s7.strip()    # 去掉左右两端的空格
print(ret)

ret = s7.lstrip()   # 去掉左边空格
print(ret)

ret = s7.rstrip()   # 去掉右边空格
print(ret)

# 应用, 模拟用户登录. 忽略用户输入的空格
username = input("请输入用户名:").strip()
password = input("请输入密码: ").strip()
if username == 'ren' and password == '123':
    print("登录成功")
else:
    print("登录失败")

s7 = "abcdefgabc"
print(s7.strip("abc"))  # defg 也可以指定去掉的元素,


# 字符串替换
s8 = "bao_heihei_nezha_huhu"
ret = s8.replace('bao', '包')    # 把bao替换成包
print(s8)   # bao_heihei_nezha_huhu 切记, 字符串是不可变对象. 所有操作都是产生新字符串返回
print(ret)  # 包_heihei_nezha_huhu

ret = s8.replace('i', 'SB', 1)     # 把i替换成SB, 替换1个
print(ret)  # bao_heSBhei_nezha_huhu

# 字符串切割
s9 = "bao_heihei_nezha_huhu"
lst = s9.split("_")     # 字符串切割, 根据_进行切割
print(lst)

lst = ['周杰伦', '王力宏', '麻花藤']
s = "_".join(lst)
print(s)  # 周杰伦_王力宏_麻花藤

s10 = """诗人
学者
感叹号
渣渣"""
print(s10.split("n"))  # 用n切割

# 坑
s11 = "哈哈包黑黑呵呵包黑黑吼吼包黑黑"
lst = s11.split("银王")   # ['', '哈哈', '呵呵', '吼吼', ''] 如果切割符在左右两端. 那么一定会出现空字符串.深坑请留意
print(lst)

len()是python的内置函数. 所以访问方式也不一样. 你就记着len()和print()一样就行了
语法:
for 变量 in 可迭代对象:
pass

1. append()  增加数据, insert() 插入
2. remove()  删除数据, pop() 
3. list[index] = value  修改数据
4. for循环   循环查看
for item in lst:
循环

for i  in range(len(lst)):
i
lst[i]


lst = ["周杰伦", "马虎疼", "疼不疼", "傻不傻"]
for i in range(len(lst)):
    print(i, lst[i])

lst = ["小白", "小黑", "腾哥", "马总", "日天", "小白"]
c = lst.count("小白")     # 查询太白出现的次数
print(c)

lst = [1, 11, 22, 2]
lst.sort()          # 排序. 默认升序
print(lst)
lst.sort(reverse=True)  # 降序
print(lst)

lst = ["小白", "小黑", "腾哥", "马总", "日天", "白天"]
print(lst)
lst.reverse()
print(lst)

l = len(lst)    # 列表的长度
print(l)
元组

关于不可变, 注意: 这里元组的不可变的意思是子元素不可变. 而子元素内部的子元素是可以变, 这取决于子元素是否是可变对象.
元组中如果只有一个元素. 一定要添加一个逗号, 否则就不是元组

字典

已知的可哈希(不可变)的数据类型: int, str, tuple, bool
不可哈希(可变)的数据类型: list, dict, set

增
dic = {}
dic['name'] = '周润发'     # 如果dict中没有出现这个key, 就会新增一个key-value的组合进dict
dic['age'] = 18
print(dic)

# 如果dict中没有出现过这个key-value. 可以通过setdefault设置默认值
dic.setdefault('李嘉诚')   # 也可以往里面设置值.
dic.setdefault("李嘉诚", "房地产")    # 如果dict中已经存在了. 那么setdefault将不会起作用
删
ret = dic.pop("jay")
print(ret)

del dic["jay"]
print(dic)

# 清空字典中的所有内容
dic.clear()
改
dic = {"id": 123, "name": 'sylar', "age": 18}
dic1 = {"id": 456, "name": "麻花藤", "ok": "wtf"}
dic.update(dic1)    # 把dic1中的内容更新到dic中. 如果key重名. 则修改替换. 如果不存在key, 则新增.
print(dic)
print(dic1)
查
print(dic['name'])
# print(dic['sylar'])     # 报错
print(dic.get("ok"))
print(dic.get("sylar"))      # None
print(dic.get("sylar", "牛B"))   # 牛B
循环
for k in dic:
    print(k)
    
print(dic.keys())   # dict_keys(['id', 'name', 'age', 'ok']) 不用管它是什么.当成list来用就行
for key in dic.keys():
    print(key)

print(dic.values())     # dict_values([123, 'sylar', 18, '科比']) 一样. 也当list来用
for value in dic.values():
    print(value)

print(dic.items())  # dict_items([('id', 123), ('name', 'sylar'), ('age', 18), ('ok', '科比')]) 这个东西也是list. 只不过list中装的是tuple
for key, value in dic.items():  # ?? 这个是解构
    print(key, value)

# 解构
a, b = 1, 2
print(a, b)

(c, d) = 3, 4
print(c, d)

e, f = [1, 2, 3]    # 解构的时候注意数量必须匹配
print(e, f)
set
s1 = {"刘能", "赵四", "皮长山"}
s2 = {"刘科长", "冯乡长", "皮长山"}

# 交集
# 两个集合中的共有元素
print(s1 & s2)  # {'皮长山'}
print(s1.intersection(s2))  # {'皮长山'}

# 并集
print(s1 | s2)  # {'刘科长', '冯乡长', '赵四', '皮长山', '刘能'}
print(s1.union(s2))     # {'刘科长', '冯乡长', '赵四', '皮长山', '刘能'}

# 差集
print(s1 - s2)  # {'赵四', '刘能'} 得到第一个中单独存在的
print(s1.difference(s2))     # {'赵四', '刘能'}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1025817.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号