Python基础语法

写在前面,某个暑假心血来潮想学习python,在b站找到Mosh的入门视频,链接:python教程2019版 6小时完全入门 并且达到能开发网站的能力 目前最好的python教程 (含中文翻译),是中文翻译版,不过翻译程度有限,可以选择youtube版本
该视频只能带你快速领略Python的蓝图,不能详细地照顾到每个细节,刚好符合我的预期,故选择此。另外,此篇博客只是我笔记的简单记录,如有问题,请各位大神批评指出

Day1

输入函数
name = input('What is your name?  ')    //输入被存储到name中

//对于输入函数来说,不论输入int还是其他类型,都被存储为字符串

print('Hi ' + name)    //字符串的连接组合
变量类型
print (type(name))

age = 2021 - int( birth_year )    //强制转换类型
字符串中引号使用

中间想使用单引号时,最外用双引号;

中间想使用双引号时,最外用单引号

字符串索引
name = 'python for beginners'

        012                -1

name[0]    p     //索引从0开始

name[-1]    s

name[0:3]    pyt      //索引0→不包括索引3

name[1:]    ython for beginners     //索引1→结束

//默认:从0开始 到结尾结束

name[1:-1]    ython for beginer
字符串的一些方法
len() 函数  返回字符串长度

name.upper()  /  name.lower()

name.find('p')    //返回该字符存在的第一个索引

name.replace('pyhton','java')

运算符 in

print('python' **in** name)    //返回布尔值 True
运算符和math模块内置函数
10 / 3      =3.333333

10 // 3     =3

10 ** 3     =1000

增广赋值运算符

x += 3     x=x+3

x -= 3      x=x-3

around(2.9)3     //四舍五入

abs(-2.9)2.9     //绝对值
判断语句
is_hot = True

is_cold = False

if  is_hot:

	print('')

elif  is_cold:

	print('')

else:

	print('')
格式化输出
print( f"myName : {name}")
逻辑运算符
andornot

Day2

while循环

while i<3:

if  xx == 1:

	print('')

	break

else:

	print('')

print('')
for循环
for item in 'Python':   //整体项目列表,如字符串、方括号列表

	print(item)

for item in ['Mosh','Jonh','Sarah']   for item in [1,2,3,4]

**range()函数**

for item in range(5, 10, 2)                   
//这是一个对象,每一次迭代都向外吐出一个数

**range(起始,终止(不包含),step步长)**

Day3

2维列表 = 矩阵
matrix = [

	[1,2,3]

	[4,5,6]

	[7,8,9]

]

print(matrix[0,1])         // is 2

for row in matrix:

	for item in row:

		print(item)
list相关函数
numbers = [5,2,6,8]

numbers.append(20)      //向最后插入20

numbers.insert(0,7)        //向索引0的位置插入7

numbers.remove(5)       //去除5

numbers.clear()             //清空

numbers.pop()              //去除最后一个值

numbers.index(2)          //返回该值的索引

print( 50 **in** numbers )            //返回bool值,判断是否在list中,不会产生error

print( numbers.count(2) )      //返回2的个数

numbers.sort()

numbers.reverse()

number2 = numbers.copy()
Tuple元组
numbers = (1,2,3)             //类似于list,但是不能对其进行改动,只能查看它的属性,比如.count
unpack特性 - 解压缩
coordinate = (1,2,3)

x, y, z = coordinate           //为xyz分别提供coordinate的第123

Day4

dictionary 字典
customer = {

	"name" = "John",

	"age" = 30,

	"is_verified" = True

}

print(customer["name"])             //John

print(customer["birthday"])         //error

print(customer.get("birthday"))  //None

print(customer.get("birthday","Jan 1 1980"))               //输出默认值 Jan 1 1980
字符分割
message = input(">" )                    //输入"Good morning :)"

words = message.split(' ')               //以空格为分隔符,输出["Good","morning",":)"]
Function 函数
def greet_user(**name**):

	print(f"hi, {name}")

	print("welcome!")

	//函数定义后需要空两行

greet_user("John")

greet_user2(a = 1, b = 2, c = 3)

Day5

Exception 处理错误
try:

	age = int(input('age: '))

	print(age)

except ValueError:

	print('Invaild value')

程序员考虑错误情况并捕捉,可以避免程序因为错误输入而崩溃
Class
class Point:

	def  __init__(self, x, y):              //构造函数,可以调用该函数来进行初始化

		self.x = x

		self.y = y

	def  move(self):

		print

	def  draw(self):

		print

		//中间空两行

point1 = Point(10,20)                 //创建Point类的新对象,调用构造函数
继承
class Mammal:

	def walk(self):

		print
		

class Dog(Mammal):                     //Dog继承Mammal

	pass                                        
	//python不喜欢空类,所有加入pass来占行


class Cat(Mammal):

	def new(self):

		print
import
**package > module(每个.py文件) > 函数**

1. *module—utils,  utils中定义函数find_max()*
    
    import utils
    
    utils.find_max()
    
2. *module—utils,  utils中定义函数find_max()*
    
    from utils import find_max
    
    find_max()
    
3. *package-1*
    
        __init__.py
    
        moduleA.py
    
            def function1()
    
    from package-1 import moduleA
    
    moduleA.function1()
    
4. from package-1.moduleA import function1
    
    function1()
    
5. from package-1.moduleA import class-1
    
    object = class-1()
随机函数 random
import random                    //内置函数

random.randint(1,6)            //生成1-6之间的随机数
path
from pathlib import Path                 //Path是个类

path = Path("email")                        //如果为空,则指的是根目录

print(path.mkdir())                           //创建新目录


for file in path.glob('*.py'):               //用于搜索目录
	print(file)

Project 1

流行的Libraries
  • Numpy //多维数组

  • Pandas //数据分析库 datafream,数据结构类似于excel,有行有列

  • matPlotLib //绘图库

  • SciKit-Learn //提供通用算法,决策树、神经网络…

pandas示例

import pandas as pd
df = pd.read_csv(‘vgsales.csv’) //返回的是一个datafream对象
df
//可以在jupyter中展示

datafream

  • df.shape
  • df.describe()
    -//返回datafream的详情,每列有多少个值,可以判断出是否有空值;平均值、标准差等等
  • df.values
    //返回一个二维数组array
Jupyter快捷键
  • ctrl+enter run this cell

  • shift+enter run and go to below

  • dd delete this cell

  • df.+Tab 提示函数

  • df.name() shift+Tab 提示函数属性

导入数据+训练模型
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

music_data = pd.read_csv('music.csv')
X = music_data.drop(columns=['genre'])
y = music_data['genre']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

model = DecisionTreeClassifier()
model.fit(X_train, y_train)
predictions = model.predict(X_test)

score = accuracy_score(y_test, predictions)
score
保存模型
from sklearn.externals import joblib

joblib.dump(model, 'music-recommender.joblib')

model = joblib.load('music-recommender.joblib')             //使用模型进行预测
predictions = model.predict([ [21, 1] ])

Project 2

pip安装Django框架
终端输入  pip install django==2.1
创建Django Web项目

在这里插入图片描述

避坑: runserver没反应,改成 python manage.py runserver OK
在这里插入图片描述

点击网址可以进入第一个Django界面

python manage.py startapp products

整体流程 20分钟快速用django+mysql+pycharm搭建一个自己的web网站

https://www.cnblogs.com/xiaoqingSister/p/13355832.html

主路由路径 → 子路由路径 → view中def渲染函数 → 渲染 xx.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值