python基础语法

1.python基础语法

1.1 行与代码

物理行:换行、回车、\n

逻辑行:;、)、}

注:一个物理行是一个逻辑行,但是两个或多个物理行也可以是一个逻辑行(连接符)

1.2.代码块的语法格式

上一行结尾为冒号,下一行开始为缩进,缩进结束代码块结束。代码块可以包含一条或多条语句,缩进可以为一个tab键或者4个空格。缩进数量没有要求,但是同一代码块缩进相同。

1.3.代码注释

单行注释:以#开头

多行注释:"""(三个双引号),'''(三个单引号) 使用多行注释时要顶格书写

1.4.python编码与词符

词符:描述词法的符号。主要包括:标识符、关键字、保留字、运算符、分隔符、字面值、新行、缩进和突出三个特殊词符

  • 标识符

标识符就是各种有效的名字,如:变量、函数、形参、类、属性、方法

标识符的首字母必须为字母或下划线,其他位置必须为数字、字母、下划线

标识符区分大小写,没有长度限制

标识符一般以小写形式为主,类的首字母大写,一般以驼峰法命名或下划线分割

dirName

dir_name

  • 关键字

python预定义的名字,有特定的功能

  • 保留字

有特殊含义的名字,以下划线开头或结尾

开头单个下划线_*,表示模块内私有变量,只能在当前文件使用

开头两个下划线__*,表示类内私有变量,仅在类中使用,不能继承

开头和结尾两个下划线__* *__,表示预定义变量,称为魔法变量或魔术方法

  • 运算符
    • * /
  • 分隔符

()、【】、{}、,、:;@

  • 字面值

字面值也称字面量、固定值。如:数字、常量、字符串。字面值一旦声明不在变化。

2.变量

2.1定义变量

等号(=)是赋值运算符,用来给变量赋值。

变量在使用前需要先赋值,然后才能使用

Python是一种动态语言,不需要声明变量的类型,可以根据值的类型确定变量的类型

赋值是一条语句,不是一个表达式,因此赋值不能当做表达式来运算

2.2赋值变量

python允许同时为多个变量赋值,分为多重赋值(链式赋值)和多元赋值

多重赋值

a=b=c="abd"

多元赋值

a,b,c,d=1,2,3,4

2.3访问变量

变量包含几个重要的信息:

1.变量名

2.变量值

3.变量的类型

4.变量的地址

变量的类型和地址实际上是变量值的类型和地址

变量赋值后可以通过他的变量名访问他的变量值,可以通过type()函数判断他的变量类型,可以通过id()函数确定变量的地址

3.使用数字

python支持4种数字类型:int整数、float浮点数、bool布尔值、complex复数

  • 整数的表示

整数包括:十进制、二进制、八进制、十六进制整数

十进制整数:不能以0开头

二进制整数:由零和一组成,以0b或0B开头

八进制整数:由0-7组成,以0o或0O开头

十六进制整数:由0-9,a-f组成,以0x或0X开头

  • 布尔值是特殊的整数,包含两个固定的值:0或1

以下的值默认为False,称为假值:

false,none,0,"",{},(),[](假值返回结果都为0,但是并不相等)

  • 浮点数表示

是由整数和小数组成

浮点数也可以用科学计数法表示(e或E),其值是以10为底

2.5e2=2.5*10的2次方

  • 复数的表示

复数是由实部(real)和虚部(imag)组成

a = 1+2j

print(a.real) ###输出实部

print(b.imag) ###输出虚部

4.检测类型

Python使用对象模型描述数据,任何值都是一个对象。同时拥有三个基本特性:id(内存地址)、type(数据类型)、包含的值

数据类型包含:数字(int、float、bool)、字符串(str)、列表(list)、元组(tuple)、集合(set)、字典(dict)。

不可变类型:数字、字符串、元组

可变类型:集合、列表、字典

  • isinstance()函数

可以检测一个对象是否来自一个已知的类型

格式:isinstance(object,type) 返回值为Ture或False

  • type()函数

可以返回对象的类型

  • instance()与type()函数的区别

instance()会考虑继承关系,type()不会考虑继承关系,如果判断两个类型是的相同建议使用instance()函数

5.类型的转换

5.1字符串的转换
  • str()转换 (更适合人阅读)
  • repr()转换 (更适合编译器阅读)

调用eval()函数可以将字符串还原为对象,str()无法还原

  • chr()转换

将一个数字转换为一个unicode字符

  • bin() 、hex() 、oct()转换

bin() 二进制转换

oct() 八进制转换

hex() 十六进制转换

5.2转换为整数
  • int()转换

int(a,base) 第一个参数为数字或数字字符串,第二个参数为进制默认为十进制

  • ord()转换

与chr()相反,可以将字符串转换为数字

5.3转换为浮点数

float() 只能是数字或数字字符串,只能包含一个点号,多个点号将会抛出异常

5.4转换为复数

complex(real,imag)

第一个参数可以为数字,浮点数,字符串

第二个参数可以为数字,浮点数

当第一个参数为字符串时,不需要指定第二个参数

5.5转换为布尔值

bool() 参数可以为任意值

除了假值(False,None,0,"",{},[])以外的转换为布尔值都为True

6.基本的输入和输出

  • input() 输入函数
  • print() 输出函数

可以输出任意类型的值

可以合并字符串

可以执行表达式并输出结果

sep:设置输出时的分隔符,默认为空格

end:设置输出的结束的标志,默认为换行

相关推荐
AIAdvocate9 分钟前
Pandas_数据结构详解
数据结构·python·pandas
小言从不摸鱼11 分钟前
【AI大模型】ChatGPT模型原理介绍(下)
人工智能·python·深度学习·机器学习·自然语言处理·chatgpt
C-SDN花园GGbond40 分钟前
【探索数据结构与算法】插入排序:原理、实现与分析(图文详解)
c语言·开发语言·数据结构·排序算法
迷迭所归处2 小时前
C++ —— 关于vector
开发语言·c++·算法
架构文摘JGWZ2 小时前
Java 23 的12 个新特性!!
java·开发语言·学习
FreakStudio2 小时前
全网最适合入门的面向对象编程教程:50 Python函数方法与接口-接口和抽象基类
python·嵌入式·面向对象·电子diy
leon6252 小时前
优化算法(一)—遗传算法(Genetic Algorithm)附MATLAB程序
开发语言·算法·matlab
锦亦之22333 小时前
QT+OSG+OSG-earth如何在窗口显示一个地球
开发语言·qt
我是苏苏3 小时前
Web开发:ABP框架2——入门级别的增删改查Demo
java·开发语言
姜太公钓鲸2333 小时前
c++ static(详解)
开发语言·c++