入门基础(一)"/>
Python入门基础(一)
Python入门基础
1 Python基础知识
1.1 编程语言与Python
1.2 注释
- 单行注释
以#
开头,#
右边的所有文字当作说明,而不是真正要执行的程序,起辅助说明作用
# 我是注释,可以在里写一些功能说明之类的哦
print('hello world')
- 多行注释
'''我是多行注释,可以写很多很多行的功能说明
'''
1.3 变量以及类型
1.3.1 变量的定义
num1 = 100 #num1就是一个变量,就好一个小菜篮子num2 = 87 #num2也是一个变量result = num1 + num2 #把num1和num2这两个"菜篮子"中的数据进行累加,然后放到 result变量中
1.3.2 变量类型
- 怎样知道一个变量的类型呢?
- 在python中,只要定义了一个变量,而且它有数据,那么它的类型就已经确定了,不需要咱们开发者主动的去说明它的类型,系统会自动辨别
- 可以使用type(变量的名字),来查看变量的类型
1.4 标志符和关键字
1.4.1 标志符
开发人员在程序中自定义的一些符号和名称。标识符是自己定义的,如变量名 、函数名等
1.4.2 标识符的规则
- 标识符由字母、下划线和数字组成,且数字不能开头
1.4.3 命名规则
-
小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog
-
大驼峰式命名法(upper camel case): 每一个单字的首字母都采用大写字母,例如:FirstName、LastName
-
还有一种命名法是用下划线“_”来连接所有的单词,比如send_buf,
Python的命令规则遵循PEP8标准,这个在后面会慢慢讲到。
1.4.4 关键字
python一些具有特殊功能的标识符,这就是所谓的关键字
关键字,是python已经使用的了,所以不允许开发者自己定义和关键字相同的名字的标识符
查看关键字:
and 、 as、 assert 、 break 、 class、 continue 、 def、 del、
elif 、 else 、 except 、 exec、 finally 、 for 、 from 、 global、
if 、 in 、 import、 is、 lambda、 not 、 or 、 pass、
print 、 raise、 return 、 try 、 while、 with 、 yield。
可以在Python Shell通过以下命令进行查看当前系统中python的关键字
import keyword
keyword.kwlist
1.5 输出
# 打印提示
print('hello world')
print('萨瓦迪卡---泰语,你好的意思')
1.5.1 格式化输出
1.5.1.1 格式化的目的
pirnt("我今年10岁")
pirnt("我今年11岁")
pirnt("我今年12岁")...
#上面的太繁琐了,用 格式化输出 简化过程
1.5.1.2 常用的格式符号
格式符号 | 转换 |
---|---|
%c | 字符 |
%s | 字符串 |
%d | 有符号十进制整数 |
%u | 无符号十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数(小写字母0x) |
%X | 十六进制整数(大写字母0X) |
%f | 浮点数 |
%e | 科学计数法(小写'e') |
%E | 科学计数法(大写“E”) |
%g | %f和%e 的简写 |
%G | %f和%E的简写 |
1.6 输入
1.6.1 input()
password = input("请输入密码:")
print('您刚刚输入的密码是:%d' % password)
注意:
input()
的小括号中放入的是,提示信息,用来在获取数据之前给用户的一个简单提示;input()
在从键盘获取了数据以后,会存放到等号右边的变量中;input()
会把用户输入的任何值都作为字符串来对待。
1.7 运算符
1.7.1 算数运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 两个对象相加 a + b 输出结果 30 |
- | 减 | 得到负数或是一个数减去另一个数 a - b 输出结果 -10 |
* | 乘 | 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200 |
/ | 除 | b / a 输出结果 2 |
// | 取整除 | 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0 |
% | 取余 | 返回除法的余数 b % a 输出结果 0 |
** | 指数 | a**b 为10的20次方, 输出结果 100000000000000000000 |
注意:
-
混合运算时,优先级顺序为:
**
高于* / % //
高于+ -
,为了避免歧义,建议使用()
来处理运算符优先级。 -
并且,不同类型的数字在进行混合运算时,整数将会转换成浮点数进行运算。
1.7.2 赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 赋值运算符 | 把 = 号右边的结果 赋给 左边的变量,如 num = 1 + 2 * 3,结果num的值为7 |
# 单个变量赋值
>>> num = 10
>>> num
10# 多个变量赋值
>>> num1, num2, f1, str1 = 100, 200, 3.14, "hello"
>>> num1
100
>>> num2
200
>>> f1
3.14
>>> str1
"hello"
- 复合赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
+= | 加法赋值运算符 | 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 |
//= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
1.8 常见的数据类型转化
函数 | 说明 |
---|---|
int(x [,base ]) | 将x转换为一个整数 |
float(x ) | 将x转换为一个浮点数 |
complex(real [,imag ]) | 创建一个复数,real为实部,imag为虚部 |
str(x ) | 将对象 x 转换为字符串 |
repr(x ) | 将对象 x 转换为表达式字符串 |
eval(str ) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s ) | 将序列 s 转换为一个元组 |
list(s ) | 将序列 s 转换为一个列表 |
chr(x ) | 将一个整数转换为一个Unicode字符 |
ord(x ) | 将一个字符转换为它的ASCII整数值 |
hex(x ) | 将一个整数转换为一个十六进制字符串 |
oct(x ) | 将一个整数转换为一个八进制字符串 |
bin(x ) | 将一个整数转换为一个二进制字符串 |
代码展示:
>>> # int(): 将数据转换为 int 类型
...
>>> str1 = "10"
>>> # int() 默认按10进制转换后显示
... num1 = int(str1)
>>>
>>> # int() 处理浮点数,只留下整数部分,舍弃小数部分(并不是四舍五入操作)
... num2 = int(3.74)
>>> print(num2)
3
>>>
>>> """
... num1 = int(str1, 8) # 第二个参数为8,表示按8进制转换后显示,结果为 8
... num1 = int(str1, 16) # # 第二个参数为16,表示按16进制转换后显示,结果为 16
... #01 02 03 04 05 06 07 10
... #01 02 ... 0B 0C 0D 0E 0F 10
... print(num1)
... """
>>>
>>> # float() 将数据转化为浮点数
... str2 = "3.14"
>>> f1 = float(str2)
>>> print(type(f1))
<class 'float'>
>>>
>>> f2 = float(10)
>>> print(f2)
10.0
>>>
>>> # complex() 创建复数: 第一个参数是复数的实部,第二个参数是复数的虚部
... c1 = 10 + 4j
>>> c2 = complex(10, 4)
>>>
>>> print(c1)
(10+4j)
>>> print(c2) # 等同与c1
(10+4j)
>>>
>>> # str() : 转换为 字符串类型
... num1 = 10
>>> f1 = 3.14
>>>
>>> print(type(str(num1)))
<class 'str'>
>>> print(type(str(f1)))
<class 'str'>
>>>
>>> # repr(): 转换为表达式字符串
... num1 = 10
>>> print(type(repr(num1)))
<class 'str'>
>>>
>>>
>>> # eval(): 将字符串形式的数据,转换为原本的类型
... str1 = "3.14"
>>> print(type(eval(str1)))
<class 'float'>
>>>
>>> str2 = "[10, 20, 30]"
>>> l = eval(str2)
>>> print(type(l))
<class 'list'>
>>>
>>>
>>> # chr: 将一个整数转换为对应的 Unicode 字符
... s = chr(1065)
>>> print(s)
Щ
>>>
>>> # ord :将一个字符转换为对应的字符编码数字
... n = ord("A")
>>> print(n)
65
>>>
>>> # bin: 将一个整数转换为二进制
... print(bin(1024)) # 0b 开头表示二进制数
0b10000000000
>>>
>>> # oct:将一个整数转换为八进制
... print(oct(1024)) # 0o 开头表示八进制数
0o2000
>>>
>>> # hex: 将一个整数转换为十六进制
... print(hex(1024)) # 0x 开头表示十六进制
0x400
>>>
1.9 总结
2 判断语句与循环逻辑
2.1 if 判断句
age = 16print("------if判断开始------")if age >= 18:print("我已经成年了")print("------if判断结束------")
2.2 比较关系和条件运算符
2.2.1 比较运算符
运算符 | 描述 | 示例 |
---|---|---|
== | 检查两个操作数的值是否相等,如果是则条件变为真。 | 如a=3,b=3,则(a == b) 为 True |
!= | 检查两个操作数的值是否相等,如果值不相等,则条件变为真。 | 如a=1,b=3,则(a != b) 为 True |
> | 检查左操作数的值是否大于右操作数的值,如果是,则条件成立。 | 如a=7,b=3,则(a > b) 为 True |
< | 检查左操作数的值是否小于右操作数的值,如果是,则条件成立。 | 如a=7,b=3,则(a < b) 为 False |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。 | 如a=3,b=3,则(a >= b) 为 True |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。 | 如a=3,b=3,则(a <= b) 为 True |
代码示例:
>>> ## 关系运算符
...
>>> # == 等于:表示左右两个操作数是否相等,如果相等则整个表达式的值为 True;不相等则为False
... num1 = 15
>>> num2 = 20
>>>
>>> print(num1 == num2)
False
>>>
>>> # != 不等于
... print(num1 != num2)
True
>>>
>>> # > 大于
... print(num1 > num2)
False
>>>
>>> # < 小于
... print(num1 < num2)
True
>>>
>>> # >= 大于等于: num1 大于 或者 等于 num2 ,条件都成立
... print(num1 >= num2)
False
>>>
>>> # <= 小于等于: num1 小于 或者 等于 num2 ,条件都成立
... print(num1 <= num2)
True
>>>
>>> if num1 >= num2:
... print("条件成立!")
...
>>>
2.2.2 逻辑运算符
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and | x and y | 布尔"与":如果 x 为 False,x and y 返回 False,否则它返回 y 的值。 | True and False, 返回 False。 |
or | x or y | 布尔"或":如果 x 是 True,它返回 True,否则它返回 y 的值。 | False or True, 返回 True。 |
not | not x | 布尔"非":如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not True 返回 False, not False 返回 True |
>>> ## 逻辑运算符
...
>>> # and : 左右表达式都为True,整个表达式结果才为 True
... if (1 == 1) and (10 > 3):
... print("条件成立!")
...
条件成立!>>> # or : 左右表达式有一个为True,整个表达式结果就为 True
... if (1 == 2) or (10 > 3):
... print("条件成立!")
...
条件成立!>>> # not:将右边表达式的逻辑结果取反,Ture变为False,False变为True
... if not (1 == 2):
... print("条件成立!")
...
条件成立!>>>
2.3 if-else
if 条件:满足条件时要做的事情1满足条件时要做的事情2满足条件时要做的事情3...(省略)...else:不满足条件时要做的事情1不满足条件时要做的事情2不满足条件时要做的事情3...(省略)...
示例:
demo1
chePiao = 1 # 用1代表有车票,0代表没有车票if chePiao == 1:print("有车票,可以上火车")print("终于可以见到Ta了,美滋滋~~~")else:print("没有车票,不能上车")print("亲爱的,那就下次见了")
结果1:有车票的情况
有车票,可以上火车
终于可以见到Ta了,美滋滋~~~
结果2:没有车票的情况
没有车票,不能上车
亲爱的,那就下次见了
2.4 if … else … else …
2.4.1 elif的功能
elif的使用格式如下:
if xxx1:事情1
elif xxx2:事情2
elif xxx3:事情3
说明:
- 当
xxx1
满足时,执行事情1
,然后整个if结束 - 当
xxx1
不满足时,那么判断xxx2
,如果xxx2
满足,则执行事情2
,然后整个if
结束 - 当
xxx1
不满足时,xxx2
也不满足,如果xxx3
满足,则执行事情3
,然后整个if结束
demo:
score = 77
if score>=90 and score<=100:print('本次考试,等级为A')
elif score>=80 and score<90:print('本次考试,等级为B')
elif score>=70 and score<80:print('本次考试,等级为C')
elif score>=60 and score<70:print('本次考试,等级为D')
elif score>=0 and score<60:print('本次考试,等级为E')
注意点:
可以和else一起使用
if 性别为男性:输出男性的体重...elif 性别为女性:输出女性的体重...else:第三种性别的体重...
说明:
-
当 “性别为男性” 满足时,执行 “输出男性的体重”的相关代码
-
当 “性别为男性” 不满足时,如果 “性别为女性”满足,则执行 “输出女性的体重”的相关代码
-
当 “性别为男性” 不满足,“性别为女性”也不满足,那么久默认执行else后面的代码,即 “第三种性别的体重”相关代码
-
elif必须和if一起使用,否则出错
-
else 一般用在最后,即所有条件都不满足时使用
2.4.2 if 实现三目运算操作
a if a > b else b
如果 a > b的条件成立,三目运算的结果是a,否则就是b
# 求a和b两个数字中的较大值.
a = 10
b = 20
# 使用三目运算符求较大值
max = a if a > b else b
print("较大值为:%d" % max)
2.5 if嵌套的格式
2.5.1 if 的嵌套
if 条件1:满足条件1 做的事情1满足条件1 做的事情2if 条件2:满足条件2 做的事情1满足条件2 做的事情2
说明
- 外层的if判断,也可以是
if-else
; - 内层的if判断,也可以是
if-else
; - 根据实际开发的情况,进行选择。
2.5.2 if嵌套的应用
demo:
chepiao = 1 # 用1代表有车票,0代表没有车票
dao_lenght = 9 # 刀子的长度,单位为cmif chepiao == 1:print("有车票,可以进站")if dao_lenght < 10:print("通过安检")print("终于可以见到Ta了,美滋滋~~~")else:print("没有通过安检")print("刀子的长度超过规定,等待警察处理...")
else:print("没有车票,不能进站")print("亲爱的,那就下次见了")
结果1:
chepiao = 1;dao_lenght = 9有车票,可以进站通过安检终于可以见到Ta了,美滋滋~~~
结果2:
chepiao = 1;dao_lenght = 20有车票,可以进站没有通过安检刀子的长度超过规定,等待警察处理...
结果3:
chepiao = 0;dao_lenght = 9没有车票,不能进站亲爱的,那就下次见了
结果4:
chepiao = 0;dao_lenght = 20没有车票,不能进站亲爱的,那就下次见了
2.6 猜拳游戏
⽬标:
-
强化 多个条件 的 逻辑运算
-
体会 import 导⼊模块(“⼯具包”)的使⽤
需求: -
从控制台输⼊要出的拳 —— ⽯头(1)/剪⼑(2)/布(3)
-
电脑 随机 出拳 —— 先假定电脑只会出⽯头,完成整体代码功能
-
⽐较胜负
参考代码:
import randomplayer = input('请输入:剪刀(0) 石头(1) 布(2):')player = int(player)# 产生随机整数:0、1、2 中的某一个
computer = random.randint(0,2)# 用来进行测试
#print('player=%d,computer=%d',(player,computer))if ((player == 0) and (computer == 2)) or ((player ==1) and (computer == 0)) or ((player == 2) and (computer == 1)):print('获胜,哈哈,你太厉害了')
elif player == computer:print('平局,要不再来一局')
else:print('输了,不要走,洗洗手接着来,决战到天亮')
随机数的处理
- 在 Python 中,要使⽤随机数,⾸先需要导⼊ 随机数 的 模块 —— “⼯具包”
import random
-
导⼊模块后,可以直接在 模块名称 后⾯敲⼀个 . 然后按
Tab
键,会提示该模块中包含的所有函数 -
random.randint(a, b)
,返回[a, b]
之间的整数,包含a
和b
-
例如:
>>> import random
>>> random.randint(1,3)
3
>>> random.randint(1,3)
3
>>> random.randint(1,3)
2
>>> random.randint(1,3)
3
>>> random.randint(1,3)
2
>>> random.randint(1,3)
1
2.7 循环语句
源代码:
print("媳妇儿,我错了")print("媳妇儿,我错了")print("媳妇儿,我错了")...(还有99997遍)...
改进如下:
i = 0while i < 10000:print("媳妇儿,我错了")i += 1
2.8 while循环
- while循环的格式
while 条件:条件满足时,做的事情1条件满足时,做的事情2条件满足时,做的事情3...(省略)...
- 练习题:循环打印5次
i = 0while i < 5:print("当前是第%d次执行循环" % (i + 1))print("i=%d" % i)i+=1
- 结果:
当前是第1次执行循环i=0当前是第2次执行循环i=1当前是第3次执行循环i=2当前是第4次执行循环i=3当前是第5次执行循环i=4
2.9 for 循环
for循环:
-
像while循环一样,for可以完成循环的功能。
-
在Python中 for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。
for循环的格式:
for 临时变量 in 列表或者字符串等可迭代对象:循环满足条件时执行的代码
demo1:
name = 'itheima'for x in name:print(x)
运行结果如下:
i
t
h
e
i
m
a
demo2:
>>> name = "hello"
>>> for x in name:print(x)if x == 'l':print("Hello world!")
运行结果如下:
h
e
l
Hello world!
l
Hello world!
o
demo3:
# range(5) 在python就业班中进行讲解会牵扯到迭代器的知识,
# 作为刚开始学习python的我们,此阶段仅仅知道range(5)表示可以循环5次即可
for i in range(5):print(i)'''
效果等同于 while 循环的:i = 0
while i < 5:print(i)i += 1
'''
运行结果如下:
0
1
2
3
4
2.10 continue 和 break
2.10.1 break
<1> for循环
普通的循环示例如下:
name = 'itheima'for x in name:print('----')print(x)
else:print("==for循环过程中,如果没有执行break退出,则执行本语句==")
运行结果:
----
i
----
t
----
h
----
e
----
i
----
m
----
a
==for循环过程中,如果没有break则执行==
带有break的循环示例如下:
name = 'itheima'for x in name:print('----')if x == 'e': breakprint(x)
else:print("==for循环过程中,如果没有执行break退出,则执行本语句==")
运行结果:
----
i
----
t
----
h
----
<2> while循环
普通的循环示例如下:
i = 0while i<5:i = i+1print('----')print(i)
else:print("==while循环过程中,如果没有执行break退出,则执行本语句==")
运行结果:
----
1
----
2
----
3
----
4
----
5
==while循环过程中,如果没有break则执行==
带有break的循环示例如下:
i = 0while i<5:i = i+1print('----')if i==3:breakprint(i)
else:print("==while循环过程中,如果没有执行break退出,则执行本语句==")
运行结果:
----
1
----
2
----
小结:
break的作用:立刻结束break所在的循环
2.10.2 continue
<1> for循环
带有continue的循环示例如下:
name = 'itheima'for x in name:print('----')if x == 'e': continueprint(x)
else:print("==while循环过程中,如果没有break则执行==")
运行结果:
----
i
----
t
----
h
----
----
i
----
m
----
a
==while循环过程中,如果没有break则执行==
<2> while循环
带有continue的循环示例如下:
i = 0while i<5:i = i+1print('----')if i==3:continueprint(i)
运行结果:
----
1
----
2
----
----
4
----
5
小结:
continue的作用:用来结束本次循环,紧接着执行下一次的循环
2.10.3. 注意点
- break/continue只能用在循环中,除此以外不能单独使用
- break/continue在嵌套循环中,只对最近的一层循环起作用
2.11 总结
更多推荐
Python入门基础(一)
发布评论