Python笔记(一)

1.注释

注释分为单行注释和多行注释,其中多行注释有两种表示方法。
# 单行注释
"""
多行注释
多行注释
"""
'''
多行注释
多行注释
'''

2.变量

变量就是一个存储数据的时候当前数据所在的内存地址的名字而已
# 定义变量
name = 'ceyyen'
# 使用变量
print(name)

3.输出/输入

输出一般使用print()方法,该方法可以传递一个end参数值,代表输出的内容以什么结尾。
输出格式一般有以下几种:
符号含义
%s字符串
%d有符号的十进制整数
%f浮点数
%.2f保留两位小数
%06d输出的整数显示的位数,不足以0补全,超出的原样输出
weight = 60.3
name = "ceyyen"
salary = 6000
print('他的名字是%s,体重是%2f公斤,年龄是%d岁' % (name, weight, age))
print('他的名字是%s,体重是%2f公斤,年龄是%d岁' % (name, weight, age))
# 结束符号
print("hello", end="...")	# hello...
输入一般使用input()方法,该方法返回的值是字符串类型,即str
# input('提示信息')
num = input("请输入数字:")
print(f'您输入的数字是{num}')

eval()函数是将里面的参数,当做表达式来执行。

print(eval('[123,1,2,2]'))  # [123, 1, 2, 2]
print(type(eval('[123,1,2,2]')))	# <class 'list'>

4.运算符

a = 100
a += 2
print(a)  # 102

a *= 2
print(a)  # 204

b = 10
b **= 9  # 9次方
print(b)
复合运算时:先算复合赋值运算符右面的表达式,再算复合赋值运算
c = 6
c *= 2 + 3
print(c)  # 30
使用三目运算符实现:有两个变量,比较大小,输出值大的变量。
num1 = 20
num2 = int(input("输入一个数字"))
result = num1 if num1 >= num2 else num2
print(result)

5.流程控制

需求1:用户可以输入自己的年龄,来判断自己是否成年,成年则输出"您的年龄是**,已经成年。",其中**是用户的年龄
age = int(input("请输入您的年龄:"))
if age >= 18:
    print(f"您的年龄是{age},已经成年。")
else:
    print("您还未成年")
需求2:计算1-100的累加
i = 1
result = 0
while i <= 100:
    result += i
    i += 1
print(f"1-100累加的和是{result}")
需求3:计算1-100的偶数累加,即2+4+6+8
i = 2
result = 0
while i <= 100:
    result += i
    i += 2
print(f"1-100累加的和是{result}")
需求4:吃苹果,一共需要吃5个苹果才能吃饱,吃到第3 6 9 .....个苹果的时候,发现有虫子,就不吃了。用户输入苹果总数,看能否吃饱
total = int(input("请输入苹果的总数:"))
eatNum = 0  # 吃了多少苹果
eating = 0  # 正在吃的苹果
while eating < total and total > 0:
    if eatNum < 5:
        print("还没吃饱")
        if (eating+1) % 3 == 0:
            print(f"吃第{eating+1}个苹果的时候,发现了虫子,这个不吃了。")
            eating += 1
            continue
        else:
            print(f"正在吃第{eating+1}个苹果")
            eating += 1
    else:
        print("吃饱了不吃了")
        break
    eatNum += 1
    print(f"已经吃了{eatNum}个苹果了")

6. 字符串

