Python学习总结(一)

Python学习总结【连载】(一)

2018.06.12  Juttachen


概述

+ 01 快捷键及第一个python程序“Hello world”

+ 02 python 基础语法

  - 注释

  - 标识符

  - 关键字(保留字)

  - 行与缩进

  - 多行语句

+ 03 python标准数据类型

  - Number 数字

  - Str 字符串

  - List 列表

  - Tuples 元组

  - Sets 集合

  - Dict 字典 

  - *补充:字符转义及反转义*

  *List, Tuples, Sets, Dict 没有详细讲,后面总结*

+ 04 进制的认识与转换

  - 进制的认识

  - 十进制与其他进制

  - 二进制与其他进制

  - python 与进制

+ 05 变量

  - 变量的作用

  - 声明变量

  - python中变量变化的原理

+ 06 运算符

  - 算数运算符


一、快捷键及第一个python程序“Hello world”

版本号常识

版本号 A.B.C 

A: 表示语言做重大修改,一般不兼容之前的版本。

B: 在做功能修改的时候值增加

C: 在修复bug的时候值增加

1. 快捷键(基本通用)

ctrl+b  执行(sublime)或者编译(在其他软件)

ctrl+/  单行注释

ctrl+c 复制

ctrl+v 粘贴

ctrl+s  保存

ctrl+shift+z 反撤销

ctrl+a  全选

ctrl+x  剪切

ctrl+n  创建新文档

2. 第一个python程序


print("Hello world!")


print是python中的内置函数,功能是在控制台打印括号中的内容。

高级用法:格式化打印

程序员一般用来自己快速检测一些程序,也有高级用法。

二、python 基础语法

1. 注释

注释是穿插在代码中的说明性文字,对于功能实现功能无任何作用,不会参与执行。

在写代码的时候要经常写注释,便于给人看。习惯注释是程序员的素质。


+ 单行注释:在注释的内容加 #

+ 多行注释:

      1. 在每一行前面加#号

      2. 使用三个单引号或三个双引号括起来

    推荐多行注释用双引号。

2. 标识符

在开发中使用的所有的名字都是标识符(包括变量名,函数名,类名,对象名等)。


标识符硬性要求:

1. 由字母,数字,下划线组成

2. 数字不能开头

3. 不能是关键字(比如int,float)


# 例子

a2_ = 1

abc = 1

# a+b = 1 这种是表达式,多出+,会报语法错误(SyntaxError: can't assign to operator)

# 2d = 1  这种是数字开头,会报语法错误(SyntaxError: invalid syntax)

# for = 2  这种for是关键字,会报语法错误(SyntaxError:invalid syntax)


规范:

1. 要见名知意

2. PEP 8规范:变量名全部小写,如果名字是由多个单词组成,单词之间以下环线分开。

  (补充:1. 其他语言中的驼峰式命名:如果名字由多个单词组成,第一个单词首字母小写,后边的每个单词第一个字母大写

                2. python中大小写敏感,key 和 Key是不一样的)


cat_name =1 #PEP 8 python 专门命名用法

catName =1 #驼峰式 其他语言


3. 关键字(保留字)

在python中有自己独特功能的一些单词,程序员在使用标识符的时候,不能使用关键字。

(补充:模块有内置和开源之分,也可以自定义。内置模块不用额外做下载工作。)


​#关键字表

import keyword #导入内置keyword模块

print(keyword.kwlist)

['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']


4. 行与缩进

缩进

在python中语法对于缩进有严格的规范。同一级的代码要写在一个缩进下。(缩进->空格和制表符tab)


abc=1 #如果abc前多了空格或制表符就会报缩进错(IndentationError: unexpected indent)

# 而且如果缩进提前

if 10>20:

abc=1

# 也会缩进报错(IndentationError: expcted an indented block)


可以通过换行将代码分块。


要求:

1. 函数定义和其他代码之间要有一个换行。

2. 类的声明和其他代码之间要有两个换行。

  (但不按要求不会报错)

  !! 注意:语法相关的所有的符号,都必须是英文输入法下的符号,不是的话会报错。

        (原理:编码不同,英文输入法下标点与其他输入法标点的长度是不一样的。)

5. 多行语句

原因:一行代码太长,需要多行显示。

python中,如果一行只有一个语句,那么语句后面可以不写分号。(写了也不会报错)

如果一行有多行语句,那么语句要用分号分开。


aaa=1

bbb=2

ccc=3

ddd=4

sum1=aaa+bbb+ccc+ddd

sum2=aaa+\

bbb+\

ccc+ddd

# 其实sum1和sum2是一样的,只是将一行代码写成多行。

# 多行显示一行代码时,缩进不敏感


# 列表,字典,元组,集合(这四类叫容器类数据类型)的元素在多行显示的时候,可以不用\连接

dict1 = {'name':'dingning',

'age':'18',

'gender':'女'}

#SyntaxError: invalid character in identifier(逗号一定要是英文版的,不然就要报这种错)


三、标准数据类型

1. Number(数字)

  python中的数字分为:

+ 整型(整数,int)

Python中只有长整型int,python2中有long 例如:23,100,-25,0

+ 浮点型(小数,float)

Python中只有float类型,例如:12.9,1.0,0.0,2e2,2e-2(科学计数法表示的数属于浮点数,有e的那种)

+ 布尔(bool)

表示真假(是否)的值,值只有True(真,1)和False(假,0)两个值

