Python入门

2018年6月25日笔记


python可以做什么

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

python的编程准则

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

python编程准则.png-17.4kB

下图是上图中英文的对照翻译

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

标准数据类型--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

数据类型可以用type内建函数获得。

数据类型.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

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

声明变量

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

声明变量示例.png-8.1kB

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

变量的本质

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

变量本质示例.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

上面代码的运行结果是:

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

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

作业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))

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

C# 4.0 Optional Parameters 和Named Parameters

Optional Parameters 是C# 4.0的特色之一,可减少重载函数的数量,却可达到相同的效果,加快开发效率。在使用上就跟C++一样,只需用等号为函...

22070
来自专栏北京马哥教育

对Python老司机99%有帮助的简明语法总结乱编

本文由马哥教育Python实战开发班6期学员推荐,转载自互联网,作者为赖笔小新,感谢作者的辛苦付出和贡献。 最近发现进入python群的朋友都在你是如何自学py...

33470
来自专栏老司机的技术博客

人人都能学会的python编程教程4:关系运算符与循环

在python当中,if condition1:(注意最后的冒号:)称为“语句头”。冒号:之后另起一行缩进的是“语句体”,语句体的行数不限,但至少有一行,否则需...

35190
来自专栏C/C++基础

C++ struct与union

编码运行环境:VS2012+Win32+Debug Win32既表示运行平台是Windows 32bits操作系统,又表示生成32bits的应用程序。

9010
来自专栏老马说编程

(92) 函数式数据处理 (上) / 计算机程序的思维逻辑

上节我们介绍了Lambda表达式和函数式接口,本节探讨它们的应用,函数式数据处理,针对常见的集合数据处理,Java 8引入了一套新的类库,位于包java.uti...

20160
来自专栏互联网杂技

理解javascript闭包前,先理解作用域链

1. 全局作用域(Global Scope)   在代码中任何地方都能访问到的对象拥有全局作用域,一般来说以下几种情形拥有全局作用域:   (1)最外层函数和...

37450
来自专栏求索之路

Effective Java笔记(不含反序列化、并发、注解和枚举)

最近把Effective Java复习了一遍,其中有比较多的java最佳实践可以在平时编程中用到。反序列化、并发、注解和枚举这四章没看,并发这本书里讲的比较简...

381110
来自专栏iOSer成长记录

iOS-Strong/Copy修饰词

11930
来自专栏Web 开发

JavaScript的对象引用

在一个函数体内,var变量声明的变量,其作用域只在该函数体内,对于函数体外而言,是不可见的(废话)。

9600
来自专栏屈定‘s Blog

Java--Enum的思考

枚举类是Java5引进的特性,其目的是替换int枚举模式或者String枚举模式,使得语义更加清晰,另外也解决了行为和枚举绑定的问题.

16840

扫码关注云+社区

领取腾讯云代金券