Python从入门到放弃

  本文主要是描述的是作为初学者对python学习的过程与经历分享,包括一些历程的分享与重要的时间节点记录,对于python学习的笔记与心得。

  如果你也是初学者,我们可以一起学习探讨python的知识与技术,欢迎各位博主对我的批评与指导,如果涉及版权等违规的问题,望谅解,小白不懂事。

  话不多说,以下开始分享自己个人学习的第一个总结!!!

1.第一个python程序    

  编译器的安装与环境变量的配置我这里不做赘述,网上很多。

  作为第一个python程序,打印一个hello world是必须的,仪式感还是要有的,哈哈。

  python的打印是通过调用函数print进行的。

  打印Hello World的方式有很多种,以下只列举几种作为例子,供大家参考,程序代码如下:

print("Hello World!")#或者另外一种标志符

print('Hello World')

str = "Hello World"
print(str)

  以上为三种Hello的打印方式,大家可以试试。

2.print函数的用法

str = "Hello World"#字符串打印类型,参数传递法
print(str)
print("%s"%str)#参数引入法 print("Hello World")#双引号中间添加要打印的字符串
print('Hello World')#单引号和双引号的用法一样,没有区别 Num = 5
print(Num)
print("%s"%Num) msg = '''#要打印的内容
Hello World!
My Name is Wang.....
''' print(msg)#这种方法可以打印多行 name = input("name:")
age= input("age:") #字符串中打印变量方案1
info1 = '''
-------------info of '''+name+'''------------
Name:'''+name+'''
Age:'''+age print(info1) #字符串中打印变量方案2
info2 = '''
-------------info of %s------------
Name:%s
Age:%s
''' %(name,name,age) print(info2) #字符串中打印变量方案3
info3 = '''
-------------info of {_name}------------
Name:{_name}
Age:{_age}
''' .format(_name=name,
_age=age) print(info3) #字符串中打印变量方案4
info4 = '''
-------------info of {0}------------
Name:{0}
Age:{1}
''' .format(name,
age) print(info4)

  python为用户提供了多样化的打印方案,包括多行打印和单行打印,用户可以根据自己的需求进行选择。此处仅做一个归纳,如有错漏请多多包含与指正。

3.if elif else语句

  python中if else的语句用法相较其他语言的用法相同,但是格式有一定差别请看以下例子进行分析  

_username ="wang"
_password = 123
username = input("username: ")
password = input("password: ") if _username ==username and password == password:#循环判断条件不需要使用() 改成: 同时子语句编译器会自动进行换行缩进,如果没用需要用户自己进行缩进
print("Welcome user {name} Login !").format(name = username))
else:
print("Invalid username or password !")

4.while语句

  while循环语句与if循环语句的格式相同,没有()用:替代,请看以下例子

i = 0
while i<10:
print("Num is %s"%i)#打印数字0-9

5.模块初识

  import关键词用于模块的导入

  import sys其中sys是标准库中的函数可以直接引入后调用

  sys模块

    sys.path,寻找路径即:如果当前目录下有sys.py会到当前目录下寻找,如果没有当前目录下没有sys.path这个方法,在python2.0中会报错

    标准库在再lib里,用户自行安装的库在site-packages中

    sys.argv,打印脚本的相对路径

  os模块

    os.system('dir')打印cmd下的dir命令,此命令结果不能保存,直接输出的显示界面

    os.popen('dir')执行结果存到内存中的某块地址,通过read()方法读取数据

    cmd=os.popen('dir').read()此命令数据可以保存到变量中

    os.mkdir(“new_dir”)本目录下创建一个新的文件夹

  pyc文件

    python是一门面向对象的解释型语言。。。当我们在命令行输入python.py时,其实是激活了python的"解释器",:告诉解释器要开始解释工作了,但是在解释之前python会进行编译。所以也可以把python理解成先编译后解释的语言。

    PyCodeObject和pyc文件,PyCodeObject是python编译器真正的编译成果,python运行时先到目录中去寻找PyCodeObject文件,如果有则运行此文件,如果没有则生成此文件,程序运行结束时,python解释器将PyCodeObject写回到pyc文件中。程序第二次运行时,则会在硬盘中寻找pyc文件,找到直接载入,否则重复上述过程。

