文档章节

[Python]从零开始学python——Day01~02 基础知识

HoiCai
 HoiCai
发布于 2017/10/03 01:55
字数 1668
阅读 17
收藏 0

国庆八天的休假说长不短,说短不长,趁着宅在家中的时间,打算从0开始学python。

1.基础

1.1 变量

python变量定义比较简单,不需要定义数据类型,直接写,就可以赋值

num=1

str="str"

与之相比,java中定义变量就得定义数据类型

int num = 1;

String str = "str";

还有不同的是,python中有复数的定义,java中就没有

查看变量的类型

print(type("i")) #<class 'str'>

1.2 标识符关键字

数字,字母,下划线组成,区分大小写,数字不能开头。

关键字可以用keyword查看。

import keyword

keywordList = keyword.kwlist

print(keywordList)

1.3 输入与输出

python2 里面输入是raw_input(),而python3里面是input()。

输出是 print()。

python的输出和C++有点类似

str =input("请输入内容")
print("输入的内容%s长度是%d"%(str,len(str)))

1.4 运算符

+,-,*,/,%。

需要注意的是 / 返回的类型是根据参数而定的,如果除数被除数都是整型返回的就是整型,如果有浮点型,那返回的就是浮点型。

#round(num,取值位数)

print(round(2.5/2,1)) #1.2

与java不同的地方有**代表幂运算,//代表结果取整

#幂运算

print(2**10)#1K

print(2**20)#1M

print(2**30)#1G

2.判断语句和循环语句

2.1 if判断

与java的花括号不同,python的if格式是用缩进来判断,if判断成功后,执行缩进中的内容

python中没有else if的写法,elif替代

inputNum =int(input("please input any number"))

if inputNum >=0 and inputNum <10:

    print("0 <= num < 10,num=%d"%inputNum)

elif inputNum >=10 and inputNum <20:

    print("10 <= num < 20,num=%d"%inputNum)

else:

    print("%d"%inputNum)

2.2 while循环

满足条件不停循环,和java没什么区别

2.3 for循环

for有点像java的foreach循环,但for不仅支持列表,也支持字符串

'''
输出:
a
b
c
d
e
'''
str = "abcde"
for i in str:
    print(i)

for...else表示for循环正常结束后(即不是break跳出),执行else代码块

for num in range(10,20):  # 迭代 10 到 20 之间的数字
    for i in range(2,num): # 根据因子迭代
        if num%i == 0:      # 确定第一个因子
            j=num/i          # 计算第二个因子
            print('%d 等于 %d * %d' % (num,i,j))
            break            # 跳出当前循环
    else:                  # 循环的 else 部分
        print (num, '是一个质数')

2.4 continue与break

不支持break/continue a的语法,只能break/continue最近一层循环

2.5 应用

写了个猜拳小游戏练习了下基础

import random

while True:
    player = input("请输入 剪刀(0) 石头(1) 布(2),结束游戏请输入end")

    if(player == "end"):
        break

    if(not player.isnumeric()):
        print("请输入数字")
        continue
    else:
        player = int(player)

    if(player <0 or player > 2):
        print("请输入0,1,2")
        continue

    system = random.randint(0,2)

    if player - system == 1 or player - system == -2:
        print("获胜")
    elif player == system:
        print("平局")
    else:
        print("输了")

3.函数,字符串,列表

3.1 简单函数

函数定义

#分割线
def line():
    print("-"*12+"华丽的分割线"+"-"*12)

3.1.1 时间函数

import time  # 引入time模块

currentTime = time.time() #返回从1970.1.1开始至今的秒数
nowTime = time.asctime(time.localtime(currentTime))
print("当前时间戳为:", currentTime) 
print("本地时间为:",nowTime)

3.1.2 日历

import calendar

cal = calendar.month(2017, 10)
print("2017年10月份的日历:")
print(cal)

3.1.3 随机函数

import random

for i in range(0,10):
    print(random.randint(0,100))

3.2 字符串

python对字符串操作有一套现成的方法,操作起来异常简单

3.2.1 取索引

str = "hello world"

print(str[2:-1]) #从下标2的地方取到倒数第一位。'llo worl'
print(str[2:]) #从下标2的地方取到最后一位。'llo world'

3.2.2 格式化

和c++的类似

常用的就%s,%d,%f

3.2.3 find & rfind

检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1

find:从左边开始找

rfind:从右边开始找

str = "hello world"

print(str.find('world', 0, len(str))) #6

3.2.4 index & rindex

跟find()方法一样,只不过找不到,会报异常.

index:从左边开始找

rindex:从右边开始找

str = "hello world"

print(str.index('world', 0, len(str))) #6

3.2.4 count

返回出现的次数

str = "hello world"

print(str.count('world', 0, len(str))) #1

3.2.4 replace

替换内容,如果 count 指定,则替换不超过 count 次.

str = "hello world"

print(str.replace('world', 'python', str.count('world')))  #hello python

3.2.4 split

切割返回列表

str = "hello world"

print(str.split(' '))  #['hello', 'world']

3.2.5 capitalize

第一个字母大写

str = "hello world"

print(str.capitalize()) #Hello world

3.2.6 startswith & endswith

判断是否以什么开头,以什么结尾

str = "hello world"

print(str.startswith("h")) #True
print(str.endswith("d")) #True

3.2.7 lower & upper

字符串全部转为小写,全部转为大写

3.2.8 ljust & rjust & center

ljust:返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串

rjust:返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串

center:返回一个原字符串居中,并使用空格填充至长度 width 的新字符串

str = "hello world"

print("|"+str.ljust(20)+"|") #|hello world         |

print("|"+str.rjust(20)+"|") #|         hello world|

