1、表达式、语句、程序、函数程序员
一、表达式 就是一个相似于数学公式的东西 ,好比:10 + 5 8 - 4;表达式通常仅仅用了计算一些结果,不会对程序产生实质性的影响编辑器
若是在交互模式中输入一个表达式,解释器会自动将表达式的结果输出函数
二、语句 在程序中语句通常须要完成某种功能,好比打印信息、获取信息、为变量赋值。如:print()、input()、a=10 学习
语句的执行通常会对程序产生必定的影响,在交互模式中不必定会输出语句的执行结果。编码
三、程序(program) 程序就是由一条一条的语句和一条一条的表达式构成的。命令行
四、函数(function) 函数就是一种语句,函数专门用来完成特定的功能。函数长的形如:xxx()3d
分类:code
内置函数 ,由Python解释器提供的函数,能够在Python中直接使用对象
自定义函数 ,由程序员自主的建立的函数,当咱们须要完成某个功能时,就能够去调用内置函数,或者自定义函数 。
构成:
参数: ()中的内容就是函数的参数,函数中能够没有参数,也能够有多个参数,多个参数之间使用","隔开blog
返回值 :返回值是函数的返回结果,不是全部的函数都有返回值。
2、书写规范
一、在Python中严格区分大小写;
二、Python中的每一行就是一条语句,每条语句以换行结束,不像其余语言以“;”结尾;
三、Python中每一行语句不要过长(规范中建议每行不要超过80个字符),在sublime编辑器设置不要超过80个字符,"rulers":[80],
四、一条语句能够分多行编写,多行编写时语句后边以‘’\‘’结尾;
五、Python是缩进严格的语言,因此在Python中不要随便写缩进;
六、在Python中使用 # 来表示注释,# 后的内容都属于注释,注释的内容将会被解释器所忽略,注释要求简单明了,通常习惯上#后边会跟着一个空格。
3、基本语法
一、字面量(常量)和变量
字面量就是一个一个的值,好比:1,2,3,4,5,6,‘HELLO’,所表示的意思就是它的字面的值,在程序中能够直接使用字面量;
变量(variable)变量能够用来保存字面量,而且变量中保存的字面量是不定的,变量自己没有任何意思,它会根据不一样的字面量表示不一样的意思。
通常咱们在开发时,不多直接使用字面量,都是将字面量保存到变量中,经过变量来引用字面量。
二、变量和标识符
变量:
Python中使用变量,不须要声明(和类型),直接为变量赋值便可,a = 10。
不能使用没有进行过赋值的变量,若是使用没有赋值过的变量,会报错 NameError: name 'b' is not defined。
Python是一个动态类型的语言,能够为变量赋任意类型的值,也能够任意修改变量的值,a = 'hello',也是对的。
标识符:
在Python中全部能够自主命名的内容都属于标识符,好比:变量名、函数名、类名,标识符必须遵循标识符的规范
(1)、标识符中能够含有字母、数字、_,可是不能使用数字开头,例子:a_1 _a1 _1a
(2)、标识符不能是Python中的关键字和保留字,也不建议使用Python中的函数名(如print)做为标识符,由于这样会致使函数被覆盖。
(3)、命名规范:若是使用不符合标准的标识符,将会报错 SyntaxError: invalid syntax
下划线命名法,全部字母小写,单词之间使用_分割,如:max_length, min_length, hello_world, xxx_yyy_zzz
帕斯卡命名法(驼峰命名法),首字母大写,每一个单词开头字母大写,其他字母小写,如:MaxLength, MinLength, HelloWorld, XxxYyyZzz
三、数据类型
指的就是变量的值的类型,也就是能够为变量赋哪些值
分类:数值型 (整形、浮点型、复数), 布尔型, 字符型, 空值
在Python数值分红了三种:整数、浮点数(小数)、复数
(1)int型,在Python中全部的整数都是int类型,a = 10 b = 20,Python中的整数的大小没有限制,能够是一个无限大的整数,不用担忧内存溢出。
如 c = 9999999999999999999 ** 100是对的,若是数字的长度过大,可使用下划线做为分隔符,c = 123_456_789,下划线自动忽略。
d = 0123 ,10进制的数字不能以0开头,print输出时,其余进制的整数,只要是数字打印时必定是以十进制的形式显示的。
# 二进制 0b开头,c = 0b10 ,十进制的2
# 八进制 0o开头,c = 0o10,十进制的8
# 十六进制 0x开头,c = 0x10,十进制的16
也能够经过运算符来对数字进行运算,而且能够保证整数运算的精确,如,c = 100,c = c + 3
(2)float型, 浮点数(小数),在Python中全部的小数都是float类型,c = 1.23
对浮点数进行运算时,可能会获得一个不精确的结果,如c = 0.1 + 0.2 ,可能会输出0.30000000000000004
字符型
(3)string型,字符串(str)用来表示一段文本信息,字符串是程序中使用的最多的数据类型,在Python中字符串须要使用引号引发来。
如,s = 'hello',字符串必须使用引号引发来,不使用不是字符串。引号能够是双引号,也能够是单引号,可是注意不要混着用
s = 'hello' s = "hello" 可是s = 'hello" 引号不能混合使用,会出现 SyntaxError: EOL while scanning string literal。
注意: 相同的引号之间不能嵌套
错误示范, s = "子曰:"学而时习之,乐呵乐呵!"",正确的,s = '子曰:"学而时习之,乐呵乐呵!"'
# 长字符串,单引号和双引号不能跨行使用
s = '锄禾日当午,\
汗滴禾下土,\
谁知盘中餐,\
粒粒皆辛苦' , 这样打印出来都在1行。
因此使用三重引号来表示一个长字符串 3个单引号''' 或3个双引号""",三重引号能够换行,而且会保留字符串中的格式
s = '''锄禾日当午,
汗滴禾下土,
谁知盘中餐,
粒粒皆辛苦''',这样打印出在4行
# 转义字符,可使用 \ 做为转义字符,经过转义字符,能够在字符串中使用一些特殊的内容
\' 表示', \" 表示",\t 表示制表符,\n 表示换行符,\\ 表示反斜杠,\uxxxx 表示Unicode编码,UTF-8编码的万国码。
s = "子曰:\"学而时习之,\\\\n乐呵乐呵!\""
s = '\u2250'
#格式化字符串
(1)字符串之间也能够进行加法运算, 若是将两个字符串进行相加,则会自动将两个字符串拼接为一个字符串。
如,a = 'abc' + 'haha' + '哈哈',输出abchaha哈哈
print("a = "+a) , 这种写法在Python中不常见,经常使用的是这个 print('a =',a)
字符串不能和其余的类型进行加法运算,若是作了会出现异常 TypeError: must be str, not int。例如a=12, print("a = "+a) ,会报错,由于前边是
字符串后边是整形变量。
(2)在建立字符串时,能够在字符串中指定占位符
%s 在字符串中表示任意字符
%f 浮点数占位符
%d 整数占位符
如,b = 'Hello %s'%'孙悟空' ,输出Hello 孙悟空,用孙悟空填充%s
b = 'hello %s 你好 %s'%('tom','孙悟空')
b = 'hello %3.5s'%'abcdefg' # %3.5s字符串的长度限制在3-5之间,不够在前边填空格,多了砍掉后边。
b = 'hello %s'%123.456 str是万能的,填整形和浮点型均可以。
b = 'hello %.2f'%123.456 保留2位小数,自动四舍五入。
b = 'hello %d'%123.95 直接把小数给舍掉。
b = '呵呵'
print('a = %s'%a)
(3)格式化字符串,能够经过在字符串前添加一个f(引号前边)来建立一个格式化字符串
在格式化字符串中能够直接嵌入变量如 a和b
c = f'hello {a} {b}'
print(f'a = {a}')
练习 建立一个变量保存你的名字,而后经过四种格式化字符串的方式,在命令行中显示,欢迎 xxx 光临!
name='孙悟空'
print("欢迎"+name+"光临!")
print("欢迎",name,"光临!")
print('欢迎%s光临!'%name)
print(f'欢迎{name}光临!')
# 字符串的复制(将字符串和数字相乘)
a = 'abc' * 在语言中表示乘法
若是将字符串和数字相乘,则解释器会将字符串重复指定的次数并返回
a = a * 20
print(a) 字符串复制20次输出,Python中独有
(4)布尔值(bool)
布尔值主要用来作逻辑判断,布尔值一共有两个 True (真)和 False(假)
a = True
a = False
print('a =',a)
布尔值实际上也属于整型,True就至关于1,False就至关于0
print(1 + False) ,输出为1
(5) None(空值)None专门用来表示不存在
b = None
print(b) 输出为None
扩展-1:类型检查
a = 123 数值 print('a =',a)
b = '123' 字符串 print('b =',b)
type()函数用来检查值的类型, 该函数会将检查的结果做为返回值返回,能够经过变量来接收函数的返回值。
c = type('123')
c = type(a)
print(type(b)) 输出<class 'str'>
print(type(1)) 输出 <class 'int'>
print(type(1.5)) 输出<class 'float'>
print(type(True)) 输出 <class 'bool'>
print(type('hello')) 输出<class 'str'>
print(type(None)) 输出 <class 'NoneType'>
扩展-2:类型装换(将一个类型的对象转换为其余对象,类型转换不是改变对象自己的类型,而是根据当前对象的值建立一个新对象)
类型转换四个函数 int()、 float()、 str()、 bool()
(1)、 int() 能够用来将其余的对象转换为整型
规则:
布尔值:True -> 1 False -> 0
浮点数:直接取整,省略小数点后的内容
字符串:合法的整数字符串,直接转换为对应的数字。若是不是一个合法的整数字符串(如小数字符串'11.5'),则报错 ValueError: invalid literal for int()
with base 10: '11.5',对于其余不可转换为整型的对象,直接抛出异常 ValueError。
(2)、 float() 和 int()基本一致,不一样的是它会将对象转换为浮点数
(3)、 str() 能够将对象转换为字符串
True -> 'True'
False -> 'False'
123 -> '123'
(4)、bool() 能够将对象转换为布尔值,任何对象均可以转换为布尔值
规则:对于全部表示空性的对象都会转换为False,其他的转换为True
哪些表示的空性:0 、 None 、 ''
例如:
a = True
调用int()来将a转换为整型,int()函数不会对原来的变量产生影响,他是对象转换为指定的类型并将其做为返回值返回
若是但愿修改原来的变量,则须要对变量进行从新赋值。
a = int(a)
a = False
a = int(a)
a = '123'
a = int(a)
a = 11.6
a = int(a)
a = '11.5'
a = int(a)
a = None
a = int(a)
a = 1
a = float(a)
a = False
a = float(a)
a = 123
a = str(a)
a = None
a = bool(a)
print('a =',a)
print('a的类型是',type(a))
b = 456
print('hello'+str(b))
四、 对象(object)
Python是一门面向对象的语言,一切皆对象!程序运行当中,全部的数据都是存储到内存当中而后再运行的,对象就是内存中专门用来存储指定数据的
一块区域,对象实际上就是一个容器,专门用来存储数据 ,如数值、字符串、布尔值、None都是对象
结构:每一个对象中都要保存三种数据
一、id(标识)
id用来标识对象的惟一性,每个对象都有惟一的id,对象的id就至关于人的身份证号同样,能够经过id()函数来查看对象的id,id是由解析器生成的,
在CPython中,id就是对象的内存地址, 对象一旦建立,则它的id永远不能再改变。
二、type(类型)
类型用来标识当前对象所属的类型,好比:int str float bool。类型决定了对象有哪些功能,经过type()函数来查看对象的类型, Python是一门强类型的语言,
对象一旦建立类型便不能修改。
三、 value(值)
值就是对象中存储的具体的数据,对于有些对象值是能够改变的;
对象分红两大类,可变对象和不可变对象,可变对象的值能够改变,不可变对象的值不能改变,以前学习的对象都是不可变对象。
变量和对象:
对象并无直接存储到变量中,在Python中变量更像是给对象起了一个别名,变量中存储的不是对象的值,而是对象的id(内存地址),
当咱们使用变量时,实际上就是在经过对象id在查找对象,变量中保存的对象(的地址即id),只有在为变量从新赋值时才会改变,变量和变量之间是相互独
立的,修改一个变量不会影响另外一个变量.。