欢迎光临散文网 会员登陆 & 注册

老男孩Python全栈开发29期全套(2020年3月开班)-同步更新

2022-03-12 10:45 作者:莫相笑  | 我要投稿
  1. 程序是一个变量的一系列状态的变化
  2. 变量: 变量名 = 变量值,

变量值的引用计数如果为0后,会被当做垃圾进行回收.

import sys
a = 23
print(sys.getrefcount(a))  #得到这个变量值引用了多少次
c = a
print(sys.getrefcount(c))  #引用计数加1 
del c  #引用计数减1


3, 变量命名规则: 以数字,字母,下划线命名,不能以数字开头,变量名能见文望义,描述当前变量是干什么的.不要以python里的关键字来命名.

4, salary = 90000

id(salary) #查看变量salary 的变量地址

type(salary) #查看变量salary 的变量类型


python3中 值相等的变量 内存地址一样

python2中,值相等的变量,是2个独立的内存地址



5, is 是比较两个变量的内存地址是否同一个,也就是id()是不是同一个.

== 是比较两个变量的值是不是相等


6,小整数池

整数在程序中的使用非常广泛,Python为了优化速度,使用了小整数对象池, 避免为整数频繁申请和销毁内存空间。

Python 对小整数的定义是 [-5, 256] 这些整数对象是提前建立好的,不会被垃圾回收


Python预先分配了这些整数的内存,为了加快程序运行时的速度.

所以在这个范围的数都是用的同一个内存地址,同一个对象.

https://blog.csdn.net/wangyunfeis/article/details/77607156


而在pycharm中,每次运行是所有代码都加载都内存中,属于一个整体,所以

这个时候会有一个大整数对象池,即处于一个代码块的大整数是同一个对象。


a is b 这个实际的测试结果还是以终端为准.

那这个功能是不是在pycharm里会不准确,从而导致写程序会容易出问题,最好不要这么用?


is的功能pycharm和终端的表现不一样,慎用.


7, print(5 + 10.6)

整数可以和浮点数相加


8, sys.getrefcount(a)可以查看a对象的引用计数次数


9,变量名存的值的内存地址,放在栈区

变量值是存在堆区



10,

这个闲聊很有价值.

警惕符号里的价值影响你.


Day 17 - 02 本周内容 P235 - 00:08


11, 位置形参,关键字形参

形参: 汇总

*args, 将形参里的多余的位置参数组成一个元组,赋值给args.

**kwargs,将形参里多除的关键字参数组成一个字典赋值给 kwargs


实参: 打散

func(*'hello'), 前面星号的作用,实际将实际打散成一个元组,func('h','e','l','l','o')

func(**{'a':1,'b':2}),前面的2个星号,作用将实参值转为一个关键字, func(a=1,b=2) 赋值


def wrapper(*args,**kwargs):

index(*args,**kwargs):

print('hello')


12,名称空间 namespace

内置名称空间,全局名称空间,局部名称空间

空间查找: 从当前的位置向外查找,从内向外找.

局部空间-->全局名称空间-->内置空间


以函数的定义阶段顺序为基准进行查找




mysql的学习:



忘记密码时也可以另外一套操作办法:

  • 关闭mysql服务器
  • sudo /usr/local/mysql/support-files/mysql.server stop #路径都相差不大.
  • 也可以在系统偏好里有个MySQL里关闭。
  • cd /usr/local/mysql/bin    进入目录
  • sudo su 获取权限
  •  ./mysqld_safe --skip-grant-tables & 重启服务器
  • 重开个终端,
  • 进入cd /usr/local/mysql/bin, 输入mysql 进入mysql命令模式
  • use mysql进入mysql数据库
  • flush privileges; #大概就是获取权限
  • set password for 'root'@'localhost'=password('123456新密码');  #完成修改



Day 44 - 10 MySQL配置文件修改 P526 - 02:58



查看数据库的编码 \s

如何修改数据库的编码:

[MAC]添加my.cnf配置文件,可以从/usr/local/mysql-5.7.12-osx10.11-x86_64/support-files 里面拷贝 my-default.cnf 文件到 /usr/local/mysql-5.7.12-osx10.11-x86_64 目录下.

增加下面的配置:

[mysqld]

character-set-server=utf8

collation-server=utf8_general_ci


[client]

default-character-set=utf8


[mysql]

default-character-set=utf8


然后mysql服务重启,再进入mysql进行查看,编码都改成了utf-8



Day 44 - 11 库的增删改查 P527 - 09:06



库的增删改查:

增:

create database db1;

create database db2 charset='gbk';

查:

show databases;

show create database db1; #查单个的

改:

alter database db2 charset='utf8'; #改库的字符编码为utf8

删:

drop database db2;



表的增删改查:


Day 44 - 12 表的增删改查 P528 - 00:23



查:

select database(); #当前所在哪个库

show tables;

show create table t1; #查看某一个表

describe DEPT; 表的字段类型等信息.

增:

create table t1(id int,name char(4));

改:

alter table t1 modify name char(16)

删:

drop table t1;


数据的增删改查:


Day 44 - 13 数据的增删改查 P529 - 00:36


查:

select * from t1;

增:

insert into t1 values(1,'jenny'),(2,'you')

改:

update t1 set name='steven' where id=1;

删:

delete fro t1 where id=1




前端:










老男孩Python全栈开发29期全套(2020年3月开班)-同步更新的评论 (共 条)

分享到微博请遵守国家法律