Python基础学习笔记(1)

注释:

单行注释用 #
多行注释用 ''' 注释内容 '''

[root@lUsmwg108555 python]# cat nd.py 
#!/usr/bin/python
#coding=utf8
#测试脚本
'''
测
试
脚
本
'''
def pySum():
a = [0,1,2,3,4]
b = [9,8,7,6,5]
c = []
for i in range(len(a)):
	c.append(a[i]**2 + b[i]**3)

return c

print(pySum())
[root@lUsmwg108555 python]# ./nd.py 
[729, 513, 347, 225, 141]
[root@lUsmwg108555 python]# 

变量:

定义变量:

数字的不用加""
非数字的加""

[root@lUsmwg108555 python]# cat test.py 
#!/root/.pyenv/shims/python3
name = "Hello World"
age = 100 
print (name)
print("hehe")
print (age)
[root@lUsmwg108555 python]# ./test.py 
Hello World
hehe
100
[root@lUsmwg108555 python]# 
变量类型


查看变量类型

[root@lUsmwg108555 python]# cat test.py 
#!/root/.pyenv/shims/python3
#coding=utf8
name = "Hello World"
age = 100 
print (name)
print ("hehe")
print (age)


print ("---------华丽的分割线--------")
print (type(name))
print (type(age))
[root@lUsmwg108555 python]# ./test.py 
Hello World
hehe
100
---------华丽的分割线--------
<class 'str'>
<class 'int'>
[root@lUsmwg108555 python]# 
关键字

定义变量时勿将关键字定义重新赋值,会导致后期关键字不生效

[root@lUsmwg108555 python]# python
Python 3.4.5 (default, May 25 2017, 18:51:46) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-18)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
>>> 

输出

查看命令用法:
在交互模式输入 help(命令)

>>> help(print)    
print输出(1):
[root@lUsmwg108555 python]# cat print 
#!/root/.pyenv/shims/python3
#coding=utf8
print("aaa")
print("bbb")
print ("要实现以上输出在同一行")
print("---------华丽分割线--------")

print("aaabbb")		#可以是可以但太low了

print("---------华丽分割线--------")
print("aaa",end='')
print("bbb")
[root@lUsmwg108555 python]# ./print 
aaa
bbb
要实现以上输出在同一行
---------华丽分割线--------
aaabbb
---------华丽分割线--------
aaabbb
[root@lUsmwg108555 python]# 
print输出(2)
[root@lUsmwg108555 python]# cat print2
#!/root/.pyenv/shims/python3
#coding=utf8
print("abc")

print("--------分割---------")

Name = "Mr.wang"
print(Name)


print("--------分割---------")

age = 10
print("我的年龄是:%d岁"%age)
print("我的名字是:%s,我的年龄是:%d岁"%(Name,age))

[root@lUsmwg108555 python]# ./print2
abc
--------分割---------
Mr.wang
--------分割---------
我的年龄是:10岁
我的名字是:Mr.wang,我的年龄是:10岁
[root@lUsmwg108555 python]# 

输入

input

input输出的内容默认都是str

[root@lUsmwg108555 python]# cat input 
#!/root/.pyenv/shims/python3
#coding=utf8
userName = input("请输入你的用户名:")
print("你刚刚输入的用户名是:%s"%userName)
[root@lUsmwg108555 python]# ./input 
请输入你的用户名:hehe
你刚刚输入的用户名是:hehe
[root@lUsmwg108555 python]# 
练习:

从键盘输入信息,并用打印名片的方式来输出

姓名:Mr.wang
QQ:778123069
手机号:130xxxxxxxx
公司地址:Home

[root@lUsmwg108555 python]# cat input2
#!/root/.pyenv/shims/python3
#coding=utf8
#提示并获取输入信息
Name = input("请输入你的用户名:")
QQ = input("请输入你的QQ:")
iphone = input("请输入你的手机号:")
Company = input("请输入你的公司地址:")
#输出信息
print("======================================")

print("姓名:%s\n""QQ:%s\n""手机号:%s\n""公司地址:%s"%(Name,QQ,iphone,Company))

print("======================================")

[root@lUsmwg108555 python]# vim input2
[root@lUsmwg108555 python]# ./input2
请输入你的用户名:Mr.wang
请输入你的QQ:778123069
请输入你的手机号:130xxxxxxxx
请输入你的公司地址:Home
======================================
姓名:Mr.wang
QQ:778123069
手机号:130xxxxxxxx
公司地址:Home
======================================
[root@lUsmwg108555 python]# 
input 和 raw_input

