基础是深入必不可少的,如果没有基础的支持,后面都是浮云,就像情侣之间,没有感情基础是不会有好结果的,物资基础是靠两个人打拼的,所以学习就像谈恋爱,两个人要学会沟通,才能修成正果,一句话就是有话可说!
目录概览
- 字面量
- 注释
- 变量
- 数据类型
- 标识符
- 运算符
- 字符拼接格式化与精度控制
- input语句(函数)
- 比较运算
- 判断语句(可以嵌套)
- 循环语句(可以嵌套)
- 函数
- 数据容器(类型不受限制)
- 操作文件
- 模块 => `就是有个公共类模块 , 可以自定义的,可以内置的`
- JSON 数据解析
- pyecharts可视化模块
- 类和面向对象
字面量
代码中被写出来的值就是字面量值!学过了javascript的类型后基本知道 ,只是有些雷同!就不多说了!
注释
# 单行注释"""
-多行注释1
-多行注释2
"""
变量
变量是用来记录数据的!
#定义变量
money = 50
print("输出money", money)
# 花了10
money = money - 10
print("剩下", money)
数据类型
#查看数据类型
type("sss")
#<class str># 数据类型的转换
num_str = str(123)
num = int("123")
float_num = float(123.12)
...
标识符
a
_a
a_a
a_1
aA
Aa
...
运算符
+-*/
#整除
11//2 = 5#取余
11%2 = 1#指数
2**3 = 8= += -+ *= /= %= **= //=
字符拼接格式化与精度控制
name = "李华"
age = "15"
height = 1.649
all_ponit = "小花的孩子%s,年龄%s岁,身高%.2f米。" % (name,age,height)
print(all_ponit )
#小花的孩子李华,年龄15岁,身高1.65米。#占位符 字符串 整数 浮点数
%s %5d %5.2f %.2f
快速拼接方法,不做精度控制=> f"{变量}{变量}"
name = "XXX股票"
set_up_year = 2006
stock_price = 19.99print(f"我是{name},成立于:{set_up_year}年,今天的股票是:{stock_price}")
#我是XXX股票,成立于:2006年,今天的股票是:19.99
input语句(函数)
比较运算
num1 = 10
num2 = 20
print(f"10 >= 20结果:{num1 >= num2}") #False# == != > < >= <=
判断语句(可以嵌套)
# age = int(input('请输入您的年龄'))
age = 18
if age > 18:print("您已经成年")
elif age == 18:print("您刚好成年")
else:print("我未成年")
循环语句(可以嵌套)
sum = 0
i = 0
while i <= 100:sum += iif i == 100:print(f"和为:{sum}")i += 1
#5050
for x in y
continue终止执行某一步
break整体终止执行
name = "jkijskijaisijiwkol"count = 0for x in name:if x == 'j':count += 1print(count)
#4
#九九乘法表
for i in range(1,10):for j in range(1,i + 1):print(f"{j} * {i} = {j * i}\t", end='')print()
rang(num1,num2,step)
for x in range(5,10,2):print(x)
#5 7 9
函数
def my_len(data):count = 0for i in data:count += 1print(f"{data}的长度为:{count}")my_len("12356")
#5
def add(a,b):"""统计函数:param a: 第一个实参:param b: 第二个实参:return: 得到的结果"""result = a + breturn result#如果没有return则返回一个None值
r = add(5,6)
print(r)
#11
可以通过global
num 来改变在局部作用域的全局变量,但是不会影响全局作用域的值的!
如果想return会=回多个值可以x,y = return x,y
如果传参是位置不定长的话使用 *args
如果传参是关键字不定长的话使用**kwargs
函数也可以作为参数来传递的
def test_func(compute):result = compute(1,2)print(result)def compute(x,y):return x + ytest_func(compute) #3
数据容器(类型不受限制)
列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)
list_content = ['小明',666,True,[1,2,3]]
list_content.index('666') #查找列表中某个值的index
list_content.insert(1,'best') #在列表中某个位置插入一个值
list_content.extend(1,[1,3,4]) #在列表中某个位置插入一批值
del list_content[0] #删除某个数据
list_content.pop(0) #移除某个数据
list_content.remove("小明") #删除某个元素
list_content.clear()#清空列表
list_content.count(666) #统计某个元素个数
#相对列表,元组不可以被篡改,但是操作基本和list一样的
t1 = (1,'hello',True,[False,333])
t2 = (1,)
t3 = tuple()
t4 = t1[3][0] #False
字符串数据不可以修改的,修改后的是有个新的字符串的!
#序列切片
my_list = (1,2,3,4,5,6)
my_list[1:4] #(2, 3, 4)
my_list[::4] #(1, 5)
#列表,元组可以重复,但是需要数据不要重复需要用集合,经常用去重
my_set = {1,2,3,4,5,6,3,4,3}
set(my_set) #{1,2,3,4,5,6}
#字典是key找到value,key是唯一的
my_dict = {"小花":99,"小狗":{"语文":99,"数学":82,"英语":75},"小皮":52
}
my_dict["小花"] #99
my_dict["小狗"] #{'语文': 99, '数学': 82, '英语': 75}
总结:
操作文件
#w:没有创建,有清空重新写入
#a:没有创建,有不清空追加写入
file = open("D:/test.txt" , "w" , encoding = "UTF-8") #创建有个文件
file.write("hello world!!!") #写入hello world!!!内容
file.close()#关闭文件
模块 => 就是有个公共类模块 , 可以自定义的,可以内置的
#import time
#time.sleep(2)#from time import *
#sleep(2)#from time import as t
#t.sleep(2)from time import sleep
sleep(2)
可以总结使用内置包,也可以安装第三方包:
直接安装是默认国外很慢的:所以使用:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名
也可以使用pyCharm安装的
JSON 数据解析
json.dumps(data.ensure_ascii=False): 对数据进行编码。
json.loads(data.ensure_ascii=False): 对数据进行解码。
pyecharts可视化模块
官网
类和面向对象
class Student:name:Nonegender:Noneage: Nonedef pop_item(self,data):print(f"输出{self.name}{data}")stu_1 = Student()
stu_1.name = '阿狗'
stu_1.pop_item()
stu_1.pop_item("data")
构造方法__init__
class Student:name:Nonegender:Noneage: Nonedef __init__(self,name,gender,age):self.name = nameself.gender = genderself.age = agestu_1 = Student('阿狗','男',15)
print(stu_1)