6.数据类型

  整形:type(2**32) ,type查看数据类型,在python中没有长整型和整形的区分。

  浮点:小数包含浮点,8字节64位,52表示底,11位表示指数,1位符号位。

  布尔值:真或假,1或0

  字符串:“hello world”

  三元运算:a,b,c = 1,3,5  d = a if a > b else c

  进制:不做描述,呵呵(二进制,八进制,十进制,十六进制,不懂自己了解下)

  bytes类型:可以理解成二进制数据类型,与字符串是两回事。python3中对文本和二进制数据做了更清晰的区分,文本为Unicode由str类型表示,二进制数据则有bytes类型表示

    转换:'@20'.encode(encoding=’utf-8’)将utf-8类型的字符串转换成二进制类型,二进制编码.decode(encoding=utf-8')二进制编码转换成字符串类型

7.列表

  列表取值操作

    例子:Num=[1,2,3,4,5,6,7,8]

    print(Num)

    print(Num[0-N])#取值从0开始

    print(Num[1:5])#取到的值为顾头不顾尾,实际取到值为下标1-4,4个数。切片操作

    print(Num[:-1])#打印从头到尾的数据

  列表元素增加操作:

    Num.append(6)某未添加元素操作

  列表元素插入操作:

    Num.insert(0,1)

  列表元素修改操作:

    Num[2]=5

  列表元素删除操作:

    Num.remove(6)

    del Num[3]

    Num.pop()不输入下标则默认删除最后一个元素,输入下标则删除下标相应位置的元素

  列表元素查找操作:

    Num.index(6)#输入要查找的元素,返回元素位置的下标

  列表元素个数统计操作:

    Num.count(6)#统计元素6出现的次数

  列表清空操作:

    Num.clear()

  列表反转操作:

    Num.reverse()

  列表排序操作:

    Num.sort()

  列表拼接操作:

    Num.extend([1,2,3])#列表的合并

  列表删除操作:

    del Num

  列表copy:

    浅copy:

      列表的复制有两种即,深copy和浅copy,浅cpoy只cpoy第一层,举个例子:

      Num =[1,2,[1,2],3,4,5,6,7,8,9,5,6,7,8]

      Numcopy = copy.cpoy(Num) = Num.cpoy()=list(Num)=Num[:]

      Num[0]=2时,Numcopy =[1,2,[1,2],3,4,5,6,7,8,9,5,6,7,8]

      Num[2][0]=5时,Numcopy =[1,2,[5,2],3,4,5,6,7,8,9,5,6,7,8]

      可以理解为列表中嵌套的列表[1,2]cpoy到Numcopy的值为指针。这种复制方式就叫做浅cpoy。

      浅cpoy:Numcopy = Num.copy()

注意这里要与直接赋值作对比,直接赋值列表是通用一块地址空间

例如:Nums=Num,Num[0]=0时,则Nums[0]=1

    深度cpoy:

      NumDeepCopy=copy.deepcopy(Num)#此方法会独立的复制两份列表,深copy的使用要注意,防止内存滥用,浪费内存空间。

  列表的循环操作:

    for i in Num:

      print(i)#打印所有列表元素

  列表按照步长切片:

    Num=[::2]#按照步长切片

7.元组

  Num=(‘wang’,‘xing’,‘wei’)

  元组的查询操作

  Num.index('wang')#输入要查找的元素,返回元素位置的下标

  Num.count(‘w’)#统计某个字符出现的次数

8.字符串的常用操作

name = "my name is wang"
print(name.capitalize())#字符串的字一个字母是否为大写
print(name.count('m'))#统计某个字符出现的个数
print(name.center(50,'-'))#数据长度小于50个字节,name放中间,两边补符号'-'
print(name.endswith('g'))#判断是否是以某个字符串或字符结尾
print(name.expandtabs(0))#把/t用空格替代,默认为8个空格 print(text.decode())#转换成utf-8编码类型
print(name.find('m',2))#查找某个字符第一次出现的位置,后面接的参数是第几次出现
print(','.join(['','','']))#列表中加上某个字符,组成字符串
print(name.rjust(50,'-'))#数据长度小鱼50个字节,name放在左边,右边补符号'-' print(name.ljust(50,'-'))
print(name.lower())#字符串所有的单词大写变小写
print(name.lstrip())#去掉左边的空格或者
print(name.maketrans())#用于加密的奇特算法
print(name.partition(' '))#字符串切分
print(name.rsplit(' '))#根据空格来切片
print(name.rfind('m'))#从右边向左边数,m出现的索引
print(name.replace('m','M'))#字符替换
print(name.rindex('m'))#反向查找
print(name.rpartition(' '))#反向切分
print(name.rstrip('\n'))#删除字符串末尾的字符
print(name.rpartition(" "))
print(name.rindex('m'))#反向查找
print(name.rstrip('wang'))#删除末尾字符串或者字符 print(name.swapcase())#所有字符大小写反转
print(name.splitlines())#按照\R\N \R\N分割
print(name.split())#空格换行字符表space \r\n \t
print(name.startswith('m'))#是否字符串是以什么开头的
print(name.endswith('wang'))#字符串是否以什么结尾
print(name.strip('m'))#删除首字母 print(name.title())#所有字符的头部都变成大写
print(name.upper())#所有字符全部换成大写
print(name.zfill(50))#左边补0

9.字典

 info={

  1:"wangxingwei",

  2:"koujie",

  3:"linwenchang"}

  字典的添加:

    info[3]="chenshaoyong"

  字典的删除:

    del info[0]

    info.popitem()#随机删除

    info.pop(0)

  字典的修改:

    info[0]="chenshaoyong"

  字典的查询:

    info[0]#当获取的元素不存在时,编译器报错

    info.get(0)#输入错误时,不会报错

  判断某个键是否存在于字典中:

    0 in info#如果存在则返回True否则返回False

  字典查询所有键:

    info.keys()

  字典查询所有键值:

    info.values()

  字典添加方法:

    info.setdefault()#先到字典中查询,如果存在返回,不存在添加

  字典的update():

    合并,把一个字典合并到另外一个字典中,如果有键重复,则覆盖

  字典转换成列表:

    info.items()

  字典循环:

    for i in info:

      for(i,info(i))# i 字典的键,字典的值info(i)

    for i,v in info.items():

      print(i,v)#把字典转换成列表,然后在打印

  字典的fromkeys

    例子: c= dict.fromkeys([6,7,8],[1,{"name":"wangxingwei"},333])

    print(c)

    c[7][1]["name"] = "koujie"

    print(c)

    此时的键6,7,8三个name值全部改成了koujie

    创建一个字典并赋予一个初始化的值,一份列表数据地址内存,全部赋值给三个键,使用多层字典时,需要注意。

  

Python初学者随笔Week1的更多相关文章

  1. Python初学者随笔(一)_ 用Python写的第一个游戏“猜数字”

    如标题所写,这篇随笔主要记录下学习Python过程中用Python写的第一个游戏--"猜数字"_跟着"小甲鱼"学Python,链接: https://b23.t ...

  2. python初学者随笔Week2

    一.集合 去重,把一个列表变成集合,自动去重 关系测试,测试两组数据的交集,并集,差集关系 集合是无序的 集合的操作: list_1 = [1,4,5,7,3,6,7,9] list_1 = set( ...

  3. Python初学者之网络爬虫(二)

    声明:本文内容和涉及到的代码仅限于个人学习,任何人不得作为商业用途.转载请附上此文章地址 本篇文章Python初学者之网络爬虫的继续,最新代码已提交到https://github.com/octans ...

  4. Python初学者的一些编程技巧

    #####################喜欢就多多关注哦######################### Python初学者的一些编程技巧   交换变量  ? 1 2 3 4 5 6 7 8 9 ...

  5. Python 学习随笔 - 1 - 基础数据类型、变量 及 基本运算

    仅有的C语言的基础都是大学时学的: 准备赶潮流,开始学习Python. 随笔记录学习过程中,靠一点点C语言基础难以去理解的地方,以及区别于C语言的地方,做些笔记作为以后参考. Python 解释器直接 ...

  6. Python初学者常见错误详解

    Python初学者常见错误详解 0.忘记写冒号 在 if.elif.else.for.while.class.def 语句后面忘记添加 “:”   if spam == 42 print('Hello ...

  7. 给Python初学者的一些编程技巧

    展开这篇文章主要介绍了给Python初学者的一些编程技巧,皆是基于基础的一些编程习惯建议,需要的朋友可以参考下交换变量 x = 6y = 5 x, y = y, x print x>>&g ...

  8. 致 Python 初学者们!

    ​ 前言 在 Python 进阶的过程中,相信很多同学应该大致上学习了很多 Python 的基础知识,也正在努力成长.在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫.我非常理解你们所面临的处 ...

  9. python 初学者

    明确学习目标,不急于求成 当下是一个喧嚣.浮躁的时代.我们总是被生活中大量涌现的热点所吸引,几乎没有深度阅读和思考的时间和机会.我始终认为,学习是需要沉下心来慢慢钻研的,是长 期的:同时,学习不应该被 ...

随机推荐

  1. linux 文本操作

    sed -i 直接修改 sed 是负责插入替换删除字符串操作. sed -n '/11/p' 11.txt |sed  's/11/33333/g'  查找11并替换11位3333 sed  's/1 ...

  2. python3: 数字日期和时间(2)

    12.基本的日期与时间转换 Q: 你需要执行简单的时间转换,比如天到秒,小时到分钟等的转换 A: 为了执行不同时间单位的转换和计算,请使用 datetime 模块. 比如,为了表示一个时间段,可以创建 ...

  3. Idea2018版本建的项目总是找不到主类

    最近更新idea到2018,总是遇见无法加载到主类,刚开始以为是装的过程有什么搞错了,但重装好几遍都是,换成2017又恢复正常,最后发现聪明的同学找到了个偏门可以解决. 那就是先创建文件夹,然后在创建 ...

  4. PHP生成有背景的二维码图,摘自网络

    有一天产品MM高高兴兴的走过来,兴奋的和我分享她想出来的一个新的idea. 产品MM:你看这个(她指了指她的手机),一脸兴奋 那是一张带着二维码的图片,内容如下: 她接着说:如果我们的分销也能做成类似 ...

  5. UI之富文本编辑器-UEditor

    在做Web应用时,经常会进行富文本编辑,常用的富文本编辑器有很多,比如CuteEditor.CKEditor.NicEditor.KindEditor.UEditor等等. 在这里为大家推荐百度推出的 ...

  6. MP实战系列(九)之集成Shiro

    下面示例是在之前的基础上进行的,大家如果有什么不明白的可以参考MP实战系列的前八章 当然,同时也可以参考MyBatis Plus官方教程 建议如果参考如下教程,使用的技术为spring+mybatis ...

  7. docker pull下载镜像时的报错及其解决方法

    使用docker pull从镜像仓库拉取镜像时报错如下: [root@docker-registry ~]# docker pull centos Using default tag: latest ...

  8. Android将日志信息自动发送到指定的邮箱中 邮件的内容以附件形式发送

    今日整合了网上一些大神的例子(具体看了那些大神的?这个真不好意思我忘记了.下次再整合一定给大家补上,这次也只有默默的给那几个大神说声抱歉了.)做了一个“记录android项目中的日志信息,并将日志信息 ...

  9. day50

    JS基础 一.JS语言介绍 1.概念 浏览器脚本语言 可以编写运行在浏览器上的代码程序 属于解释性.弱语言类型编程语言 2.组成 ES语法:ECMAScript.主要版本ES5和ES6 DOM:文档对 ...

  10. jquery jqzoom插件练习

    <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...