第一篇 python基础

第一篇 python基础

一 变量

定义:

世间万物变化的量

变量三大组成:

①变量名

②赋值符号

③变量值

注意 变量命名规范:

①能反应变量值所描述的状态,不能用中文.

②必须用字母数字下划线组合,并且变量名第一个字符不能是数字和下划线

③不能用python关键字命名,可以采用缩写形式

python关键字:
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

变量命名风格:

下划线:

age_of nick = 19

注意:推荐使用下划线

驼峰体:

AgeofNick = 19

注意:面向对象编程,必须使用驼峰体

二 常量

定义:

变量是变化的量,常量则是不变的量.python中没有使用语法强制定义常量,常量本质上就是变量.如果非要定义常量,变量名必须全部大写.(AGE_OF_NICK = 19).

注意:常量是可以修改的,但是不建议修改

三 python变量内存管理

python垃圾回收机制:

变量引用计数为0,就会触发垃圾回收机制

小整数池:

python解释器在启动时创建出小整数池,范围[-5,256],该范围内的小整数对象是全局解释器范围内被重复使用的,永远不会被垃圾回收机制回收.(因为-5,256之间的整数比较常用,如果python解释器不停的回收和存入,比较耗费时间和内存占用,所以启动自带小整数池)

四 变量的三个特征

打印:

x = 10

print(x)#获取变量的变量值

10

判断变量值是否相等:

name1 = 'egon'

name2 = 'nick'

print(name1 == name2)

false(假)

判断变量id是否相等:
x = 11

y = x 

z = 11

print(x == y) #true

print(x is y) #true

print(x is z) #true(整数池的原因)

x = 257

y = 257

print(x is y) #(false)
总结:

id相等的变量,值一定相等,指向的是同一个内存地址;值相等的变量,id不一定相等.

五 花式赋值

链式赋值:

a = b = c = d = 10; 或 a:10,b:10,c:10,d:10.

交叉赋值:

x, y = y, x; 或 temp = x,x = y, y = temp.

六 注释

代码注释分单行和多行注释,单行注释用#,多行注释可以用三对单/三对双引号,使用三引号注释可以换行.

# 单行注释
'''
三单注释
三单注释
'''

"""
三双注释
三双注释
"""
使用原则:

只需在重要或者不好理解的地方添加注释即可,可以用英文或者中文,不要用拼音.

七 数据类型

数据类型的定义:

数据类型指的就是变量值的不同类型

数据类型:

数字类型

字符串类型

列表类型

字典类型

布尔类型

八 数字类型

整型(int):

作用:

表示人的年龄,各种号码,级别

定义:

age = 18; age = int(18)

如何用:

加减乘除,逻辑判断(大于,小于)

浮点型(float):

作用:

表示身高,体重,薪资

定义:

salary = 2.1; salary = float(2.1)

如何用:

加减乘除,逻辑判断(大于,小于)

九 字符串

作用:

表示名字,爱好

定义:

字符串就是一串被串起来的字符,在单引号,双引号或者三引号内包裹的一串字符.需要注意的是:三引号内可以换行,而单引号内的字符不行.

如何用:

字符串只能+,*和逻辑比较;

如果字符串内有引号,则包裹字符串的引号和字符串内部引号不能相同;

字符串比较大小,按照ascll码比较,以后会细讲;

字符串的比较是字母的顺序

十 列表

作用:

存放多个值,如多个女朋友,多个爱好;

定义:

在[]内用逗号分隔开任意类型的值;

如何让用:

存不是目的,取才是目的;(索引取值,索引序号从0开始)

十一 字典

作用:

用来存多个值,按照key:value的方式存值,取得时候可以通过key而非索引去取值,key对xalue具有描述性的作用,存放数据的种类各种各样并且数据较多的时候可以使用字典

定义:

在{}内用逗号分开每一个元素,每一个都是key:value的格式,其中value是任意格式的数据类型,key由于具有描述性的作用,所以key通常是字符串类型;

如何用:

字典取值不再依赖于索引,而是依赖key,可以通过[key]即可获取key对应的value值.

十二 布尔值

作用:

用于判断条件结果

定义:

true,false通常情况不会直接引用,需要使用逻辑运算得到结果.

如何用:

print(bool('nick'))

注意:python中所有数据类型的值自带布尔值.如此多的数据类型中只需要记住只有0,none,空,false的布尔值为false,其余的为true.

十三 解压缩

解压缩可以这样理解:超市打包是把多个商品放在一起,解压缩其实就是解包把多个商品一次性拿出来.

有时候解压缩的值可能是我们不想要的,那么可以使用下划线,万能的下划线._

python与用户交互:

input()方法的作用只是暂停程序然后接收值.无论我们输入的值是数字类型,字符串类型,列表类型,input的接收值都是字符串类型.

注意点:输入年龄时需要强制转换数据类型.

十四 格式化输出的三种方式

占位符:

%S(针对所有数据类型);%D(仅仅针对数字类型)

使用方法:

age = 19
print('my age is %d' % age)
format格式化:

很鸡肋的用法:

name = 'nick'
age = 19
print("hello,{}.you are {}.".fromat(name,age))
# 打印结果hello, nick. you are 19.
f-String格式化:

相比较占位符的方式,python3.6版本新增了f-string格式化的方式,比较简单易懂,这是目前用的最多,最方便的方式,推荐使用.

