python学习之路-day2

Python的强大之处在于他有非常丰富和强大的标准库和第三方库

运行下列代码,会出现一系列路径,其中python的第三方库一般存在site-package,比如D:\\Program Files\\Anaconda3\\lib\\site-packages,标准库则在其上一级,即:D:\\Program Files\\Anaconda3\\lib

import sysprint(sys.path)

小技巧:返回值为0表示执行成功了;PS:2**=2^ 都是求幂;55E4=55X10^4=55X10**4PS:python的print 换行用‘\n‘表示CTRL+单击对应的函数可以显示该函数的源代码,定义,解释之类的东西

真:1假:0
Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了;

用import调用模块默认从当前目录下找,其次到环境变量里找,若当前目录下没有该模块,则报错;解决方法:把要调用的模块复制到site-packages目录下,具体用上述代码寻找该目录;



编译型语言在程序执行之前,先会通过编译器对程序执行一个编译的过程,把程序转变成机器语言。运行时就不需要翻译,而直接执行就可以了。最典型的例子就是C语言。


解释型语言就没有这个编译的过程,而是在程序运行的时候,通过解释器对程序逐行作出解释,然后直接运行,最典型的例子是Ruby。


创建列表:

1

2

3

name_list = [‘alex‘‘seven‘‘eric‘]

name_list = list([‘alex‘‘seven‘‘eric‘])


三元运算

有条件的赋值:



1

result = 1 if 条件 else 2


如果条件为真:result = 值1
如果条件为假:result = 值2



python里文本都是unicode,为str;而二进制都是bytes,主要存储音频视频等无法用文字存储的内容;在数据传输中无论字符串还是视频等都是用二进制传输,此时字符串就要强制转成二进制;字符串编码(encode)成二进制;二进制解码(decode)成字符串;encode and decode 要申明之前是什么编码类型(如utf-8),如果不指定,python3里可以(强制utf-8)
 

今日的代码
# -----------------Welcome to python---------------------# names="Alex Jack Bob Tom"names = ["Alex", "Jack", "Bob", "Tom"]print(names)‘‘‘"Alex", "Jack", "BOb", "Tom" 0       1       2       3‘‘‘print(names[1:3])  # 顾头不顾尾‘Jack‘, ‘BOb‘(只包括头部不包括尾部)print(names[-1])  # 从后往前取print(names[-3:-1])  # 从后往前取但是是从左往右数‘Jack‘, ‘BOb‘‘‘‘"Alex", "Jack", "Bob", "Tom" -3      -2      -1      0‘‘‘‘‘‘print(names[-2:0])但是要想取到最后一个数据,这个写法是错误的这样写才对:print(names[-2:])表示取最后两个数据 结果为‘BOb‘, ‘Tom‘同理这样也可以:print(names[0:3])表示取前三个数据print(names[:3])也表示取前三个数据‘‘‘# 数据的追加append(在最后加上数据)# names.append("Last")# 数据的插入names.insert(1, "Jerry")print(names)  # 结果为[‘Alex‘, ‘Jerry‘, ‘Jack‘, ‘BOb‘, ‘Tom‘]
数据的更换 必须是下标!names[2]="New name"print(names) 结果为[‘Alex‘, ‘Jerry‘, ‘New name‘, ‘BOb‘, ‘Tom‘]数据的删除第一种方法:  names.remove("要删除的数据")比如: names.remove("Jerry")第二种方法:  del names[要删除的下标]比如:del names[2]第三种方法:  names.pop() #不输入下标就删掉了最后一个数据输入了下标就删除对应下标的数据此时names.pop(i)=del names[i]     效果一样
‘‘‘统计列表里有多少重复的数据 count()print(names.count("重复的数据"))对列表数据进行排序(按特殊字符,数字,字母大写,字母小写的顺序依次来的)names.sort()列表的合并,extend()names2=[1,2,3,4]names.extend(names2)#这里names2的数据加入到names里了print(names) 结果[‘Alex‘, ‘Jerry‘, ‘Jack‘, ‘Bob‘, ‘Tom‘, 1, 2, 3, 4]列表的删除 del 列表名names2=[1,2,3,4]names.extend(names2)del names2print(names,names2) #结果NameError: name ‘names2‘ is not defined‘‘‘
列表的复制 copy()如: names2=names.copy()列表里还可以包含列表(子列表)names=[‘Alex‘, ‘Jerry‘,[‘aaa‘,‘bbb‘,‘ccc‘], ‘New name‘, ‘BOb‘, ‘Tom‘]print(names)print(names[2]) #[‘aaa‘, ‘bbb‘, ‘ccc‘]子列表的赋值:names[2][0]="AAA"#父列表第三个[‘aaa‘,‘bbb‘,‘ccc‘],子列表[‘aaa‘, ‘bbb‘, ‘ccc‘]第一个数据‘‘‘

