python学习笔记---基本语法

# 类的定义与继承
# 文件名采用 小写英文_小写英文的写法
# 类名采用驼峰命名法
# __init__(self)方法相当于c中的构造函数
# 类中的属性在__init__(self)中初始化

class Animal:
    def __init__(self, name, age, color):
        self.name = name
        self.age = age
        self.color = color

    def introduce(self):
        return f"我是{self.name},今年{self.age}岁,{self.color}"


class ChineseCat(Animal):
    def __init__(self, age, color):
        # 调用父类方法用 super().
        super().__init__('小猫', age, color)


class EnglishCat(Animal):
    def __init__(self, age, color):
        # 调用父类方法用 super().
        super().__init__('Little Cat', age, color)

    def introduce(self):
        return f"I am a {self.name},{self.age} years old,my skin is {self.color}"

import math

print('\n**************************************** 注释 ****************************************\n')
print('单行注释 #')
print('多行注释 双三引号,单双都行')

# 单行注释
'''
多行注释
'''

# 数学函数
print('\n**************************************** 数学函数 ****************************************\n')
print("math.log2(10)=" + str(math.log2(10)))

# 变量赋值,长度,索引
print('\n**************************************** 变量,长度,索引 ****************************************\n')
a: bool = True
b: bool = False
print(str(a) + "/" + str(b))

s = 'HelloWorld'
print(s + '长度=' + str(len(s)))
print('索引1的值:' + s[1])

# 变量类型
print('\n**************************************** 变量类型 ****************************************\n')
print(type(a))
print(type(s))

# 输入
# user_age = int(input("请输入年龄:"))

# 条件  单行条件判断里如果有多个条件 可以用and/or/not  对应与/或/非
# if user_age < 18:
#     print('未成年人')
# elif 18 <= user_age < 30:
#     print('青年人')
# else:
#     print('成年人')

# 单行条件判断里如果有多个条件 可以用and/or/not  对应与/或/非
# if not user_age >= 18:
#     print('未成年人')
# elif user_age >= 18 and user_age < 30:
#     print('青年人')
# else:
#     print('成年人')

# 列表
print('\n**************************************** 列表 ****************************************\n')
shopping_list = ['键盘', '鼠标']
shopping_list.append('鼠标垫')
shopping_list.append(1)
shopping_list.append(False)
print(shopping_list)
print('列表长度:' + str(len(shopping_list)))

# 字典
print('\n**************************************** 字典 ****************************************\n')
name_num = {'小明': '0101010101',
            '小花': '2112121212'}
# 修改/添加
name_num['小花'] = '323232233'
name_num['小草'] = '5555555'
print(name_num)

# 所有键、值、键值对
print('\n所有键、值、键值对')
print(name_num.keys())
print(name_num.values())
print(name_num.items())

# 判断是否包含
print(' ')
print('包含小关?' + str('小关' in name_num))
print('包含小草?' + str('小草' in name_num))

# 删除
print(' ')
del (name_num['小花'])
print(name_num)

# for循环
print('\n**************************************** for循环 ****************************************\n')
for name in name_num.keys():
    print(name + ":" + name_num[name])
# 也可以这样写
for name, value in name_num.items():
    print(name + ":" + value)
num_v = 0
for i in range(1, 101):
    num_v += i
print('1+2+...+100=' + str(num_v))

# white循环
print('\n**************************************** white循环 ****************************************\n')
list1 = ['你', '好', '吗']
i = 0
while i < len(list1):
    print(list1[i])
    i += 1

# 示例
# print('\n*求平均值*\n')
# user_input = input('请输入数字,按=终止:')
# total = 0
# count = 0
# while user_input != '=':
#     total += int(user_input)
#     count += 1
#     user_input = input('请输入数字,按=终止:')
# if count == 0:
#     print(0)
# else:
#     print(total/count)

# 字符串拼接
print('\n**************************************** 字符串格式化 format ****************************************\n')
message_content = '''
锄禾日当午,汗滴{0}下土。
谁知盘中餐,粒{1}皆辛苦。
'''.format('禾', '粒')
print(message_content)

print(
    '\n**************************************** 字符串格式化 format 关键字 ****************************************\n')
message_content = '''
锄禾日当午,汗滴{n1}下土。
谁知盘中餐,粒{n2}皆辛苦。
'''.format(n1='禾', n2='粒')
print(message_content)

print('\n**************************************** 字符串格式化 f-字符串 ****************************************\n')
n1 = '禾'
n2 = '粒'
message_content = f'''
锄禾日当午,汗滴{n1}下土。
谁知盘中餐,粒{n2}皆辛苦。
'''
print(message_content)

print(
    '\n**************************************** 数据格式化 保留几位小数 :.2f ****************************************\n')
name_float_dic = {'小明': 3.021, '小张': 32.111}
for name, value in name_float_dic.items():
    print("{0}你好,你的当前绩点是:{1:.2f}".format(name, value))

print('\n**************************************** 函数定义 先定义,后调用 ****************************************\n')


def calculate_sector(p1, p2):
    return p1 + p2


sun_value = calculate_sector(1, 2)
print(f"1+2={sun_value}")

# 引入模块的方式
import statistics

print(f'找出中位数[15199]:{statistics.median([15, 1, 99])}')

from statistics import median, mean

print(f'找出中位数[15199]:{median([15, 1, 99])}')

# 定义类及引用
print('\n**************************************** 定义类及引用 需要import ****************************************\n')
from class_animal import Animal
from class_animal import ChineseCat
from class_animal import EnglishCat

cat1 = ChineseCat(1, '白色')
cat2 = EnglishCat(1, 'yellow')
print(cat1.introduce())
print(cat2.introduce())

# 文件操作
print('\n**************************************** 读文件 ****************************************\n')
print('当前文件所在目录用./,也可以省略')
print('文件目录的上一级目录用../')

import os

print(f'data.txt所在目录的上级目录  {os.path.abspath('./../')}')

print('open()函数中传参 w代表只写模式 r代表只读模式 a代表附加模式 r+代表读取和追加模式')
# 打开文件
# file = open('./data.txt', 'r', encoding='utf-8')
# 读取整个文件
# print(file.read())
# 读取单行 可以配合 while读取到所有内容
# print(file.readline())
# 读取多行
# print(file.readlines())
# 关闭文件,用完一定要关闭
# file.close()

print('使用 with open() as 方式,作用域结束后自动关闭文件流')
with open('./data.txt', 'r', encoding='utf-8') as f:
    print(f.read())

print('\n**************************************** 写文件 ****************************************\n')
print('当目标文件不存在时会自动创建')
with open('./data.txt', 'a', encoding='utf-8') as f:
    f.write('\n大脸猫')
with open('./data.txt', 'r', encoding='utf-8') as f:
    print(f'追加后:\n{f.read()}')

# 异常捕捉
print('\n**************************************** 异常捕捉 try except else finally ****************************************\n')
print('''
try
    user_age = int("8岁")
    user_weight = 1 / 0
except ValueError:
    print('except:格式错误')
except ZeroDivisionError:
    print('except:除数不能为0')
except:
    print('不定义except类型,统统走这里')
else
    print('如果try里面的语句没有任何错误,则会执行else里的语句')
finally
    rint('不管是否触发except,都会执行finally里的语句')
''')
try:
    user_age = int("8岁")
    user_weight = 1 / 0
except ValueError:
    print('except:格式错误')
except ZeroDivisionError:
    print('except:除数不能为0')
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值