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 模块常用命令整理》

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,980评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,178评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,868评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,498评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,492评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,521评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,910评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,569评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,793评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,559评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,639评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,342评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,931评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,904评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,144评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,833评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,350评论 2 342

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,114评论 0 13
  • 菜鸟 学习笔记 # /Users/xxxxx/Desktop/HelloPythion.py # -*- codi...
    weiwei_js阅读 819评论 0 1
  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 18,910评论 17 410
  • Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对...
    顺毛阅读 4,205评论 4 16
  • 商场中产品玲琅满目、类别多样,但是各个领域的产品大部分都被知名企业的品牌占领了全国消费者的心智,新的品牌产品想获得...
    领域的亲那阅读 282评论 0 0