print("|"+str.center(20)+"|") #|    hello world     |

3.2.9 lstrip & rstrip

lstrip:删除左边的空格

rstrip:删除右边的空格

str = "   hello world   "

print("|"+str.lstrip()+"|") #|hello world   |

print("|"+str.rstrip()+"|") #|   hello world|

3.2.10 partition & rpartition

分割成三部分,str前,str和str后

partition:从左边开始

rpartition:从右边开始

str = "hello world"

print(str.partition('l'))  #('he', 'l', 'lo world')

print(str.rpartition('l'))  #('hello wor', 'l', 'd')

3.2.11 splitlines

按照行分隔,返回一个包含各行作为元素的列表

str = "hell\no wor\nld"

print(str.splitlines()) #['hell', 'o wor', 'ld']

3.2.12 isalnum

如果字符都是字母或数字则返回 True,否则返回 False

3.2.13 isalpha

如果字符只包含字母则返回 True,否则返回 False

3.2.14 isdigit

如果字符只包含数字则返回 True,否则返回 False

3.2.15 isspace

如果字符只包含空格,则返回 True,否则返回 False.

3.2.16 isupper

如果字符都是大写,则返回 True,否则返回 False.

3.2.17 islower

如果字符都是小写,则返回 True,否则返回 False.

3.2.18 join

每个字符后面插入,构造出一个新的字符串

str = "hello world"

print("*".join(str)) #h*e*l*l*o* *w*o*r*l*d

3.3 列表

列表支持不同数据类型在同一个列表中,java一个数组只支持一种数据类型

3.3.1 索引

'''
输出
xiaoWang
xiaoZhang
xiaoHua
'''
A = ['xiaoWang','xiaoZhang','xiaoHua']
print(A[0])
print(A[1])
print(A[2]

3.3.2 for循环

'''
输出
xiaoWang
xiaoZhang
xiaoHua
'''
A = ['xiaoWang','xiaoZhang','xiaoHua']

for tempName in A:
    print(tempName)

3.3.3 增:append

通过append可以向列表添加元素,添加到最后位置

A = ['xiaoWang','xiaoZhang','xiaoHua']
A.append("xiaoMing")

3.3.4 改:=

通过下标来赋值

A = ['xiaoWang','xiaoZhang','xiaoHua']

A[0] = "xiaoMing"

3.3.5 查: in / not in

A = ['xiaoWang','xiaoZhang','xiaoHua']

if 'xiaoWang' in A:
    print("find")

3.3.6 删:del / remove / pop

del:根据下表删除

remove:根据内容删除

pop:删除最后一个元素(最新添加的元素)

© 著作权归作者所有

HoiCai
粉丝 4
博文 30
码字总数 19923
作品 0
深圳
程序员
私信 提问
小柒2012/从零学Python

项目介绍 从零学Python,各种开发案例,不定期更新。 软件 版本 功能 地址 Python 3.7.1 脚本语言 https://www.python.org/ Django 2.1.3 Web框架 https://www.djangoproject.com/ PyCharm 2...

小柒2012
02/21
0
0
机器学习的最佳学习路线原来只有四步

AI这个词相信大家都非常熟悉,近几年来人工智能圈子格外热闹,光是AlphoGo就让大家对它刮目相看。今天小天就来跟大家唠一唠如何进军人工智能的第一步——机器学习。 在机器学习领域,Python已...

ufv59to8
2018/05/12
0
0
万人学习,五星好评!这门 Python 课程出续集了,小白也能学会! - 知乎

在这个人工智能和大数据的时代,不管你是编程初学者,还是想学习一门第二语言,Python 都是最好的选择之一。 它简洁、优雅、易学,被越来越多的大学作为计算机新生的入门语言; 它是时代的头...

编程教室
11/07
0
0
Django 最佳学习路径 | 涵盖众多学习资源

学习编程的路上, 下面的场景你是否似曾相识? ———— 场景一 当初,零编程基础,想做个网站。听说Python能做网站,而且很屌,于是我去学了Python。 结果发现他们都是在Linux下写代码,于是...

图灵教育
03/20
0
0
编程语言太难学?只因你还没试过Python!

Python语言可能是第一种即简单又功能强大的编程语言。它不仅适合于初学者,也适合于专业人员使用,更加重要的是,用Python编程是一种愉快的事。本身将帮助你学习这个奇妙的语言,并且向你展示...

极客学院
2015/05/18
2.1K
7

没有更多内容

加载失败,请刷新页面

加载更多

02.日志系统:一条SQL更新语句是如何执行的?

我们还是从一个表的一条更新语句说起,我们创建下面一张表: create table T(ID int primary key, c int); 如果要将ID=2这一行c的值加1,SQL可以这么写: update T set c=c+1 where ID=2; 前...

scgaopan
今天
7
0
【五分钟系列】掌握vscode调试技巧

调试前端js 准备一个前端项目 index.html <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1......

aoping
今天
6
0
PhotoShop 高级应用:USM锐化/S锐化/防抖

、 高反差锐化+混合模式:叠加模式 【将更多的边缘细节添加到图像中】

东方墨天
今天
7
0
Python数据可视化之matplotlib

常用模块导入 import numpy as npimport matplotlibimport matplotlib.mlab as mlabimport matplotlib.pyplot as pltimport matplotlib.font_manager as fmfrom mpl_toolkits.mplot3d i......

松鼠大帝
昨天
5
0
我用Bash编写了一个扫雷游戏

我在编程教学方面不是专家,但当我想更好掌握某一样东西时,会试着找出让自己乐在其中的方法。比方说,当我想在 shell 编程方面更进一步时,我决定用 Bash 编写一个扫雷游戏来加以练习。 我在...

老孟的Linux私房菜
昨天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部