python基础语法
- 变量
- 数字类型
- 运算符
- 流程控制
- while循环
- dead loop
- continue vs break
- while else
变量(Varibles)
变量的作用:
- 变量是用来存储信息以便后面的代码调用
- 标记描述数据
-
声明变量
name = "Jason"
- name:变量名
-
“Jason”:变量值
变量的定义规范
- 变量只能是字母、数字或者下划线的组合
- 变量名的第一个字符不能是数字
-
变量赋值不能有空格 如:
name age = 22
-
以下关键字不能声明为变量名
["and", "as", "assert", "break", "class", "continue", "del", "elif", "else", "except", "exec", "finally", "del", "for", "from", "gobal", "if", "import", "in", "is", "lambda", "not", "or", "pass", "print", "rasie", "return", "try", "while", "with", "yeild"]
变量命名习惯
-
驼峰体
AgeOfOldboy = 56 NumberOfStudents = 80
-
下划线
age_of _oldboy = 56
变量名的LOW方式
- 变量名为中文、拼音
- 变量名过长
-
变量名词不达意
常量
常量约定俗成全部字母为大写
AGE_OF_OLDBOY = 56
数字类型
-
int(整型)
在32位机器上,整数的位数为32位,取值范围为-2**31~2**32-1,即-2147483648~214748364
-
long(长整型)
python的长整数没有指定位宽,即:python没有限制长整数数值的大小,但实际由于机器内存有限,我们使用的长整数数值不可能无限大。
注意>> 从python2.2起,如果整数发生溢出,python会自动将整数数据转换成长整数。
- 字符串
字符串的定义: 加了引号就是字符串
” “, ”, “”” “””, 都是字符串
单引号和双引号没区别
字符串拼接
name = "jack"
age = "22"
print(name + age) # 字符串相加
# jack22
print(name * 2) # 字符串相乘
# jackjack
- 布尔类型
布尔类型只有两种类型 True 或者 False 且不能同时存在
格式化输出
name = "Jason"
age = 23
job = "it"
salary = "10k"
info = """"
------info of {_name}-----
Name={_name}
Age={_age}
Job={_job}
Salary={_salary}
---------end-------""".format(_name=name,
_age=age,
_job=job,
_salary=salary)
print(info)
info2 = """------info of %s-----
Name=%s
Age=%d
Job=%s
Salary=%s
---------end-------""" % (name, name, age, job, salary)
print(info2)
info3 = """------info of {0}-----
Name={0}
Age={1}
Job={2}
Salary={3}
---------end-------""".format(name, age, job, salary)
print(info3)
- 运算符
数据运算
“` -
两个数相加
% 取模,例如9%4等于1
** 例如 2**3等于8
// 例如9//4等于2
比较运算
== 等于
!= 不等于
<> 不等于(python2,python3没有)
<
<=
**赋值运算**
==
+= c+=a等效于c=c+a
-= c-=a等效于c=c-a
= c=a等效于c=c*a
%= c%=a等效于c=c%a
//= c//=a等效于c=c//a
= c=a等效于c=c**a
**逻辑运算**
and 布尔“与” ,x和y同时为真即x and y为真,否则为假
or 布尔“或”,x和y只要有一个为真即 x or y 为真 ,X和y同时为假则x or y为假
not 布尔“非”,x为真则返回为假,x为假则返回为真
**成员运算**
in 如果在指定序列中找到值返回ture,否则返回Fasle.
in not 如果在指定的序列中没有找到值就返回ture,否则返回false
**身份运算**
is is是判断两个标识符是不是引用自一个对象
is not is not 是判断两个标识符是不是引用自不同对象
**位运算**
- & 按位与运算 两位同时为“1”,结果才为“1”,否则为0
- | 按位或运算 只要有一个为1,其值为1
- ^ 按位异或 相同为“0”,不同为“1”
x=0101,y=1011
x^y==1110
- ~对一个二进制数按位取反,即将0变1,1变0。
- << a = a << 2
将a的二进制位左移2位,右补0。若左移时舍弃的高位不包含1,则每左移一位,相当于该数乘以2。
a=0011 0011 #十进制等于51
a==a<<2
a==1100 1100 #十进制等于204
- >> a = a >> 2 将a的二进制位右移2位
a=1100 1100 #十进制为204
a==a>>2
a=00110011 #十进制为51
**三元运算**
a,b,c=1,3,5
d=a if a>b else c
print(d)
5
### 流程控制
- 单分支
if 条件:
满足条件后要执行的代码
a = 1
if a < 2:
print(“lalala”)
- 双分支
a = 1
b = 2
if a < b:
print(“right”)
else:
print(“error”)
- 多分支
x = 2
if x == 1:
print(“i am 1”)
elif x == 2:
print(“i am 2”)
elif x==3:
print(“i am 3”)
else:
print(“unknow”)
### while循环
while 条件:
执行代码...
count = 0
while count <= 100:
print(“loop”, count)
count += 1
### Dead Loop
死循环
count = 0
while True:
print(“forever love”)
coungt += 1
### break & continue
- break: break用于完全结束一个循环,跳出循环执行循环后面的语句
count = 0
while count <= 100:
print(“loop”, count)
if count == 5:
break
count += 1
print(“—out of while loop—“)
- continue:continue 和 break 有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环
count = 0
while count <= 100:
count += 1
if count > 5 and count < 95:
continue
print(“loop”, count)
print(“—out of while loop—“)
### while else
当while循环正常执行完,中间没有被break终止的话,就会执行else后面的语句。
count = 0
while count <= 5:
count += 1
print(“Loop”, count)
else:
print(“循环正常执行完啦”)
print(“—out of while loop—“)
“`