Python Day1

Python安装

在linux系统上安装Python3.X
安装依赖:

yum -y install gcc zlib zlib-devel xz

下载Python安装包

wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz

解压并编译安装

tar -xf Python-3.6.2.tar.xzcd Python-3.6.2./configuremake && make install

修改系统中python软连接

ln -sf /usr/local/bin/python3 /usr/bin/python
[root@bogon tool]# ll /usr/bin/pythonlrwxrwxrwx 1 root root 22 3月  22 11:09 /usr/bin/python -> /usr/local/bin/python3

为保证yum正常使用,修改指定yum命令所使用的python版本(要根据/usr/bin/目录下python原来的版本修改)

sed -i '1s@[email protected]@' /usr/bin/yum

文件头

#!/usr/bin/env python# -*- coding: utf-8 -*-

变量

变量名称不允许使用数字开头,不允许有空格,不允许有*号等特殊符号
 

age_of_dzm = 18


#上面这是推荐的变量名称
 

AGE_OF_DZM = 18


#上面这种全部使用大写字母的方式不会报错,但约定俗成一般表示常量,Python里没有严格意义上的常量

#引用变量

age_of_dzm = 18print(age_of_dzm)18print('age_of_dzm')age_of_dzm

#由此可见,加了单引号后print出的是字符串本身,并没有引用变量

多引号的用途

'''这里的多引号表示多行注释(我是第二行)'''

#多引号也可以用于定义变量时定义一多行内容

info = '''-------info---------name : dzmage : 18sex: male-------end---------'''

#身份运算

is比较的是id而==比较的是值

#赋值
#交叉赋值

m=1n=2m,n=n,mprint(m)print(n)

#解压
#可以解压元组,列表,字典(key)

l=[1,2,3,4]a,b,c,d=lprint(a,b,c,d)#示例1#只要第一个值和最后一个值l=[1,2,3,4]a,b,c,d=l(a,_,_,d)=lprint(a,d)#也可以(a,*_,d)=l*_代表无数个_#示例2t=(10,20,30,40,50,60)x,*_,z=tprint(x,z)10 60

#格式化输出

#第一种

name=input('请输入您的用户名: ')password=input('请输入您的密码: ')print('您的用户名是:%s ,您的密码是:%s' %(name,password))

#第二种

name=input('请输入你的名字:')age=int(input('请输入你的年龄:'))sex=input('请输入你的性别:')job=input('请输入你的工作:')msg='''------------ info of %s ----------Name  : %sAge   : %dSex   : %sJob   : %s------------- end -----------------''' %(name,name,age,sex,job)print(msg)

基本数据类型

数字

int整型
一般表示整数
float浮点型
一般表示带小数点的数字,如体重等

字符串

#在python中,加了引号的字符就是字符串类型
name='dzm’
#字符串还能进行拼接,且只能是字符串之间的相加或相乘

name = 'dzm'age = '18'print(name+age)dzm18

原始字符串
原始字符串不以特殊方式处理反斜杠,在例如DOS路径这种情况下很有用。
举例:

print("C:\nowhere")  #此时反斜杠有特殊含义C:owhereprint("C:\\nowhere")  #对反斜杠本身进行转义C:\nowhere

这很好,但对于很长的路径以为着将需要使用大量的反斜杠
这样的情况下原始字符串就排上用场了

print(r'C:\nowhere')C:\nowhere

注意:
原始字符串不能以单个反斜杠结尾,如果要指定以反斜杠结尾的原始字符(比如DOS路径),可以将反斜杠作为单独的字符。
举例:

print(r'C:\nowhere')C:\nowhere

列表

在[]内用逗号分隔,可以存放n个任意类型的值

 
name_list = ['dzm','egon','alex']print(name_list[1])egon

#列表嵌套与取值

name_list = ['dzm','egon','alex',[18,19,20]]print(name_list[3][0])0
name_list = [['dzm',[18,19]],['egon',[20,21]]]print(name_list[1][1][0])20
dzm = ['dzm',18]gq = ['gq',19]database = [dzm, gq]database[['dzm', 18], ['gq', 19]]

字典

#在{}内用逗号分隔,可以存放多个key:value的值,value可以是任意类型

user = {'name':'dzm','age':'18','sex':'male'}print(user['name'])dzm

#字典的嵌套与取值

user = {    'name':'dzm',    'age':[18,19,20],    'sex':'male'}print(user['age'][2])20
user = {    'name':{'name1':'dzm',            'name2':'egon',            'name3':'alex'            },    'age':[18,19,20],    'sex':'male'}print(user['name']['name3'])alex

#由此可见,字典里还可以套列表和字典
#重点,可变与不可变类型
#1.可变类型:在id不变的情况下,value可以变,则称为可变类型,如列表,字典
#2. 不可变类型:value一旦改变,id也改变,则称为不可变类型(id变,意味着创建了新的内存空间)


#for循环

#for

for i in range(5):    print(i)else:    print('ok')01234ok

#上面这个例子显示,如果for循环没有被break打断那么执行else的内容
#如果上面的for循环触发了break则下面的else不会执行

if

not与逻辑判断句if连用,代表not后面的表达式为False的时候,执行冒号后面的语句。比如:

a = Falseif not a:   (这里因为a是False,所以not a就是True)    print "hello"

可以用来判断用户输入的是否为空

在python中 None,  False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()都相当于False
使用if not x这种写法的前提是:必须清楚x等于None,  False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()时对你的判断没有影响才行。

判断变量是否为None下面的写法更清晰

if not x is None

不等于空可以这样写

if line != '':    print()

如需更多的了解加入python裙906407826嗷~

你可能感兴趣的:(python)