变量的命名规范*****
1、只能由字母、数字、下划线组成
2、首字母不能是数字开头
3、避免与系统关键字重合:重合不会报错,但是会屏蔽该关键字的系统功能(不建议这样定义)
以下关键字重合会报错(涉及语法错误):
['and' , 'as' , 'assert' , 'break' , 'class' , 'continue' , 'def' , 'del' , 'elif' ,'else' , 'except' , 'exec' , 'finally' ,
'for' , 'from' , 'global' , 'if' , 'import' , 'in' , 'is' , 'lambda' , 'not' , 'or' , 'pass' , 'print' , 'raise' , 'reture' ,
'try' , 'while' , 'with' , 'yield']
4、以_开头的变量都有特殊的含义
5、以__开头与结尾的叫魔法变量,内置变量
6、声明长变量用_连接语法:old_boy
————————————了解——————————————
7、支持小驼峰体和大驼峰体命名规范:oldBoy(小驼峰体) OldBoy(大驼峰体)
8、多个单词的简易建议用大写:HTTP
9、用全大写来表示常量:OLDBOY
常量
常量定义:在程序运行过程中,值不可以被改变的量叫做常量
python语法中:在程序运行中,值都可以被改变,所以python没有严格意义上的常量
但是我们默认全大写的为常量,只能自我保障不去改变它
输出输入
输出
python2:
print(10)
print 10 --python3中被遗弃
python3:
print(10)
输入
python2:
input():括号里面输入什么类型就打印什么类型:
如果括号里是单纯的(abc)会被当成变量解释执行,如果变量未被定义,就会报错
raw_input():相当于python3中的input() -->里面输入什么类型都会被转换成字符串
python3:
input():里面输入什么类型都会被转换成字符串
注释
注释:不会被python解释器执行,是为了方便开发人员看懂代码而存在的
注释有两种方式:
1、单行注释 #
2、多行注释''' ''' | """ """ (只有在开头第一个才是注释,其他的是高亮的字符串)
基本的数据类型*****
用来表示事物不同状态,所以要有不同的数据类型
整型(int)
主要用来表示:年龄、等级等一些整数 age = 10 type(10) --> int
长整型(long)
当整型的数字特别长时:
python2:用长整型(long)表示这串长的数字 type(100000000000000000000) --> long
python3:取消长整型,依然用整型(int)表示 type(10000000000000000000000) --> int
浮点型(float)
主要用来表示一些身高、体重这些带小数点的数字
weight = 55.5 type(weight) --> float
浮点型的格式化输出:
salary = 88888.0123456789
print(salary)
88888.0123456789
print('%f' % salary)
88888.0123456789
%f是浮点型的占位符可以在中间加上.用来格式化输出
print('%16.8f' % salary)
.的后面8是保留小数点后面的位数,如果不输入默认是保留6位小数
.的前面16是整体的长度,如果小于salary的整体长度,那么就不执行,
如果是大于并且是正数,那么salary就会右对齐,左边空出来的用空格填充(在16的前面加0可以用0填充)
如果是大于并且是负数,那么salary就会左对齐,右边空出来的用空格填充 #前面加0无效
布尔值(bool)
只有两个:真 True
假 False
字符串(str)
凡是用 ' ' | " " | ''' "' | """ """ 包裹的值都是字符串
' ' | " " :表示单行字符串
''' ''' | """ """ :表示多行字符串
%s是万能占位符,%s %()占的变量多就用括号一起包裹起来
案例:
需要打印成以下形式:
----------info----------
name : owen
age : 42
job : teacher
----------end-----------
name = input('姓名:')
age = input('年龄:')
job = input('职业:')
msg = '''----------info----------
name : %s
age : %s
job : %s
----------end-----------'''
print(msg %(name,age,job))
列表(list)
可以用来同时存储多个值
定义:[任意数据类型的值]---->中括号里可以加入任意数据类型的值,多个值用,隔开
ls = [3,2,4,1]
可以通过索引(index)把值从列表当中取出来,index是从0开始
print(ls[0]) ---->3
print(ls[2]) ---->4
列表可以嵌套
ls = [[1,2,3],[4,5,6],[7,8,9]]
print(ls[1][2]) --->6
列表的存放方式
字典(dict)
和列表一样,也可以同时存放多个值,列表的index没有语义,字典通过key可以来描述值(value)
定义:{'key':'value'}字典里对每一个值value都有一个对应描述它的key,这个key是开发人员已知的,方便理解,我们可以根据这个key来对字典进行取值
dic = {'name':'owen','age':52}
print(dic['name']) ----->owen
字典的嵌套参考上面列表的嵌套
运算符*****
算术运算符
+ :int 和 float 直接数值相加
str 和 list 是拼接
dict不能相加
- : int 和 float 直接数值相减 (str、list、dict不能相减)
* : int 和 float 直接数值相乘
str和list只能和数字相乘,其实可以转换成加法,即是拼接
dict不能相乘
/ : 直接相除
%: 求模(取余) 任意数%n --n=>[0,n-1]
**:求幂
//:取整
赋值运算符
= :赋值 a = 1
+=:加等于 a += 1 --->a = a + 1
...
1、链式赋值
a = b = 10
2、交叉赋值
a = 10
b = 20
a,b = b,a
print(a,b) --->20,10
3、解压赋值
ls = [2,1,3,4]
x,y,z,q = ls
print(x,y,z,q) --->2 1 3 4 :变量的个数为1 就是直接把列表赋值给变量,不然变量的个数必须和list元素相等(不然报错)
只想取出3
_,_,a,_=ls
print(a) -->3
这里的_就有特殊含义(默认不取出,其实是把值取出来赋值给了_)
比较运算
== | >= | <= | != | > | <
1、运算符比较出来的是bool
print(1 > 2) --->False
2、可以连着比
print(1 < 3 < 5) ---> True
逻辑运算
and or not
输出的不一定为布尔值bool,如果两边是数字,符合就会输出数字
and :and两边都为真才为真,有一个假就为假
or :or两边都为假才为假,有一个真就为真
not :真就是假,假就是真
print(0 < 4 and 10) ----> 10
优先级是 not > and > or