names = [‘Alex‘, ‘Jerry‘, [‘aaa‘, ‘bbb‘, ‘ccc‘], ‘New name‘, ‘BOb‘, ‘Tom‘]names2 = names.copy()names2[1]="JERRY"names[2][0] = "AAA"print(names)print(names2)  # [‘Alex‘, ‘Jerry‘, [‘AAA‘, ‘bbb‘, ‘ccc‘], ‘New name‘, ‘BOb‘, ‘Tom‘]# copy()只是浅copy(很少用到),实际上子列表存在不同于父列表的内存地址里,浅copy只复制了父列表的第一层,# 子列表的内存地址还是原来的。这样导致列表的复制不全(不独立)# 比如上例,names的子列表为 [‘aaa‘, ‘bbb‘, ‘ccc‘],copy给names2,然后把names的子列表第一项改为"AAA",按理说names2不会改,#可是names2也跟着改了(子列表的内存地址还是原来的),因此copy()后的子列表是不独立的!!!(父列表还是完全独立的!)# 像a=xxx     b=a         a=yyy   之类简单的字符串或数字    b的值不会变成yyy,这样是完全独立#但是对于列表来说,像上述赋值这内存地址是完全一样的,即完全不独立#总之,浅copy的子列表内存地址与原来的一样,一旦对其进行改动则复制前后的子列表都会改动;#一个列表直接赋值给另一个列表,内存地址不变,即完全不独立;字符串或数字则内存地址改变,完全独立
‘‘‘列表的循环for i in names:print(i)print(names[0:-1:2])这里的冒号可以省略,变为names[::2],效果一样‘‘‘
 
 
时间: 2024-12-28 17:02:10

python学习之路-day2的相关文章

python 学习之路-day2

第二天找到点信心,这个代码居然看懂了呢. ####引入变量name根据提示输入你的名字 name = input('please input your name :')print ('hello!'+(name)) ####演示输出函数的实例 print ('a','b','c')print ('a','b','c',sep=',')print ('a','b','c',end=';')print ('a','b','c') ####python的四则运算 >>>3*5/2+4*2 &g

Python学习之路day2

一: 字符串的格式化输出 name = "abc" name2 = 123 name3 = 22 name4 = "abc\n\t123" abc = ''' name : %s name2 : %d name3 : %f name4 : %r name5 : %s '''%(name,name2,name3,name4,name4) print(abc) 结果为: 如上例,总结如下位 %s :  输入字符串 %d : 只能输出数字,否则会报错 %f : 显示浮点数

Python学习之路-Day1-Python基础

Python学习之路第一天 学习内容: 1.Python简介 2.安装 3.第一个Python程序 4.变量 5.字符编码 6.用户输入 7.表达式if..else语句 8.表达式for语句 9.break和continue 10.while循环 11.字符串格式化 1.python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新的TIOB

Python学习之路

Python学习之路 目录 Python学习之路[第一篇]:流程控制,用户交互,语法要求,变量,字符,注释,模块导入的使用 Python学习之路[第二篇]:文件,字符串,列表,元组,字典,集合的使用 更新中...

Python学习之路-装饰器&生成器&正则表达式

装饰器 通俗的讲,装饰器就是在不改变源代码基础上,给源代码增加新功能. 不改变函数的源代码.调用方式.返回值等,给函数增加新功能. 经典案例:登录装饰器, def login_decorator(func):     def inner():         if USER_TEMP["status"] == False:             print("\033[31;1m用户未登录,请先登录\033[0m")             login_atm()

Python学习之路【第一篇】-Python简介和基础入门

1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是一种开发语言,而且已经进阶到主流的二十多种开发语言的top 5(数据源自最新的TIOBE排行榜). 来头不小啊!二十多种主流的开发语言,我该从哪一个开始呢?人生苦短,let‘s python! 1.2 Python的由来和发展趋势 Python的前世源自鼻祖“龟叔”.1989年,吉多·范罗苏姆(Gu

Python学习之路——强力推荐的Python学习资料

资料一:程序媛想事儿(Alexia)总结 Python是一种面向对象.直译式计算机程序设计语言.它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块.与Scheme.Ruby.Perl.Tcl等动态语言一样,Python具备垃圾回收功能,能够自动管理内存使用.它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务. Python上手虽然容易,但与其它任何语言一样要学好Python并非一日之功.我的Pyth

Python学习之路 001

Python学习之路 从今天起开始写Python学习的经历了,哈哈. 了解Python是在我想入坑Linux运维这条路开始的. 我是计算机出身有着一定编程的功底,刚开始接触Python的时候觉得Python我学习过的c,c++特性完全不一样.觉得为什么这东西会这么智能 就拿Hello World来说 C: 1 #include<stdio.h> 2 3 void main() 4 { 5 printf("Hello World"); 6 } C++: 1 #include&

Python 学习之路(二)

Python 学习之路(二) 以下所用的是Python 3.6 一.条件语句 简单判断 1 if 判断条件: 2 执行语句-- 3 else: 4 执行语句-- 复杂判断 1 if 判断条件1: 2 执行语句1-- 3 elif 判断条件2: 4 执行语句2-- 5 elif 判断条件3: 6 执行语句3-- 7 else: 8 执行语句4-- 二.循环语句 2.1 while语句 和其他语言一样,不同的是多了else语句.在 python 中,while - else 在循环条件为 false