一、变量
1.变量:存储数据。存储数据需要对应内存空间,基于变量的数据类型,解释器会分配指定内存,决定什么数据被存储到内存中。
变量数据类型:整数、小数、字符。
2.变量赋值:变量在使用前必须赋值,赋值的变量才被创建。
#!/usr/bin/env python student = 8000 #整数型 miles = 150.0 #浮点型 name = "crystal" #字符串 print student print miles print name
3.多个变量赋值
1)创建变量,值为1,三个变量被分配在相同的内存空间上。
a = b = c = 1
2)多个对象指定多个变量
a, b, c = 100, 150.0, "crytsal"
二、标准数据类型
1.python有五个标准数据类型:Numbers(数字)、string(字符串)、List(列表)、Tuple(元组)、Dictionary(字典)
2.Numbers(数字):int(有符号整型)、long(长整形【也可代表八进制和十六进制】)、float(浮点型)、complex(复数)
1)int
var1 = 11 var2 = 12
2)long
var3 = 51924361L
3)float
var4 = 5.20
4)complex
var5 = 3.14j
3. string(字符串):由数字、字母、下划线组成的一串字符
1)字符串
a = “n_12”
2)字串列表有2种取值方法:
a. 从左到右索引默认为0
b. 从右到左索引默认-1开始
c r y s t a l0 1 2 3 4 5 6 -7 -6 -5 -4 -3 -2 -1
4. 列表:python使用最频繁的数据类型。支持字符、数字、字符串设置可以包含列表(即嵌套)。
列表用 [ ] 标识,是python通用的复合数据类型。
1)从下标获取字符串部分数据
>>>a = "abcdef" >>>a [1:5] "bcde”
2)索引1到索引4,步长为2(间隔一个位置)来截取字符串
>>>letters = ['c','r','y','s','t','a','l'] >>>letters[1:4:2] ['r','s']
5. 元组:元组用 ( ) 标识,内部元素用逗号隔开,元组不能二次赋值
#!/usr/bin/env python tuple = ("ruby", 768, 2.01, 'crystal', 50.2) tinytuple = (1234, 'crystal') print tuple #输出完整元组 print tuple [1:3] #输出第二个至第四个(不包含)的元素 print tinytuple * 2 #输出元组2次
打印的结果如下:
("ruby", 768, 2.01, 'crystal', 50.2) (768, 2.01) (1234,‘crystal’,1234,‘crystal’)
备注:元组不允许更新,列表允许更新
#! /usr/bin/env python tuple = ("crystal", 899, 2.01, 50.2) list = ["crystal", 899, 2.01, 50.2] tuple [2] = 1000 #元组中是非法应用 list [2] = 1000 #列表中可以把下标2的值更新为1000,属于合法应用
6.字典:除列表以外python中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。
两者间的区别:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用 { } 来识别,字典由索引(key)和它对应的值value组成。
#!/usr/bin/env python dict = {'name':'crystal', 'code':5050,'dept':'sale' } print dict print dict.keys() print dict.values()
打印结果如下:
{'name':'crystal', 'code':5050,'dept':'sale' } ['dept','code','name'] ['sale',5050,'crystal']
三、数据类型转换:将数据类型作为函数名即可
四、中文编码:在python3.x 之前都需要指定中文编码UTF-8。python3.x源码文件默认使用UTF-8编码,所以无需声明
1.pycharm中配置UTF-8
1)file > Settings,输入encoding
2)找到Editor > File encoding, 将IDE Encoding和 Project Encoding设置成UTF-8即可
2. 代码中声明UTF-8
#! /usr/bin/env python # -*- coding: UTF-8 -*- print(“你好,世界”)
备注:如果在python2.x不做声明的话,就会出现以下错误提示
SyntaxError: (unicode error) ‘utf-8’ codec can’t decode byte 0xc4 in position 0: invalid continuation byte
五、基础语法
1.python 标识符:由字母、数字、下划线组成。但不能以数字开头。python标识符区分大小写。
1)以单下划线开头,如_foo的代表不能直接访问的类属性,需要通过类提供的接口进行访问。不能用 from xxx import导入
2)以双下划线开头的__foo代表类的私有成员
3)以双下划线开头和结尾__foo__代表python里特殊方法专用的标识,如__init__( )代表类的构造函数
2. python保留字符:不能用作常数或变数,或任何其他标识符名称。所有python关键字只包含小写字母
3. 行和缩进:python的代码块不使用{ }来控制类、函数以及其他逻辑判断。只需要用缩进来写模块。
所有代码块语句必须包含相同的缩进空白数量。(可以直接用tab键进行缩进)
if True: print('True') else: print('False')
备注:如果缩进不一致,报错:IndentationError: unindent does not match any outer indentation level
4.多行语句:用反斜杠进行多行显示。语句中包含[ ]、{ }、()就不需要多行连接符
total = time_one+ \ time_two+ \ time_three
5.引号:单引号、双引号、三引号都可以表示字符串,引号开头和结尾要相同。
name = 'crystal' word = "John" paragraph = """这是一个段落 它包含多个语句"""
6. 注释
a.单行注释用 # 开头,或者注释在语句或表达式行末
b.多行注释用三个单引号或者三个双引号
#! /usr/bin/env python name = 'crystal' #这是一个变量 ''' 多行注释用三个单引号。 多行注释用三个单引号。 多行注释用三个单引号。 ''' """ 多行注释用三个单引号。 多行注释用三个单引号。 多行注释用三个单引号。 """
7. 空行:函数之间或类的方法之间用空行隔开,表示一段新的代码的开始。空行不是语法,只是便于日后代码的维护
8. 等待用户输入:程序等待用户输入,按回车键退出
#! /usr/bin/env python raw_input("按下enter键退出,其他任意键显示...\n") #‘\n’代表换行,用户一旦按下enter键,其他键显示
9. 同一行显示多条语句
#! /usr/bin/env python import sys; x = 'ruby'; sys.stdout.write(x + '\n')
10.print输出:print默认输出换行,如果不需要换行在末尾加逗号
#!/usr/bin/python x = 'A' y = 'B' print x print y #输出的内容 A B print x,y #输出的内容是A B print x, print y #输出的内容是A B
11.多个语句构成代码组:缩进相同的一组语句构成一个代码块,也就是代码组。
例如if、while、def和class这样的复合语句,首行以关键字开头,以冒号结束,该行之后是一行或多行代码构成的代码组
#! /usr/bin/env python if expression: sutie elif expression: suite else: suite
12.命令行参数:python可以使用 -h 参数查看各参数帮助信息
$ python -h usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ... Options and arguments (and corresponding environment variables): -c cmd : program passed in as string (terminates option list) -d : debug output from parser (also PYTHONDEBUG=x) -E : ignore environment variables (such as PYTHONPATH) -h : print this help message and exit [ etc. ]
六、运算符
1. 算术运算符
实例如下:
#! /usr/bin/env python a = 21 b = 10 c = 0 c = a + b #c = 31 c = a - b #c =11 c = a* b #c =210 c = a /b #c =2 c = a % b #c =1 c = a **b #c =8 c = a // b #c =2
2. 比较运算符(以下假设变量a 为10,变量b为20)
3. 赋值运算符(假设变量a为10,变量b为20)
实例如下:
#! /usr/bin/env python a=21 b=10 c=0 c = a + b #c=31 c += a # c = 31+21,值为52 c *=a #c = 52*21 ,值为1092 其他算法依次计算
4.位运算符:把数字看作二进制来进行计算。(下表中变量a为60, b为13,二进制格式)
5.逻辑运算符(假设变量a为10,b为20)
6.成员运算符:测试实例中包含了一系列的成员,包括字符串、列表或元组
实例如下:
#!/usr/bin/python # -*- coding: UTF-8 -*- a = 10 b = 20 list = [1, 2, 3, 4, 5 ]; if ( a in list ): print "1 - 变量 a 在给定的列表中 list 中" else: print "1 - 变量 a 不在给定的列表中 list 中" if ( b not in list ): print "2 - 变量 b 不在给定的列表中 list 中" else: print "2 - 变量 b 在给定的列表中 list 中"
7.身份运算符:用于比较两个对象的存储单元
8.运算符优先级(列表从最高到最低优先级排序)
实例如下:
#! /usr/bin/env python a = 20 b = 10 c = 15 d = 5 e = 0 e = (a + b)* c / b #(30*15)/ 5,结果为90
备注:知识点引用自菜鸟课程:https://www.runoob.com/python
来源:https://www.cnblogs.com/heiqiuxixi/p/12217053.html