Python基础语法
内容目录

参考视频:你觉得自己这辈子都学不会编程?超超超基础Python课程,3小时快速入门 【自学Python教程合集】【3小时快速入门Python】_哔哩哔哩_bilibili

赋值与输出

#赋值
name = "张三"  
#输出
print("hello"+name)

导入库与用库中函数

#导入math库
import math  
#赋值  
a = -1  
b = -2  
c = 3  
#math.sqrt,意味着导入math库中的sqrt函数  
ans = (-b + math.sqrt(b ** 2 - 4 * a * c)) / (2 * a)  
print(ans)

python中数据类型

# 对字符串求长度  
string = "123456"  
print(len(string))  # 输出结果为6  

# 通过索引获取单个字符  
print(string[0])  # 输出结果为1  

# 布尔类型,注意True和False首字母都要大写  
bool1 = True  
bool2 = False  
print(bool1)  # 输出结果为True  

# 空值类型,等价于Java中的Null  
n = None  

# type函数  
print(type(string))  # 输出结果为<class 'str'>  
print(type(n))  # 输出结果为<class 'NoneType'>

# 除此之外还有int,float,不一一展示

类型转化与输入

# input函数输入,输入的值会自动变为str类型,需要用float(),int()等转化
user_weight = float(input("请输入体重"))  
user_height = float(input("请输入身高"))  
user_BMI = user_weight / user_height ** 2  
print("你的BMI为:"+str(user_BMI))

条件判断

mode_index = input("条件:")  
# if和else后面要跟":",条件语句用缩进来控制,其中还有个elif和java中的elseif效果一样
if int(mode_index) >= 60:  
    print("1")  
else:  
    print("2")

逻辑运算

只有and,or,not

列表(有点像数组)

# python中列表为[],里面的数据种类不要求相同  
list = []  
# append相当于add,在列尾添加元素  
list.append("键盘")  
list.append("键帽")  
# 移除指定元素,若没有“键盘”元素,则报错  
list.remove("键盘")  
list.append("键帽2")  
# 将0号位元素变为1  
list[0] = 1  
print(list)  # 此时list为[1, '键帽2']

字典

# 创建字典,可以用以下两种方法添加or创建  
dict = {"键值1": "key1",  
        "键值2": "key2"}  
dict["键值3"] = "key3"  

query = input("请输入想要查询的键值:")  

# 在字典内查询  
if query in dict:  
    print(dict[query])  
# 用len也可以查询字典的内容数量  
print("总共有" + str(len(dict)) + "条")
dict.keys()  # 返回所有键
dict.values()  # 返回所有值
dict.items()  #返回所有键值对

for

用in来控制范围,可以如下图所示达到Java中类似for(List a : lists)一样的效果

image.png

也可以利用range来达到正常的效果
for i in range(a,b,c)等价于 for(int i = a; i < b; i = i + c) (c默认为1)
image.png

while

函数

# 用def定义函数
def cal(number1, number2):  
    answer = number1 + number2  
    print("函数内:"+str(answer))  
    return answer  

a = 1  
b = 2  
answer = cal(a,b)  
print("函数外:"+str(answer))

构造函数和类的写法

class Student:  
    # 构造函数,必须要有且必须命名为__init__,且必须有self变量(但传入的时候不用传)  
    # 和java不同的是,不用单独吧变量命名出来,直接写到构造函数内即可  
    def __init__(self, name, student_id):  
        self.name = name  
        self.student_id = student_id  
        self.grades={  
            "语文": 0,  
            "数学": 0,  
            "英语": 0  
        }  

    #设置成绩  
    def set_grades(self, course, grade):  
        if course in self.grades:  
            self.grades[course] = grade  

    #打印成绩  
    def print_grades(self):  
        for course in self.grades:  
            # f是格式化字符串,f“{xxx}123”会自动从作用域内找到名为xxx的变量并将数值填入其中  
            print(f"{course}: {self.grades[course]}分")  

student1 = Student("aaa",1)  
print(student1.student_id)  
student1.set_grades("语文", 999)  
student1.print_grades()

继承类和super

class Employee:  
    def __init__(self, name, id):  
        self.name = name  
        self.id = id  

    def print_info(self):  
        print(f"员工名字:{self.name},工号:{self.id}")  

# 继承Employee类  
class FullTimeEmployee(Employee):  
    def __init__(self, name, id ,monthly_salary):  
        # super的方法
        super().__init__(name,id)  
        self.monthly_salary = monthly_salary

异常处理

image.png

上一篇
下一篇