find():检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则返回-1
myStr = "山石之上都是海棠花,这就是山石满棠"
print(myStr.find("山"))	# 0
print(myStr.find("山", 6, 20))	# 13
index():检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则报异常
print(myStr.index("石"))	# 1
print(myStr.index("石", 6, 20))	# 14
count():返回某个子串在字符串中出现的次数
print(myStr.count("石"))	# 2
replace():替换  传递三个参数:旧串,新串,替换次数   返回一个新串
print(myStr.replace('山', 'shan', 1))	# shan石之上都是海棠花,这就是山石满棠
split():按照指定字符分割字符串   传递两个参数:分割字符,次数  返回一个list
print(myStr.split('山', 2)) # ['', '石之上都是海棠花,这就是', '石满棠']
join():用一个字符或子串合并字符串,即是将多个字符串合并为一个新的字符串
myList = ['王', '奕', '棠']
print("...".join(myList)) # 王...奕...棠
capitalize():将字符串第一个字符转换成大写
print("shan".capitalize()) # Shan
title():将字符串每个单词首字母转换成大写
print("shan-shi-man tang".title()) # Shan-Shi-Man Tang
lower():将字符串中大写转小写
print("ABCdef".lower()) # abcdef
upper():将字符串中小写转大写
print("ABCdef".upper()) # ABCDEF
lstrip()  rstrip()    strip()分别是删除左边的空白字符、删除右边的空白字符、删除两边的空白字符
print("   好一场春雨,装饰了街景  也装饰了我和你。  ".lstrip())
print("   好一场春雨,装饰了街景  也装饰了我和你。  ".rstrip())
print("   好一场春雨,装饰了街景  也装饰了我和你。  ".strip())

运行结果

ljust()  rjust()  center()分别是删除左对齐字符串、右对齐字符串、中间对齐字符串,传递两个参数:长度和填充字符,字符串长度不够默认用填充字符
print("孤舟蓑笠翁".ljust(10))
print("孤舟蓑笠翁".rjust(10))
print("孤舟蓑笠翁".rjust(10, '*'))
print("孤舟蓑笠翁".center(10))

运行结果

startswith():检查字符串是否以指定字符串开头,返回bool型结果,可传递三个参数:子串,开始位置,结束位置
print("ShanShiManTang".startswith('shan')) # False
print("  ShanShiManTang".startswith('Sh', 4, 10)) # False
print("ShanShiManTang".startswith('Sh', 4, 10)) # True
endswith():检查字符串是否以指定字符串结尾,返回bool型结果,可传递三个参数:子串,开始位置,结束位置
print("ShanShiManTang".endswith('ang'))  # True
print("ShanShiManTang  ".endswith('ang', 4, 10))  # False
print("ShanShiManTang".endswith('n', 4, 10))  # True
isalpha():如果字符串至少有一个字符并且所有字符都是字母则返回True,否则False
print("1585891500".isalpha())  # False
print("QQ".isalpha())  # True
isalnum():如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则False
print("1585891500".isalnum())  # True
print("QQ".isalnum())  # True
print("QQ158589".isalnum())  # True
isdigit():如果字符串只包含数字则返回True,否则False
print("1585891500".isdigit())  # True
print("QQ1585891500".isdigit())  # False
 isspace():如果字符串只包含空白则返回True,否则False
print("".isspace())  # False
print(" ".isspace())  # True
print("  11".isspace())  # False

7.元组

定义元组: t1 = (10,20,'22')或者是 t1 = (10,)   数据不支持修改,只支持查找

查找方法

  1. 按下标查找 t1[0]

  2. index() 存在则返回下标,不存在则报错 例如:t1.index(20)

  3. count() 统计某个数据在当前元组出现的次数 例如:t1.count(20)

  4. len() 统计元组中数据的个数 例如:len(t1)

     如果元组中存在列表,则可以修改列表中的数据
    
t2 = (10, 20, 30, [40, 50, 60], 70, 80)
print(t2[3])
t2[3].append(61)
print(t2)

8. 列表

8.1 查找

  1. 直接下标查找 myList[0]
  2. index() myList.index(‘c’,开始下标,结束下标)
  3. count() myList.count(‘c’) 出现的次数
  4. len() len(myList) 列表的长度
myList = ['A', 'B', 'c', 'D', 'c']
print(myList[0])
print(myList.index('c', 4, 5))
print(myList.count('c'))
print(len(myList))
需求:判断用户输入的名字是否在列表里,如果不在则给出提示
nameList = ['ceyyen', 'Su']
name = input("请输入要查找的名字:")
if name in nameList:
    print(f"您输入的名字是{name},名字已经存在")
