Python基础语法(上)
- 一、基知
- 二、基本数据类型
- (一)标准数据类型
- (二)数据类型转换
- 三、字符串基本操作
- (一)字符串的索引和切片
- (二)字符串的拼接
- 三、运算符
- 四、复合数据类型
- (一)列表 [ ]
- (二)元组 ()
- (三)字典 { }
- (四)运算符在复合数据类型中的运用
- 五、条件语句和循环语句
- (一)if条件判断
- (二)for循环
- (三)while循环
一、基知
- 标识符
- 第一个字符必须是字母表中字母或下划线_。标识符的其他的部分由字母、数字和下划线组成。
- 标识符对大小写敏感
- 保留字
‘False’、‘None’、‘True’、‘and’、‘as’、‘assert’、‘break’、‘class’、‘continue’、‘def’、‘del’、‘elif’、‘else’、‘except’、‘finally’、‘for’、‘from’、‘global’、‘if’、‘import’、‘in’、‘is’、‘lambda’、‘nonlocal’、‘not’、‘or’、‘pass’、‘raise’、‘return’、‘try’、‘while’、 ‘with’、‘yield’
- 注释
- 单行注释以
#
开头- 多行注释可以用多个#号,或
'''
/"""
(三个单引号/三个双引号)
# 第一个注释'''
使用 3 个单引号分别作为注释的开头和结尾
可以一次性注释多行内容
这里面的内容全部是注释内容
'''"""
使用 3 个双引号分别作为注释的开头和结尾
可以一次性注释多行内容
这里面的内容全部是注释内容
"""
- 缩进
- 使用缩进来表示代码块,不需要使用大括号 { }
- 缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数,对比以下输出结果
- 保留字
- print 默认输出是换行的,如果要实现不换行需要在变量末尾加上
end=" "
- input 用的比较少
二、基本数据类型
(一)标准数据类型
- Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量
赋值以后该变量才会被创建
。 - 在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型
# 整形变量
counter = 100
print(type(counter))
# 浮点型变量
miles = 1000.0
print(type(miles))
# 布尔型变量
Var = True
print(type(Var))
# 字符串
a = 'a'
b = "b"
c = "run"
print(type(a))
print(type(b))
print(type(c))
# 复数
d = 1+2j
print(type(d))counter = False # 允许
(二)数据类型转换
有时候,我们需要对数据内置的类型进行转换,数据类型的转换,一般情况下只需要将数据类型作为函数名即可。Python 数据类型转换可以分为两种
- 隐式类型转换-自动完成
- 显式类型转换-需要使用类型函数来转换
a = 100
b = 100.0
ab = a + b
print("ab的数据类型",type(ab)) # 可多段内容拼接
ab = a + int(b)
print("ab的数据类型",type(ab))
ab = int(a + b)
print("ab的数据类型",type(ab))d = '0'
# 不强制类型转换,会报错
# unsupported operand type(s) for +: 'int' and 'str'
ad = a + int(d)
print(ad)
print("str(a)=",str(a))
ad = str(a) + d # 字符串的拼接
print(ad)h = "100.5"
bh = b + float(h)
三、字符串基本操作
(一)字符串的索引和切片
什么是字符串?
字符串是由字符组成的序列,可以使用单引号 ' 或双引号 "
括起来。例如:name =‘Alice’
- 字符串中的每个字符都有一个索引,可以使用索引访问特定位置的字符,索引从0开始。例如:print(name[0])将输出第一个字符A
- 切片是指通过指定起始索引和结束索引来提取子字符串。例如:print(name[1:3])将输出 ‘li’
注:从起始位置开始取,结束位置不取
,最终输出的长度为结束索引 - 起始索引
name = "Alice"
print(name[0])
print(name[1:4])
# -1?
print(name[-1]) # 负的会从后往前输,相当于一个循环
print(name[-4:-2])
(二)字符串的拼接
什么是字符串?
字符串是由字符组成的序列,可以使用单引号 ' 或双引号 "
括起来。例如:name='Alice’
字符串的拼接:
使用加号可以将两个字符串拼接在一起。例如:greeting= “Hello”+ name
name = "Alice"
greeting = "Hello"
print(greeting + " " + name)print("1" + "1")
print("1" * 2)
print("Alice" * 5)str = "iloveu"
print(str[-3:-1]*2 + str[2:4])
三、运算符
(1)算数运算符
a = 2
b = 5
print("a + b =", a + b)
print("a - b =", a - b)
print("a * b =", a * b)
print("a / b =", a / b)
print("a ** b =", a ** b)
print("a // b =", a // b)
print("a % b =", a % b)
(2)比较运算符
所有比较运算符,返回1表示T rue,0表示F alse(注意首字母要大写)
a = 2
b = 2.0
print("a > b :", a > b)
print("a < b :", a < b)
print("a >= b :", a >= b)
print("a <= b :", a <= b)
print("a == b :", a == b) # 即使数据类型不同,数值一样,就是一样
print("a != b :", a != b)
另:
浮点数存储的有效位数有限,小数部分只能存储一部分,在存储范围内a也是等于b的
(3)赋值运算符
(4)逻辑运算符
a = 1
b = 2
print(a == 1 and b == 3)
print(a == 1 or b == 3)
print(not b == 3)print(1 and 0)
print(1 or 0)
print(not 0)
(5)成员运算符
string = "hello alice"
char = "o a"
print(char in string)
练习:加法器
# a,b 得到的结果应该是字符串
a = input("请输入第一个数字")
b = input("请输入第二个数字")print("输入的两个数字之和是:", a + b)
print("输入的两个数字之和是:", int(a) + int(b))
四、复合数据类型
(一)列表 [ ]
列表是最常用的 Python 数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需
要具有相同的类型。创建一个列表只要把 逗号 分隔的不同的数据项使用方括号括起来可
ist0 = [1, '2', 3.0, True, "大家好"]
print(list0)
print(list0[1])
print(list0[1:4]) #index2 - index1 = 3
list0[2] = 5.0
print(list0)
(二)元组 ()
Python 的元组与列表类似,不同之处在于元组的元素不能修改
。元组使用小括号(),列表使用方括号[ ]。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可
(三)字典 { }
字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值 key=>value 对用冒号分割,每个对之间用逗号分割,整个字典包括在花括号中(key值必须唯一)
dict0 = {"第一个元素": 1, "第二个元素": '2', "第三个元素": 3.0, "第四个元素": True, "第五个元素": "大家好"}
print(dict0)
#字典中不可以通过索引序号来索引,只能通过key来索引
print(dict0["第二个元素"]) #print(dict0[1]) KeyError: 1
dict0["第三个元素"] = 5.0
print(dict0)dict0 = {"第一个元素": 1, "第二个元素": 1, "第三个元素": 3.0, "第四个元素": True, "第五个元素": "大家好"}
# 字典中如果出现重复的key,以第二次赋值为最后的赋值 --> key值必须唯一
dict0 = {"第一个元素": 1, "第一个元素": '2', "第三个元素": 3.0, "第四个元素": True, "第五个元素": "大家好"}
另:数组 { }(value值必须唯一)
#集合: 不允许重复的元素出现 True == 1 --> value值必须唯一
set0 = {1,2,3.0,True,"大家好"}
print(type(set0))
print(set0)
(四)运算符在复合数据类型中的运用
(1)
a = "hello"
b = "alice"
print(a + b)
a = [1,3,4,"2","alice"]
b = [100.0,"23",True]
print(a + b)
print(a * 2)
a = (1,3,4,"2","alice")
b = (100.0,"23",True)
print(a + b)
print(a * 2)
#a = {"第一个元素": 1, "第二个元素": 1, "第三个元素": 3.0, "第四个元素": True, "第五个元素": "大家好"}
#b = {"第一个元素": 1, "第二个元素": '2', "第三个元素": 3.0, "第四个元素": True, "第五个元素": "大家好"}
#print(a + b) 不允许
#print(a * 2) 不允许
(2)
a = [1,3,4,"2","alice"]
b = 1
print(b in a)
c = "li"
print(c in a) # 最后执行的判断 c == "alice"
d = [4,"2"]
print(d in a) # a 中要有[4,"2"]此子列表才会返回True
(3)列表的快速去重
五、条件语句和循环语句
(一)if条件判断
(二)for循环
for i in range(5): # ==range[0,1,2,3,4]print(i)for i in ["red","blue","green","black"]:print("当前的颜色是",i)num = 0
for i in range(5):for j in range(5):num += 1print("这是第",num,"次循环",i,j,i*j)
(三)while循环
target = 99
predict = 0
# 字符串的数字可以进行不相等的比较,可以一直不相等 --> 不加int(),循环就永远不可能结束
while not int(predict) == target: # 相当于 while predict != target:predict = input("请进行一次猜测:")if int(predict) > target: # 注:input 得到的是字符!!!print("猜大了!")elif int(predict) < target:print("猜小了!")else:print("两者相等")
print("恭喜猜中!")
完