+ 复数(实数和虚数,complex)

由实部和虚部组成,数据处理时用的比较多。如;10+1j

  2.Str(字符串)

由单引号或者双引号括起来的字符就是字符串(包含双引号,但双引号内的是字符串的内容)

字符串在python中推荐使用单引号。

''  引号里面啥也不写连空格都没有的,就叫空串,长度是0

' ' 空格字符串是有意义的字符串

在python中没有字符类型,所说的字符就是用引号括起来的长度是1的字符串。(字符串中单独的一个符号就是一个字符)

字符串中的长度就是有多少字符就有多长,一个字符看做一个1

可以通过type()函数去查看值的类型


print(type(10))

print(type(12.5))

print(type(True))

print(type(10+2j))


python 中需要*转义字符*来表示一些特殊的字符串:

包括一些有特殊意义和特殊功能的字符串

转义字符即反斜杠\


print('\'') #表示’

print('\\') #表示\

print('\t床前明月光,\n疑是地上霜') #表示换行(\n),表示制表符缩进(\t)


在字符串前加r/R,阻止转义字符转义


print(r'a\nb')

print('a\nb')

print(R'\ta')

print('\ta')


四、进制的认识与转换

1.进制的认识

进制:**二进制,八进制,十进制,十六进制**

十进制:

1. 基数:0,1,2,3,4,5,6,7,8,9

2. 逢十进一

  例子:123:100+20+3=1*10^2+2*10^1+3*10^0

二进制:

计算机在存储数据的时候,存的都是二进制数

1.基数:0,1

逢二进一

例子:1101:1+4+8=1*2^0+0*2^1+1*2^2+1*2^3=13

八进制:

1.基数:0,1,2,3,4,5,6,7

例子:26:8^0*6+8^1*2=6+16=22

十六进制:

1.基数:0,1,2,3,4,5,6,7,8,a/A(10),b/B(11),c/C(12),d/D(13),e/E(14),f/F(15)

例子:1f : 1*16^1+15*16^0=16+15=31

2. 十进制与其他进制

  - 所有进制转十进制:每一位上的数乘以当前位上的某进制的幂次数(从低位到高位,幂次数从0开始一次加一)再全部相加。

  - 十进制转换成其他进制:整除取余

  3. 二进制与其他进制

  - 二进制和八进制:每三位二进制转换一位八进制

  - 十六进制的转换:每四位二进制转换成十六进制

  4. python 与进制

  1.python中进制的表示


   print(12) #直接写数字,就是十进制

   print(0b1101) #在二进制数前加“0b”      

   print(0o10) #在二进制数前加“0o”

   print(0xa1) #在数字前加“0x”表示十六进制数


  2.python中进制的转换

 + bin() :将括号中的数字转换成二进制数,返回字符串形式数据


   print(bin(10))

   print(bin())


 + oct() :将括号里的数据转换成八进制


   print(oct(10))

   print(oct(0b110011))


  + hex():将括号中的数字转换成十六进制数


   print(hex(10))


五、变量

1. 变量的作用

 变量用于储存数据的。

2. 声明变量

在python中声明变量不用指定类型,一个变量可以存储任何数据

变量名 = 初值

+  变量名:标识符,且必须全部小写(符合PEP 8命名方式),要求见名知意

+ '=' :赋值符号,要求赋值符号的左边必须是变量,右边一定是有值的表达式;

+ 初值:python中声明变量必须赋值

a)一次声明一个变量


A = 10

#10=2 一定会报错 SyntaxError: can't assign to literal

name = 'apple'  #声明了一个变量,并且附了初值,初值是一个字符串


b)一次声明多个变量


a = b = c = 10

# 同时声明三个变量a,b,c,他们的初值都是10,但是不能是a,b,c=10,会报错 TypeError: 'int' object is not iterable

a1,b1,c1=10,12.6,'aaa'

# 同时声明了三个变量,且分别赋初值,每个变量一定要对应一个准确初值


3. python中变量变化的原理

一个变量可以存储多种类型的值(python是动态语言)

其实实现原理是将内存中开辟了一个名字叫变量名的区域,然后所赋值在内存的另一个地方,变量名指向所赋值的地址,就完成了赋值。

所以内存不冲突,不需要限定变量的容量,如果变量名指向一个值,就是指向那个地址,其他没有被指向的值就会在内存被销毁。

六、运算符

- 算数运算符

  +(加),-(减),*(乘),/(除),%(求余)

  //(整除):可以对浮点数做整除的操作,只是结果只保留整数的部分(如果运算中涉及浮点数,结果会是浮点数,如果是整数则是整数)

  **(幂运算)

  算数运算符是有优先级的。

案例


# 练习:获取n的个位数,十位数和百位数,要求n大于100

n=7896

print(n%10) # 取个位数:对10取余

#十位数:(两种方法)

print(n//10%10)

print(n%100//10)

#百位数:(和取十位数是异曲同工)

print(n//100%10)

print(n%1000//100)


关于数学模块与运算 

除了算数运算符可以让python进行数学运算以外,python还有专门提供数学运算的内置模块,叫math 模块。

通过import关键字可以导入python的模块,使用在模块里面的函数格式:模块.函数()。

例子


import math

num = math.fabs(-20) #fabs(n) 求绝对值

print(num)

print(math.pi) # pi:圆周率


其他例子 看《Math 模块常用命令整理》

你可能感兴趣的:(Python学习总结(一))