Python入门-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

Python入门

简介: 2018年6月25日笔记 python可以做什么 多媒体应用、WEB开发、网络爬虫、人工智能与机器学习、数据分析处理、服务器运维及其他小工具 知乎链接:用python做一些有趣的事情 python的编程准则 在PowerShell中,进入python的shell,然后运行命令import this,出现下图所示。

2018年6月25日笔记


python可以做什么

多媒体应用、WEB开发、网络爬虫、人工智能与机器学习、数据分析处理、服务器运维及其他小工具
知乎链接:用python做一些有趣的事情

python的编程准则

在PowerShell中,进入python的shell,然后运行命令import this,出现下图所示。

python编程准则.png-17.4kB
python编程准则.png-17.4kB

下图是上图中英文的对照翻译
python准则翻译.png-84.1kB
python准则翻译.png-84.1kB

python的中文编码

python2中默认的编码格式是ASCII格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。
解决方法是为只要在开头加入: #-- coding:UTF-8 -- 或者 #coding=utf-8
注意#coding=utf-8的 = 号两边不要空格

python基本数据类型

7个基本数据类型:Number(数字)、String(字符串)、Bool(布尔值)、List(列表)、Tuple(元组)、Set(集合)、Dictionary(字典),最后补充一个不常见的数据类型None(空值)

基本数据类型.png-142.8kB
基本数据类型.png-142.8kB

标准数据类型--None

None是一个特殊的常量
None和False不同
None不是0
None不是空字符串
None和任何其他的数据类型比较永远返回False
None有自己的数据类型NoneType
你可以将None复制给任何变量,但是你不能创建其他NoneType对象

标准数据类型--Number

整数类型int,最大2147483647
长整数类型long,超过2147483647的整数,比如百万亿条海量数据记录
浮点数类型float,带小数点的单位,比如商品价格
复数类型complex,虚数单位为j,例如3+4j
复数由实数部分和虚数部分构成,可以用a+ bj,或者complex(a,b)表达,复数的实部a和虚部b都是浮点型。

虚数图示.png-0.8kB
虚数图示.png-0.8kB

数据类型可以用type内建函数获得。
数据类型.png-1.7kB
数据类型.png-1.7kB

标准数据类型--Bool

python中布尔值使用常量True和False来表示,注意大小写。
在数学中使用的<>==等返回的类型都是bool类型
bool类型经常在if和while中应用

标准数据类型--String

运行print('what's your name?')程序会报错,解决方法如下:
1.双引号里面全部是单引号,单引号里面全部是双引号:print("what's your name?")
2.使用转义字符:print('what's your name?')

变量

变量示例.png-7.7kB
变量示例.png-7.7kB

上面代码的运行结果:张三 20 男 抽烟,喝酒,烫头,学习,娱乐,看电影

声明变量

python作为一种的动态语言,它的变量可以随时改变数据类型,或者说变量的类型由我们所赋值决定。

声明变量示例.png-8.1kB
声明变量示例.png-8.1kB

运行结果如下:
<class 'int'> <class 'float'> <class 'bool'> <class 'str'>

变量的本质

在python中,变量其实就是指某个内存空间,变量名相当于房间名,变量值相当于内容中的数据。


变量本质示例.png-5.6kB
变量本质示例.png-5.6kB

运行结果如下:

1807280656
1807280656
1807280656

每次运行结果可能不同,因为每次运行时变量的值虽然相同,但是指向的内存空间却可能不同。

变量名命名规范和使用

变量名可以包括字母、数字、下划线,但是数字不能作为开头
系统关键字不能做变量名使用
除了下划线,其他符号不能作为变量名使用
python的变量名是区分大小写的

系统常用关键字

and del from not while as elif
global or with assert else if pass
yield break except import print class exec
in raise continue finally is return def for lambda try

程序基本组成以及输入输出

python程序基本架构如下:

(1)程序初始化部分
(2)程序数据的输入部分
(3)程序数据的处理部分
(4)程序数据的输出部分
(5)程序结束部分

程序基本组成

程序当中的注释:
单行注释:以#开头
多行注释:用三单引号或三双引号,Pycharm内可直接选择多行ctrl+/

输出--print的使用

str1 = '罚抄'
str2 = '3'
str3 = '遍'
print(str1 + str2 + str3)
print(str1,str2,str3,sep='')

上面两种输出方法输出结果相同

print的使用--格式化输出字符串

格式字:%d表示整数,%f表示浮点数,%s表示字符串


格式字图示.png-11.8kB
格式字图示.png-11.8kB

上面代码的运行结果是:

His name is LeiKun, his age is 18
His height is 1.74 m

print()在python3与python2中的区别

1.python3中print是一个内置函数,有多个参数,而python2中print是一个语法结构
2.python2打印时可以不加括号,python则必须加括号。
3.python2中,input要求输入的字符串必须加引号,为了避免读取非字符串类型发生的一些行为,不得不使用raw_input()代替input()

输出--format

print语句中的格式化输出源自于C语言的格式化输出,这种语法对于C这种静态语言比较使用,但是对于拥有很多先进数据结构的python来说就有点力不从心。如python的列表、元祖、字典、集合等不适合用这种结构表示。这些数据结构大多数元素用下标表示,这种结构中写出来很混乱。
print()函数提供了有点类似于C#的格式化输出函数format()。另外print()也兼容原来的格式化输出。
代码示例:print("{} is {} years old".format("jack",20))

打印练习

if __name__ =="__main__":
    print("============================")
    print("欢迎进入到身份认证系统")
    print("1.登录")
    print("2.退出")
    print("3.认证")
    print("4.修改密码")
    print("============================")

输入

在python3中用input函数默认接收的是str类型
在python2中用input函数默认接收的是int类型,raw_input接收的是str类型

作业

作业1-1.png-38.5kB
作业1-1.png-38.5kB
#a.请输出"kelly"
print(li[2][1][1])
#b.请使用索引找到"all"元素并将其修改为"ALL"
li[2][2] = li[2][2].upper()

作业1-2.png-104.3kB
作业1-2.png-104.3kB

a.元祖的特性:
1.元组用索引定位
2.元祖可以切片
3.如果要连接元组和列表,需要先将列表转化为元组
4.元组可以使用成员操作符in
b.如果进行赋值,会报错如下:TypeError: 'tuple' object does not support item assignment
所以tu变量中的元素不可以再被修改
c.k3对应的值是tuple元组类型,k3不可以被修改
d.k2对应的值是list列表类型,可以被修改,添加一个元素'Seven'代码如下

tu[1][2]['k2'].append('Seven')

创建一个列表:info
1、存入1-10 10个数据
2、要求删除5号元素。
3、末尾添加11和12。
4、在0号位置插入-1。
5、访问1到5号位置上的元素
6、获取当前列表的长度

info = list(range(1,11))
info.pop(5)
info.append(11)
info.append(12)
info.insert(0,-1)
for i in range(1,6):
    print(info[i])
print(len(info))

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章