01. 基础语法
2019-12-11 本文已影响0人
哈哈大圣
基础语法
本系列Python博客适合已有其他编程语言基础的小伙伴快速入门!
一、变量
1). 变量名命名规则
- 以数字、字母、下划线组合。
- 不能以数字开头,不能为关键字,不要和python内置函数名相同 可能会被覆盖,比如不要用
sum
,因为sum(1,2,3)
的值为5。 - 大小写敏感。
- 查看变量名的代号如下,并不是实际内存地址,只是一个代号,如果变量名的内存地址相同,则id号相同
id(variate)
2). 变量类型分类
- 可变型变量:列表、字典
- 不可变变量:、数字、字符串、元组、布尔值:
True
False
(Python中的布尔值首字母大写)
3). 访问类型:
- 直接访问:数字
- 顺序访问:字符串、列表、元组
- 映射的访问:字典
4). 存放元素的个数区别:
- 容器类型:列表、元组、字典与自定义类型。
- 原子类型:数字、字符串
5). 常量
约定俗成将全部大写表示的变量当做常量。
6). 注释
- 行注释
# 注释内容
- 块级注释
'''注释文字'''
""" 注释文字"""
二、运算符
1).符号分类
- 运算符:
+
、-
、*
、/
、**(次方)
、%(求余)
、//(舍去小数)
- 赋值符号:
=
(支持复合赋值运算,例如+=
) - 符号逻辑运算:
==
(比较判断)>
>=
<
<=
!= (<>)
(!
一般和等号连用, 不能代替not
) - 逻辑运算:
-
and
: 并 -
or
: 或 -
is
: 判断两个对象是否是同一个 -
not
: 非, (没有not=
这种写法) -
in
:集合运算:判断字符串是否在另一个字符串中或者对象是否在另一个对象中。 -
not in
:与in
的含义相反
-
2). 简单案例
import copy
s1 = [[1,2,3]]
s2 = copy.deepcopy(s1)
print(s1[0][1] is s2[0][1])
# True,一切皆对象,解释器优化的结果
name = 'lingting'
if 'ling' in name:
print('OK') # OK
else:
print('Error')
python里面没有
i++ ,i--;++i;--i
3). 运算举例
-
结果是算数值
- 算数运算
a = 10 * 10
- 赋值运算
a = a + 1
a += 1
- 算数运算
-
结果是布尔值
- 比较运算
a = 1 > 5
- 逻辑运算
a = 1 > 6 or 1 == 1
- 成员运算
a = "haha" in "hahadasheng"
- 比较运算
-
相互交换值简写
a = 'a'
b = 'b'
a,b = b,a
a,b = 1,2
a,b = b,a+b #这里的a+b中的a还是没有赋值的a
print(a, b)
- 多个变量赋值
a, b, c, d, e= "a b c d e".split(" ")
4). 运算符优先级:
- 先括号
- 先乘除,后加减
- 对于
and
or
执行顺序,从前到后进行判断
java中的逻辑运算
&&
的优先级比||
高
三、条件语句
PS:缩进用4个空格(Tab键)注意缩进如果是空格键和Tab键混用容易引起报错!
1).一般形式
if a == b and c != d and !e or f in g or h not in i:
pass
else
pass
2).嵌套
if condition_one:
pass
elif condition_two:
pass
...
else:
pass
四、循环
1).for循环语句
- 格式
for 定义变量 in 容器or字符串:
pass
continue # 下面不执行,继续循环到结束
break # 直接跳出循环
else: # 非必须语法,偶尔会用到这个功能
pass # 如果for语句中途退出,没有执行到最后抛异常,则这里就会执行
pass的作用:不做任何事情,一般用做占位语句
- 案例
# 1到3个int参数:[起始位置] [终止位置不包含] [步长]
# 创建连续的数字,3中优化了,要在循环时动态创建
v = range(100)
for item in v:
print(item)
for i in range(0,100,2):
print(i)
# 创建一个不连续的数字序列,间隔为Long_number
# range(strat_number,end_number,long_number)
a = range(100,10,-10) # 创建一个不连续的数字序列,间隔为Long_number,倒叙
3).while语句
- 格式
while 布尔值:
pass
break
continue
else: # 与for中的else效果等同
pass
- 案例
# 死循环
while 1:
print('nice!')
- 求1-2+3-4+5 ... 99的所有数的和
n = 1
s = 0 # s是之前所有数的总和
while n < 100:
temp = n % 2
if temp == 0:
s = s - n
else:
s = s + n
n = n + 1
print(s)