python学习基本语法(一)

编程基础

首先要知道 程序 是一组能让计算机识别和执行的指令。而 电子计算机是能够执行程序的机器。
python 语言由荷兰人:Guido van rossum(吉多·范罗苏姆)创建
要了解熟知的冯诺依曼体系架构,计算机是由5大体系组成的,输入输出设备,(运算器,控制器)组成CPU 还有存储器。
在这里插入图片描述

Cpu只认内存
CPU中运算速度的寄存器>缓存>内存>磁盘>io
控制器:控制总线,(一车道,由CPU控制)所有IO设备 用BUS

编译语言,指的是把源代码转换成目标机器的CPU指令
解释语言,指的是解释后转换成字节码,运行在虚拟机上,解释器执行中间代码
汇编语言是将写好的程序转换成机器指令

Python解释器

官方CPython

C语言开发,最广泛的Python解释器

IPython

一个交互式、功能增强的Cpython

PyPy

Python语言写的Python解释器,JIT技术,动态编译Python代码

Jython

Python的源代码编译成Java的字节码,跑在JVM上

IronPython

与Jython类似,运行在.Net平台上的解释器,Python代码被编译成.Net的字节码

Python的语言类型

Python是动态语言、强类型语言
动态语言:不用事先声明类型,随时可以赋值为其他类型
强类型语言:不同类型之间的操作必须先强制装换为同一类型
是解释型语言,以文本形式存在,可以跨平台(运行于各大操作系统),不用考虑内存问题,可以处理的数量极大,默认编码为utf-8

两个不同类型的的拼接 print(‘a’+str(1))强制类型转换称为强语言 如Pythton
js是动态、弱类型语言print(‘a’+1) 自动转为字符

掌握2(B)、8(o)、10(D)、16(H)进制的转换.

例子:8421 (16进换为2进制)
9 = 1011
python 内建函数装换 :bin() 2进制, oct() 8进制 ,int() 十进制, hex()16 进制


字符串
  1. 使用 ’ " 单双引号引用的字符的序列
  2. ‘’'和""" 单双三引号,可以跨行、可以在其中自由的使用单双引号
  3. r前缀:在字符串前面加上r或者R前缀,表示该字符串不做特殊的处理
  4. f前缀:3.6版本开始,新增f前缀,格式化字符串
标识符
  1. 一个名字,用来指代一个值
  2. 只能是字母、下划线和数字
  3. 只能以字母或下划线开头
  4. 不能是python的关键字,例如def、class就不能作为标识符
  5. Python是大小写敏感的
  6. 不要随便使用下划线开头的标识符

算数运算符

 + - * / % **
 自然除/结果是浮点数,整除//。
注:2.x中/和//都是整除
 位运算符
& | ~ ^ << >>
 常用方式:乘除2的倍数,32 // 8相当于 32 >> 3

^代表异或

10 ^ -9
01010
11001
10011 = -3


原码, 反码, 补码的基础概念和计算方法

原码:
原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制:第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是

[1111 1111 , 0111 1111]
即 [-127, 127]

反码:
正数的反码是其本身,负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.

[+1] = [00000001]原 = [00000001]反
[-1] = [10000001]原 = [11111110]反

补码:
正数的补码就是其本身
负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)

[+1] = [00000001]原 = [00000001]反 = [00000001]补
[-1] = [10000001]原 = [11111110]反 = [11111111]补

运算符

比较运算符:
== != > < >= <=
返回一个bool值
1< ‘1’ 1==‘1’
链式比较操作符
4>3>2

逻辑运算符

and运算符必须所有的运算数都是true才会把所有的运算数都解析,并且返回最后一个变量

4 and 3 返回 3

或逻辑(or),即只要有一个是true,即停止解析运算数,返回最近为true的变量

4 or 3 返回为 4

Python中,赋值即定义,如果一个变量已经定义,赋值相当于重新定义

内存管理:

变量无须事先声明,也不需要指定类型,这是动态语言的特性Python编程中一般无须关心变量的存亡,一般也不用关心内存的管理
python使用引用计数记录所有对象的引用数
当对象引用数变为0,它就可以被垃圾回收GC

空容器

  • 空集合set
    空字典dict
    空列表list
    空元组tuple

空字符串
None对象

编码问题

AscII 码,英文字符加常见符号由一个字节组成
unitcode 是字符集,世界文字字符,分为utf - 8和utf -16 、utf-8 的字节组成,英文由一个字节,中文三个字节,生僻字,4到6个, utf-16统一2 个
GBK/GB2312/GB18030 国标,双字节字符集

计算机只能处理数据

代码格式

缩进要以4行为一格, 行长为不超过80字符,空格,将程序不同的部分分开
\ 为继续上一行代码

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值