else:
    print(f"您输入的名字是{name},名字不存在")

8.2 增加

  1. append() 列表结尾追加数据,如果是追加序列,则追加整个序列到列表 nameList.append(‘XiaoMing’)
  2. extend() 列表结尾追加数据,如果是追加序列,则追加序列中的每个数据到列表 nameList.extend([‘XiaoMing’,‘XiaoWang’])
  3. insert() 指定位置新增数据 nameList.insert(2, ‘XiaoMing’)
  4. len() len(myList) 列表的长度
nameList.extend(['XiaoMing', 'XiaoWang'])
nameList.insert(2, 'XiaoMing')
print(nameList)

8.3 删除

  1. del 例如:删除整个列表:del nameList 或者是删除指定数据:del nameList[2]
  2. pop() 删除指定下标的数据(默认为最后一个),并返回该数据 nameList.pop(2)
  3. remove() 删除列表中某个数据的第一个匹配项 nameList.remove(‘XiaoMing’)
  4. clear() 清空列表中所有的数据

8.4 修改

  1. 按下标修改 例如:nameList[2] = ‘WangYiTang’
  2. reverse() 逆置列表 nameList.reverse()
  3. sort() 排序 nameList.sort() 可以传递一个reverse参数,值为True代表降序,为False代表升序(默认)
  4. copy() 复制 nameListNew = nameList.copy()

8.5 遍历

  1. while循环
name_list = ['诸葛亮', '司马懿', '曹操', '童渊', '赵云']
i = 0
while i < len(name_list):
    print(name_list[i])
    i += 1
  1. for循环
name_list = ['诸葛亮', '司马懿', '曹操', '童渊', '赵云']
for name in name_list:
    print(name)

9. 集合

集合里面的排列是无序的,且会去除重复数据

9.1 增加

  1. add() 例如:s1.add(100)
  2. update() 增加一个序列到集合中

9.2 删除

  1. remove() 删除集合中指定数据,如果数据不存在则报错 例如:s1.remove(20)
  2. discard() 删除集合中指定数据,如果数据不存在也不会报错 例如:s1.discard(20)
  3. pop() 随机删除集合中某个数据,并返回该数据 例如:s1.pop()

9.3 查找

  1. in 判断数据在集合里面 例如:20 in s1
  2. not in 判断数据不在集合里面 例如:20 not in s1
s1 = {10, 20, 30, '66', 10}
s1.add(100)
print(s1)
s1.update([20, 30, 40, 50, 60, 70])
s1.remove(20)
s1.discard(99)
print(s1)
print(s1.pop())
print(s1.pop())
print(s1)

10. 字典

10.1 增/修改

  1. 通过key新增 例如:myDict['name'] = '张飞'

10.2 删除

  1. del myDict['name'] 或者 del(myDict['name'])
  2. clear() 清空字典

10.3 查询

  1. 按照key查找,若key不存在则报错 例如: myDict['name']
  2. get(key,默认值) 如果key不存在,则返回默认值,若省略默认值则默认返回None
  3. keys() 获取所有的key值 返回可迭代对象
  4. values() 获取所有的value值 返回可迭代对象
  5. items() 获取所有的key-value值 返回可迭代对象,里面的数据是元组

练习如下:

myDict = {'name': '张飞'}
print(myDict)
del (myDict['name'])
print(myDict)
myDict['age'] = '19'
print(myDict)
myDict.clear()
print(myDict)
print(myDict.get('age'))
print(myDict.get('age', '没有找到数据'))
myDict['nation'] = '蜀国'
print(type(myDict.keys()))
print(type(myDict.values()))
print(type(myDict.items()))

10.4 遍历字典

infoDict = {'name': '诸葛亮', 'age': '18', 'nation': '汉'}
for key, value in infoDict.items():
    print(f'{key}={value}')
  • 21
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值