name = 'nick'
age = 19
print(f"hello, {name}.you are {age}.")
# 打印结果:hello ,nick.you are 19.

# 再来个以后可能会用到的:
salsry = 6.6666
print(f'{sa;ary:.2f}')
# 打印结果6.67

十五 基本运算符

算术运算符:

a=10 b=20

+ 加  两个对象相加     a+b输出30
- 减  得到负数或是一个数减去另一个数    a-b输出-10
* 乘  两个数相乘或是返回一个被重复若干次的字符串  a*b输出200
/ 除  X除以Y   b/a输出2
% 取模  返回除法的余数   b%a输出结果为0
** 幂  返回X的Y次幂   a**b为10的20次方,输出结果为10000000000000000000
// 取整除  返回商的整数部分    >>>9//2,输出4;    >>>-9//2输出-5
比较运算符:

a=10; b=20

==  等于-比较对象是否相等 (a == b)返回false
!=  不等于-比较两个对象是否不相等 (a!=b)返回true
<>  不等于-比较两个对象是否不相等  (a<>b)返回true.这个运算符类似!=
>  大于-返回X是否大于Y  (a>b)返回false
<  小于-返回X是否小于Y.所有比较运算符返回1表示真,返回0表示假.这分别与特殊的变量true和false等价  (a<b)返回true
>=  返回X是否大于等于Y  (a>=b)返回false
<=  返回X是否小于等于Y  (a<=b)返回true
赋值运算符:

a=10; b=20

=   简单的赋值运算符    c=a+b将a+b的运算结果赋值为c
+=  加法运算符   c +=a等效于c=c+a
-=  减法运算符   c -=a等效于c=c-a
*=  乘法运算符   c *=a等效于c=c*a
/=  除法运算符   c /=a等效于c=c/a
%=  取模运算符   c %=a等效于c=c%a
**= 幂赋值运算符  c **=a等效于c=c**a
//==    取整除运算符  c //=a等效于c=c//a
逻辑运算符:

a=10; b=20

and     x and y 布尔"与"-如果X为false,x and y 返回false,否则它返回y的计算值. (a and b)返回20
or      布尔"或"-如果x是非0,它返回x的值,否则它返回y的计算值.(a or b)返回10
not     布尔"非"-如果x为true,返回false.如果x为false,它返回true.   not(a and b)返回false
身份运算符:
is      is是判断两个标识符是不是引用自一个对象    x is y,类似id(x)==id(y),如果引用的是同一个对象则返回true,否则返回false
is not      is not 是判断两个标识符是不是引用自不同对象   x is not y,类似id(a)!=id(b).如果引用的不是同一个对象则返回结果true,否则返回false.
位运算符:
&   按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0    (a&b)输出结果为12,二进制解释: 0000 1100
|   按位或运算符:只要对应的二哥二进制位有一个为1时,结果为就为1.    (a|b)输出结果为61,二进制解释:0011 1101.
^   按位异或运算符:当两对应的二进位相异时,结果为1;   (a^b)输出结果49,二进制解释:0011 0001.
~   按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1.~X类似于-X-1.    (~a)输出结果-61,二进制解释:1100 0011,在一个有符号二进制的补码形式.
<<  左移动运算符:运算数的各二进位全部左移若干位,由<<右边的数字制定了移动的位数,高位丢弃,低位补0.  a<<2输出结果240,二进制解释:1111 0000
>>  右移运算符:把">>"左边的运算数的各二进位全部右移若干位,>>右边的数字指定了移动的位数   a>>2输出结果15,二进制解释:0000 1111
成员运算符:
in  如果在指定的序列中找到值返回true,否则返回false.   x在y序列中,如果x在y序列中返回true.
not in  如果在指定的序列中没有找到返回值true,否则返回false. x不在y序列中,如果x不在Y序列中返回true
python运算符优先级:

python运算符的优先级相当于数字中的先算乘除再算加减,但是这很愚蠢,优先级别高的你括号括起来就行了...

十六 流程控制之if判断

if:

if表示if成立代码会干嘛

if ....else:

if...else表示if成立代码会干什么,else不成立会干什么.

if...elif...else:

if ...elif...else表示if条件1成立干什么,elif条件2成立干什么,elif条件3成立干什么,else...否则干什么

十七 流程控制之while循环

语法:

循环就是一个重复的过程,while循环又称为条件循环.

while+break:

break的意思是终止掉当前层的循环,执行其他代码.

while+continue:

continue的意思是终止本次循环,直接进入下一次循环;

continue不能加载循环体的最后一步执行的代码,因为代码加上去毫无意义.ps:注意是最后一步执行的代码,而不是最后一行

while循环的嵌套:

就是while循环层里面再加一个while循环

while + else:

else会在while没有被break时才会执行else的代码

十八 流程控制之for循环:

语法:

为什么有了while循环,还需要for循环?for循环的循环次数受限于容器类型的长度,而while循环的次数需要自己控制.for循环也可以按照索引取值.(字典也有取多个值的需求,字典可能有while循环无法使用了,这个时候可以使用我们的for循环.)

for + break:

for循环跳出本层循环.

for + continue:

for循环跳出本次循环,进入下一次循环.

for循环嵌套:

外层循环 循环一次,内层循环循环所有的

for + else:

for循环没有break的时候触发else内部代码块.

posted @ 2019-10-16 11:30  Mr-Allen  阅读(109)  评论(0编辑  收藏  举报