Python入门

一、序章

1.Python特点

  1. Python is powerful and fast; plays well with others; runs everywhere; is friendly and easy to learn; is open.
  2. Python语言技术特点:解释型高级通用脚本语言,支持面向过程和面向对象,具有通用性。
  3. 关于语言类型的描述:
  • 静态语言(c语言)采用编译方式执行,动态语言(python)采用解释方式执行。
  • 编译是将源代码转换成目标代码的过程,解释是将源代码逐条转换成目标代码同时逐条运行目标代码的过程。
  • Python没有主函数的说法。

2.第三方库

  1. Python的内置函数可以直接使用不需要用import来导入。
  2. 计算机视觉方面:OpenCV、Luminoth。
  3. 开发用户界面的第三方库:PyQt、PyFObject、PyGTK。
  4. 用于数据分析及可视化处理的第三方库:numpy(存储和处理大型矩阵)、scipy、pandas、matplotlib、seaborn、mayavi2、TVTK。
  5. Web开发方向第三方库:Pyramid、Django、Flask、Pylons。
  6. 机器学习领域的第三方库:mxnet、Tensortflow、keras、PyTorch。
  7. 网络爬虫方向的第三方库:scrapy、grab。
  8. 自然语言处理方向的第三方库:SnowNLP、loso、NLTK。
  9. 游戏开发方向:Pygame。
  10. 文本处理方向:pdfminer,beautifulsoup4(解析和处理HTML和xml)。
  11. 处理图像:PIL。
  12. 生成词云图:worldcloud。
  13. 安装和管理python第三方库:pip。
  14. 第三方中文分词库:jieba。
  15. 数据存储方向:redis-py.
  16. Python第三方库的安装方法:pip工具安装;自定义安装;文件安装(go get时go语言安装方法)
  17. 打包python源代码使用pyinstaller模块。

3.标准库

  1. 产生各种分布的伪随机序列库:random库(设置相同种子,每次调用随机函数生成的随机数相同)
  2. 图形绘制:turtle库
  3. 处理时间标准库:time库
  • random.uniform(a,b):生成[a,b]之间的随机小数。
  • random.random():没有参数,生成0-1之间的随机小数。
  • random.getrandbits(k):生成一个k比特长度随机整数。
  • random.choice(k):从序列中选择元素。
  • random.shuffle(k):将序列元素随机排序。
  • random.sample(k):从指定列表中提取n个不同元素。
  • turtle.fd(distance):画笔移动距离。
  • turtle.left(angle):右转角度。
  • turtle.seth(to_angle):设置当前前进方向。
  • setup():设置主窗体的大小和位置。
  • penup():提起画笔。
  • clear():清空当前窗口,但不改变画笔的位置。
  • done():让画面停顿,但不立即关闭窗口。
  • time.time():以数字形式返回当前系统时间。
  • gmtime():获取当前时间戳的对应对象。
  • striftime():时间格式化。

二、用python设计的第一个小程序

1.猜数字游戏(第一版)

#猜数字游戏(第一版)

print("--------GUESS NUMBER GAME--------")
temp = input("You can guess one number:")
guess = int(temp)
if guess == 8:
   print("Yes! You are smart!!")
else:
   print("It is wrong!This number is 8.")
    
print("This game is over!!")

2.猜数字游戏(第二版)

改进建议:

  1. 用户猜错时,程序应该给出提示。
  2. 应该给用户提供多次机会(固定次数3次)。
  3. 每次运行程序时,答案应该是随机的。 
#猜数字游戏(第二版)

import random
secret = random.randint (1,100)
counts = 3
print("--------GUESS NUMBER GAME--------")

while counts > 0:
    temp = input("You can guess one number: ")
    guess = int(temp)

    if guess == secret:
        print("Yes! You are smart!!")
        break
    else:
        if guess > secret:
            print("The number is bigger!!")
        else:
            print("The number is smaller!!")
    counts = counts - 1
    
print("This game is over!!")

三、变量和字符串

1.变量(标签)

>>> x = 3        #创建变量
>>> print(x)     #访问变量
3
>>> y = 5
>>> x = y        #变量更改
>>> print(x,y)
5 5
  1. 变量名通常由字母、数字和下划线构成,但不能以数字打头
  2. 不是把值存储在变量中,更像是把名字贴在值上面。
  3. 支持中文名作为变量名。
  4. 使用变量前需要先赋值。

