python-python基础1

本系列文章默认全部基于python3讲解

本节内容

1. python介绍

2. 第一个python程序

3. 变量

4. 关于多行输出

5. 用户输入及格式化输出

6. 模块初接触

7. .pyc是什么

8. 数据类型初接触

9. 数据运算

10. 表达式if...else语句

11. for循环

12. break and continue

13. while循环

 14. 三元运算

 

1 python介绍

python的热度介绍

最新的TIOBE排行榜,Python越来越逼近C。

 

2 第一个python程序

 

1 name = "你好,世界!"
2 print(name)

3 变量

变量是为了保存某些需要后续使用的值而存在的。变量的赋值:

1 name = "Jason Zhuo"
2 print("My name is ", name)
3 name2 = name
4 print("My name is ", name, name2)
5 name = "PaoChe Ge"
6 print(name, name2)

执行上述代码可以得到如下结果:

My name is  Jason Zhuo
My name is  Jason Zhuo Jason Zhuo
PaoChe Ge Jason Zhuo

4 关于多行输出

python的多行输出和C语言不一样,C语言的多行输出需要使用换行符"\n“,但是在python里,可以直接按照代码里的格式输出:

1 msg = '''print("My name is ", name, name2)
2 name = "PaoChe Ge"
3 print(name, name2)'''
4 print(msg)

上面的代码采用三引号方式输出多行,执行结果如下:

print("My name is ", name, name2)
name = "PaoChe Ge"
print(name, name2)

5 用户输入

 1 username = input("username:")   #input负责等待用户输入
 2 age = int(input("age:"))        # input用户输入的内容被当做字符串,需要转换成整形
 3 print(type(age))
 4 job = input("job:")
 5 salary = input("salary:")
 6 
 7 info = """
 8 ------- info of $ ------
 9 Name: %s 
10 Age: %d
11 job: %s
12 Salary: %s
13 """ % (username, age, job, salary)
14 
15 info2 = """
16 ------- info of $ ------
17 Name: {name} 
18 Age: {_age}
19 job: {_job}
20 Salary: {_salary}
21 """.format(name=username,_age=age,_job=job,_salary=salary)
22 
23 info3 = """
24 ------- info of {0} ------
25 Name: {0} 
26 Age: {1}
27 job: {2}
28 Salary: {3}
29 """.format(username,age,job,salary)
30 
31 print(info)
32 print(info2)
33 print(info3)

上述代码展示了获取用户输入的方式,以及获取用户输入后进行类型转换。几个info变量展示了格式化输出的三种方法。

6 模块初接触

python的强大之处在于有非常丰富的标准库和第三方库,下面简单介绍两个作为初步认识,后面还会详细介绍。

sys

sys模块是python解释器自带的模块,使用c语言实现,在python的安装目录下找不到。

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3  
 4 import sys
 5  
 6 print(sys.argv)
 7  
 8  
 9 #输出
10 $ python test.py helo world
11 ['test.py', 'helo', 'world']  #把执行脚本时传递的参数获取到了

os

#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
import os
 
os.system("df -h") #调用系统命令

如果自己写模块可以有两种路径导入:一种是和使用文件在同一个目录下,一种是放到标准目录下:Python/3.x/site-packages

7 .pyc是什么

python虽说是一种解释型语言,但又不完全是(区别于shell),python在解释执行之前会有一个编译的过程,把python文件的内容做简单编译,转换成另一个字节文件,然后对字节文件进行解释执行。如果有pyc文件,则对比py文件和pyc的时间戳,如果py的时间更新,则会编译重新生成pyc,否则会直接加载pyc文件进行解释。

8 数据类型初接触

1. 数字

int

long

float

2. 布尔值

0 or 1

True or False

3. 字符串

"string"

字符串拼接:

name = "Jason"
print("my name is %s" % name)

字符串常用操作:

  • 去除空格
    strip方法
  • 分割
  • 长度
  • 索引
  • 切片  

 

4. 列表

创建列表:

names = ["wukong","shifu","bajie","wuneng"]

 

5. 元组

9 数据运算

算术运算:

  • +   -    *    /
  • %  取余
  • //   取商的整数部分
  • **  幂运算

比较运算:

  • ==
  • !=
  • >
  • <
  • >=
  • <=

赋值运算:

  • +=  加法赋值
  • -=  减法赋值
  • *=  乘法赋值
  • /=  除法赋值
  • %=  取余(取模)赋值
  • //=   取整赋值
  • **=   幂运算赋值

逻辑运算:

  • and
  • or
  • not

成员运算:

  • in    在指定的序列中,返回True
  • not in

身份运算:

  • is
  • is not

位运算:

  • &   与运算
  • |    或运算
  • ^   按位异或运算
  • ~   按位取反
  • <<   左移动
  • >>   右移动

10 表达式if...else语句

import getpass   #这个模块在pycharm中无法使用
username = input("username: ")
password = getpass.getpass("password: ")

_username = "Jason"
_password = "zhuo"
if _username == username and _password == password:
    print("Welcom user {name} login...".format(name=username))
else:
    print("Invalid user or password!")

这段代码展示了输入用户名密码以后对输入的信息进行比对,getpass模块是对输入密码进行保密展示的模块,输入密码时不会显示输入的内容。if  else基本格式如下:

if xxx:

  exp...

else:

  exp...

11 for循环

for i in range(0,10):
    if i<5:
        print("loop ", i)
    else:
        continue
    print("hehe...")

上面的输出结果:

loop  0
hehe...
loop  1
hehe...
loop  2
hehe...
loop  3
hehe...
loop  4
hehe...

注意:python语言对缩进有严格的要求,如果上面的代码改成如下格式就会有不一样的输出结果:

for i in range(0,10):
    if i<5:
        print("loop ", i)
    else:
        continue
print("hehe...")

输出结果:

loop  0
loop  1
loop  2
loop  3
loop  4
hehe...

12 break and continue

break是结束本级循环,continue是结束本次循环。

for i in range(10):
if i<5:
continue
print("loop:", i )

上面的输出结果是:

loop: 5
loop: 6
loop: 7
loop: 8
loop: 9

如果continue换成break,则会没有任何输出。因为在i<5满足条件的情况下,执行break,break会结束整个for循环。

13 while循环

while循环需要注意的是不要出现死循环。下面是一个猜年龄的例子,最多猜三次:

age_of_oldboy = 56
i = 0
while i<3:
    i = i + 1
    guess_age = int(input("guess age: "))
    if guess_age == age_of_oldboy:
        print("Yes, you got it!")
        break
    elif guess_age > age_of_oldboy:
        print("Think smaller...")
    else:
        print("think bigger...")

当然上面的例子也可以用for循环实现:

age_of_oldboy = 56
for i in range(3):
        guess_age = int(input("guess age: "))
        if guess_age == age_of_oldboy:
            print("Yes, you got it!")
            break
        elif guess_age > age_of_oldboy:
            print("Think smaller...")
        else:
            print("think bigger...")
else:
    print("You have tried too many times,fuck off!")

 

14 三元运算

格式: result = 1 if 条件 else 2

a, b, c = 1, 2, 3
d=a if a>b else c
print(d)

上面的执行结果是3

 

posted @ 2019-03-12 14:08  bj我心飞翔  阅读(93)  评论(0)    收藏  举报