在python3中两者是一样的,但在python2中input是将信息执行后在输出,因该功能存在潜在漏洞,故在3中已将其移除

[root@lUsmwg108555 python]# python
Python 3.4.5 (default, May 25 2017, 18:51:46) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-18)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> help(raw_input)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'raw_input' is not defined
>>> help(input)

>>> M = input("请输入:")
请输入:3+4
>>> M
'3+4'
>>> 

[root@lUsmwg108555 python]# pyenv global system
[root@lUsmwg108555 python]# pyenv version
system (set by /root/.pyenv/version)
[root@lUsmwg108555 python]# python
Python 2.6.6 (r266:84292, Jul 23 2015, 15:22:56) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> M = raw_input("请输入:")
请输入:3+4
>>> M
'3+4'
>>> N = input("请输入:")
请输入:3+4
>>> N
7
>>> 

运算符


将一个输出打印10次

>>> print("Cool "*10)
Cool Cool Cool Cool Cool Cool Cool Cool Cool Cool 
>>> 

多个变量赋值

>>> A,B = 10,20
>>> A
10
>>> B
20
>>> A,B = B,A
>>> A
20
>>> B
10
>>> 
复合赋值运算符

>>> A = 10
>>> A
10
>>> A *=3+4-6
>>> A
10
>>> 

为什么不是 A = A * 3+4-6,因为当复合赋值的右边为表达式时,表达式是个整体,先计算表达式再与左边复合运算 也就是 A = A * (3+4-6) = 10 * 1 = 10

转换
[root@lUsmwg108555 python]# cat int
#!/root/.pyenv/shims/python3
#!coding=utf-8
#1.提示并获取一个数
a = input("请输入第一个数:")

#2.提示并获取另外一个数
b = input("请输入第二个数:")

#3.计算两个数的和
result = a + b 
result2 = int(a) + int(b)
#4.输出结果
print("------------------")
print (result)
print ("%s + %s = %d"%(a,b,result2))

[root@lUsmwg108555 python]# ./int
请输入第一个数:10
请输入第二个数:20
------------------
1020
10 + 20 = 30
[root@lUsmwg108555 python]# 

if 判断

[root@lUsmwg108555 python]# cat if 
#!/root/.pyenv/shims/python3
#1.定义分数和规则
source = int(input("请输入当前驾驶证的分数:"))
rule = int(input("请输入你违规的规则序号(1:闯红灯 2:违规驾驶): "))

#2.条件判断规则扣分
if rule == 1:
    source -= 6
if rule == 2:
    source -= 3
print("你的驾驶分剩余:%s"%source)
#3.是否需要重新学习
if source <= 0:
    print("你当前的驾驶分为:%s,需要重新学习考驾照"%source)
else:
    print("你当前的驾驶分为:%s,暂时不需要重新学习"%source)

[root@lUsmwg108555 python]# ./if
请输入当前驾驶证的分数:5
请输入你违规的规则序号(1:闯红灯 2:违规驾驶): 1
你的驾驶分剩余:-1
你当前的驾驶分为:-1,需要重新学习考驾照
[root@lUsmwg108555 python]# 
逻辑判断:and or not
[root@lUsmwg108555 python]# cat game 
#!/root/.pyenv/shims/python3
print("========= 猜拳游戏 =========")
#引入随机函数模块
import random

player = int(input("请输入:剪刀(0)  石头(1)  布(2)  :"))
computer = random.randint(0,2)

if player==computer:
    print("居然平局,再来")
elif ( player==0 and computer==1 ) or ( player==1 and computer==2 ) or ( player==2 and computer==0 ):
    print("你赢了,走 出去喝两杯")
else:
    print("你输了,洗洗手后再来吧")


[root@lUsmwg108555 python]# ./game 
========= 猜拳游戏 =========
请输入:剪刀(0)  石头(1)  布(2)  :1
你输了,洗洗手后再来吧
[root@lUsmwg108555 python]# ./game 
========= 猜拳游戏 =========
请输入:剪刀(0)  石头(1)  布(2)  :1
你赢了,走 出去喝两杯
[root@lUsmwg108555 python]# ./game 
========= 猜拳游戏 =========
请输入:剪刀(0)  石头(1)  布(2)  :1
居然平局,再来
[root@lUsmwg108555 python]# 
comments powered by Disqus