2.字符串

1.转义符号\

>>> 'let\'s go!'
"let's go!"
>>> 'c:\\now'           #用\对自身进行转义
'c:\\now'

2. 原始字符串(字符串中出现多个\在字符串前加r)

>>> r'c:\now'
'c:\\now'
>>> r'c:\\\now'
'c:\\\\\\now'

3.长字符串

>>> str="""abcdefg"""
>>> print(str)
abcdefg
>>> print('I love China')
I love China
>>> print("I love China")
I love China

四、条件分支

1.比较  >,<,>=,<=,!=,==

>>> 4<=5<=6    #此语句合法
True

2.分支结构

  1. 单分支:if
  2. 二分支:if-else
  3. 多分支:if-elif-else

 3.例子:分数判断方法

  1. 单分支:if
  2. 二分支:if-else
  3. 多分支:if-elif-else
  4. 三元操作符:small = x if x < y else y
  5. 断言:条件为假时,程序自动崩溃并抛出AssertionError的异常(置入检查点)
>>> assert 3 < 4
>>> assert 3 > 4
Traceback (most recent call last):
  File "<pyshell#21>", line 1, in <module>
    assert 3 > 4
AssertionError

五、循环

1.while循环

while 条件:xxx

2.for循环

for 目标 in 表达式:xxx

3.例子 

print("-------test 1--------")
a,b=0,1
print("斐波那契数列结果: ")
while a<=100:
    print(a,end=" ")
    a,b=b,a+b
print()
print("-------test 2--------")
for i in range(1,10):
    print(i,end=" ")

输出结果:

-------test 1--------
斐波那契数列结果: 
0 1 1 2 3 5 8 13 21 34 55 89 
-------test 2--------
1 2 3 4 5 6 7 8 9 

注:(1)break:退出循环体;(2)continue:退出本次循环,进入下一轮循环。

六、数据类型

1.三种基本数据类型

  1. 整数               int(x):将x转换为整数
  2. 浮点数           float(x):将x转换为整数
  3. 复数              complex(x,y):返回一个复数,x为实部,y为虚部

2.组合数据类型

  1. 集合
  2. 序列:字符串、元组、列表
  3. 映射:字典

3.获取类型信息

  1. type()
  2. isinstance()
>>> a=520
>>> type(a)
<class 'int'>
>>> isinstance(a,int)
True
>>> isinstance(a,float)
False

七、算数操作符

1.算术运算符

  1. 常用:+,-,*,/,%
  2. //:整数除法,向下取整
  3. **:幂运算
  4. pow(x,y):幂运算
  5. pow(x,y,z):先幂运算在对z取余
  6. divmod(x,y):返回(x//y,x%y)
>>> a=0
>>> a+=3
>>> a-=1
>>> a*=2
>>> a/=2
>>> 3**5
243
>>> pow(3,5)
243
>>> pow(3,5,2)
1
>>> divmod(3,5)
(0, 3)

2.比较运算符

>,<,>=,<=,!=,==

3.逻辑运算符

and,or,not(一元)

4.优先级问题

幂运算-->正负号-->算术操作符-->比较操作符-->逻辑操作符

八、列表

1.创建列表

  1. 普通列表 
  2. 混合列表
  3. 空列表 
>>> number = [1,2,3,4,5]
>>> print(number)
[1, 2, 3, 4, 5]
>>> mix = [1,3.14,'huoyuying',[1,2,3]]
>>> print(mix)
[1, 3.14, 'huoyuying', [1, 2, 3]]
>>> empty = []
>>> print(empty)
[]

2.向列表添加元素

向上述number列表中添加元素

 

3.从列表获取元素

4.

5.

九、元组

 

十、字符串

 

附:一个心形程序

from turtle import *
def curvemove():
    for i in range(200):
        right(1)
        forward(1)
setup(600,600,400,400)
hideturtle()
pencolor('black')
fillcolor("red")
pensize(2)
begin_fill()
left(140)
forward(111.65)
curvemove()
left(120)
curvemove()
forward(111.65)
end_fill()
penup()
goto(-27, 85)
pendown()
done()

(未完待续,感谢支持。。。)


评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值