python入门篇(持续日更,未完结)
Posted 是璇子鸭
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python入门篇(持续日更,未完结)相关的知识,希望对你有一定的参考价值。
前言
python入门篇,是博主结合暑期实训的学习,对python常用操作的汇总整理,偏向于个人的学习笔记。
python入门学习网站推荐:
-
菜鸟教程(简单易懂,很适合零基础入门)
-
廖雪峰-python教程(清晰明了,部分知识点比菜鸟教程难些,也很适合python入门学习)
-
CSDN平台内的python入门博客(有很多写得通俗易懂而系统便于学习的博客教程,可多看看选择最适合自己的)
1 Python简介
python下载及安装
下载地址:python官网
点击Downloads,选择自己喜好的版本即可
建议使用executable installer和安装非当前最新版本,因为最新版本往往有着不太稳定和部分报错难以搜索解决的缺点。
测试是否安装成功
- windows键(窗口形状,由四个方块组成)+R
- 在弹出窗口输入’cmd’
- 再输入python,显示如下即安装成功(最后输入exit()退出)
Pycharm的安装
Python本身是一种交互式操作,类似于一问一答,很适合学习/验证python语法或者局部代码,但也存在着代码不能保存、无法运行太大程序的缺点。故需要安装python的集成开发环境——pycharm,以便于更复杂多样的代码书写需求。
下载地址:pycharm官网
使用Pycharm编写第一个Python程序
- 运行Pycharm,选择Create New Project,创建一个新的Python工程。
- 选择’Pure Python’创建一个新的纯Python工程项目,Location表示该项目的保存路径,Interpreter 用来指定Python计时器的版本。
- 右击项目(project),选择New,再选择Python File
- 在弹出的对话框中输入的文件名mycode,点击OK,表示创建一个Python程序的文本文件,文本文件后缀名默认.py
- 在新建的mycode.py文件里,输入以下代码,并在空白处右键选择Run运行,表示输出一段hello world字符串。
- 运行成功后,Pycharm Console窗口将显示我们的输出结果。(↙)
为便于使用,建议可先建立新目录,再在子目录下进行小模块代码的书写与保存
- 皮肤设置(File - settings - Appearance&Behavior - Appearance)
- 字体设置(File - settings - Editor - Font)
国内常用的pip下载源列表:
- 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学
- https://pypi.mirrors.ustc.edu.cn/simple/ 豆瓣(douban)
- http://pypi.douban.com/simple/ 清华大学
- https://pypi.tuna.tsinghua.edu.cn/simple/ 中国科学技术大学
- http://pypi.mirrors.ustc.edu.cn/simple/
一些实用的快捷键
- ctrl+d 快速复制一行或选中区域的几行
- ctrl+shift+F10 (py.file执行快捷键)
- ctrl+? 快速注释选中区域
- 光标选中函数后点击ctrl,即可调出函数的详细说明
Debug操作
该操作使我们能观察到代码每步运行后的情况,以便于查找错误和调试代码
- 点击待调试代码的前端,出现小红点表示选中
- 点击pycharm↗小蜘蛛,或右键——Debug
- 使用F8快捷键,或点击如图折现按钮,即可进行调试
关于注释
单行注释
#单行注释,不执行
多行注释:以’’‘开始,并以’’'结束
'''
_ooOoo_
o8888888o
88" . "88
(| -_- |)
O\\ = /O
____/`---'\\____
.' \\\\| |// `.
/ \\\\||| : |||// \\
/ _||||| -:- |||||- \\
| | \\\\\\ - /// | |
| \\_| ''\\---/'' | |
\\ .-\\__ `-` ___/-. /
___`. .' /--.--\\ `. . __
."" '< `.___\\_<|>_/___.' >'"".
| | : `- \\`.;`\\ _ /`;.`/ - ` : | |
\\ \\ `-. \\_ __\\ /__ _/ .-` / /
======`-.____`-.___\\_____/___.-`____.-'======
`=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
佛祖保佑 永无BUG
佛曰:
写字楼里写字间,写字间里程序员;
程序人员写程序,又拿程序换酒钱。
酒醒只在网上坐,酒醉还来网下眠;
酒醉酒醒日复日,网上网下年复年。
但愿老死电脑间,不愿鞠躬老板前;
奔驰宝马贵者趣,公交自行程序员。
别人笑我忒疯癫,我笑自己命太贱;
不见满街漂亮妹,哪个归得程序员?
'''
2 变量及类型
变量及类型
# 变量 = 值; 将右侧的值放入左侧的容器中
bing = 'elephant'
#两边不对等(注意*的作用)
b1, b2, *b3 = 'a', 'b', 'c', 'd', 'e'
print(b1, b2, b3)
b1, *b2, b3 = 'a', 'b', 'c', 'd', 'e'
print(b1, b2, b3)
运行结果
a b ['c', 'd', 'e']
a ['b', 'c', 'd'] e
变量没有类型,数据才有类型
'''
数值类型 example
整型 age = 18
浮点型 salary = 17.32
字符串 book = 'little prince'
布尔类型 True & False 首字母大写
列表 classroom = [21, 7, 'hello', True, [212,323]]
元组 weather = ('Wuhan', 30)
字典 content = {'name':'xiaoming', 'height':'172cm', 'hobby':'running'}
'''
变量的取名
命名规则:
- 标识符由字母、下划线和数字组成,且数字不能开头。
- 严格区分大小写。
- 不能使用关键字。(pycharm中蓝色高亮部分)
关键字的概念 一些具有特殊功能的标识符,这就是所谓的关键字。 关键字,已经被python官方使用了,所以不允许开发者自己定义和关键字相同名字的标识符。
驼峰命名法:
- 小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog
- 大驼峰式命名法(upper camel case): 每一个单字的首字母都采用大写字母,例如:FirstName、LastName.
输出
print('hello world') #一般输出
user = 'ZhangSan'
print('hello %s' % user) #格式化输出
age = 17
print('%s is %d years old' % (user, age))
运行结果:
hello world
hello ZhangSan
ZhangSan is 17 years old
常用格式符号
换行输出
print('=======我的名片=======')
print('姓名:%s\\nQQ: %d\\n手机号: %d\\n公司地址: %s' % (name, QQ, tel, address))
print('======================')
结果输出:
=======我的名片=======
姓名:chris
QQ: 2736368065
手机号: 159654538769
公司地址: Wuhan
======================
边框简化写法(效果与上同):
print('='*7 + '我的名片' + '='*7)
print('姓名:%s\\nQQ: %d\\n手机号: %d\\n公司地址: %s' % (name, QQ, tel, address))
print('='*20)
输入
password = input("请输入密码:") #接收用户输入
print('您刚刚输入的密码是:%s' % password)
输出结果:
注意,这里不管我们输入什么类型的数据,最终的结果都是字符串(%s)
print(type(password))
<class 'str'>
类型转换
常见类型转换
实例:
num1 = '545'
print(type(num1))
num2 = 345
print(type(num2))
# print(num1 + num2) TypeError: can only concatenate str (not "int") to str
print(int(num1) + num2)
print(num1 + str(num2))
输出结果:
<class 'str'>
<class 'int'>
890
545345
关于布尔值
#为假的情况
#整形的 0
#浮点型的 0.0
#空白字符串''转成假 ‘ ’代表空格与空白是两个意思
#空列表 []
#空元组 ()
#空字典 {}
#空集合 set()
以上情况为假,其余为真
示例
print(bool(set()))
print(bool(0.0))
结果
False
False
其他类型转换
3 运算符
算术运算符
示例:
num1 = int(input('the 1st number:')) #input最终的数据类型是字符串
num2 = int(input('the 2nd number')) #因此需要转成整型
#加
print(num1 + num2)
#商
print(num1/num2)
#取余
print(num1 % num2)
#整除
print(num1//num2)
#指数
print(num1**num2)
结果:
the 1st number:3
the 2nd number7
10
0.42857142857142855
3
0
2187
比较运算符
比较运算符返回结果一定是布尔类型
一个等号是赋值,’=='表判断是否相等
示例1
print(3==4)
print(3!=4)
print(3<=4)
print(3>=4)
输出结果:
False
True
True
False
示例2
当布尔参与运算时, False转0 True转1
a = 100
b = False # False转0
print(a*b - 1)
输出结果:
-1
示例3
time = 15678
hour = time // 3600 #整除
min = time % 3600 // 60
second = time % 60 #取余
print('%d时%d分%d秒' % (hour, min, second))
print(f'{hour}时{min}分{second}秒') #f-字符串格式化
输出结果
4时21分18秒
4时21分18秒
逻辑运算符
- and(并) 均满足时,结果才是True
- or(或) 只要有一个满足,结果为True
- not(取反)
逻辑运算符返回结果不一定是bool类型
短路运算:从左往右运算
and 左边开始,只要是真,继续往后走。若遇假,立即停止,后面不管
print('adw' and 3223 and 0 and 3>4)
0
or 左边开始,只要是假,继续往右走。若遇真,立即停止,后面不管
print(0 or 0.0 or [] or 18 or ())
18
4 流程控制语句
4.1 条件判断语句
if…else语句
age = 18
if age > 18:
print('成年人的世界没有容易二字,但年轻人不至于躺平')
else:
print('人总要学会长大')
人总要学会长大
elif语句的使用
score = float(input('请输入成绩:'))
if score < 60:
print('未及格')
elif score < 80:
print('合格')
elif score < 90:
print('良好')
else:
print('优秀')
请输入成绩:85
良好
if语句嵌套
ticket = 1 # 1买票 0未买票
knife_length = 9 #cm
tep = 36
if ticket == 1:
print('请排队安检')
if knife_length <= 9:
print('通过安检')
if tep <= 36.5:
print('体温正常')
else:
print('就地等候,需进一步检查身体状况')
else:
print('刀具过长,强制没收')
else:
print('请购票进站')
请排队安检
通过安检
体温正常
应用:猜拳游戏
分析:
游戏双方 电脑*用户 两者随机出下面三种中的一个
剪刀0 石头1 布2
用户赢得情况(左侧) 0-2 1-0 2-1(也就是说如果电脑出2,用户出0即赢得游戏)
代码实现
#用户赢得情况(左侧) 0-2 1-0 2-1
import random
computer = random.randint(0,2) #随机出[0,2]中的一个整数
print(computer)
user = int(input('请输入你的选择:(0-剪刀,1-石头, 2-布):'))
if (user==0 and computer==2) or (user==1 and computer==0) or (user==2 and computer==1):
print('恭喜获胜')
elif user == computer:
print('难分伯仲,决战到天亮')
else:
print('失败是成功他爸,加油')
运行结果:
4.2 循环语句
while语句
while语法:
while 判断条件: (直至条件不满足,跳出循环)
代码块
示例:求1~100所有偶数的和
res = 0 #求和容器
i = 0
while i <= 100:
if i % 2 == 0:
res = res + i
i += 1
print(res)
2550
这里也可以使用range,注意range左闭右开
res = 0
for x in range(1,101):
if x % 2 == 0:
res = res + x
print(res)
2550
break和continue的使用
#不断的询问用户,"我爱你,你爱我吗?",只有用户回答"爱"时,结束循环。
print('I love you, you too?')
answer = input('please put your answer:(yes) or (no)')
while 'start':
if answer == 'yes':
print('❤'); break #结束整个循环
else:
print('┭┮﹏┭┮'); continue #结束本次循环,继续后面的循环
嵌套循环
1.生成矩形
i = 0
while i < 10: #控行
i += 1
j = 0
while j < 8: #控列
j += 1
print('*',end = ' ')
print()
最终效果:
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
2.倒置的九九乘法表
i = 10
while 1 <= i <= 10:
i -= 1
j = 0
while j < i:
j += 1
print(i,'x',j,'=',i*j,end='')
print()
最终效果:
9 x 1 = 99 x 2 = 189 x 3 = 279 x 4 = 369 x 5 = 459 x 6 = 549 x 7 = 639 x 8 = 729 x 9 = 81
8 x 1 = 88 x 2 = 168 x 3 = 248 x 4 = 328 x 5 = 408 x 6 = 488 x 7 = 568 x 8 = 64
7 x 1 = 77 x 2 = 147 x 3 = 217 x 4 = 287 x 5 = 357 x 6 = 427 x 7 = 49
6 x 1 = 66 x 2 = 126 x 3 = 186 x 4 = 246 x 5 = 306 x 6 = 36
5 x 1 = 55 x 2 = 105 x 3 = 155 x 4 = 205 x 5 = 25
4 x 1 = 44 x 2 = 84 x 3 = 124 x 4 = 16
3 x 1 = 33 x 2 = 63 x 3 = 9
2 x 1 = 22 x 2 = 4
1 x 1 = 1
3.寻找水仙花数
for i in range(100,1000):
a = i // 100
b = (i - 100*a) // 10
c = i - 100*a - 10*b
if (a**3 + b**3 + c**3 == i): #注意:这里用**,而不是^
print('%d是水仙花数' % i)
最终结果:
153是水仙花数
370是水仙花数
371是水仙花数
407是水仙花数
4.折叠次数的求解
一张纸的厚度是0.08mm,请问折叠几次达高度 8848.13m
x = 0.08*10**(-3)
i = 0
while True:
x *=2
i += 1
if x > 8848.13:
break
print(i)
最终结果:
27
4.百马马百担问题
for b in range(1,100//3 + 1):
for m in range(1, 100//2 + 1):
for s in range(2,100,2):
if b+m+s == 100 and b*3+m*2+s//2 == 100:<以上是关于python入门篇(持续日更,未完结)的主要内容,如果未能解决你的问题,请参考以下文章