【Datawhale | python基础 | Day1】初识python

萌新程序媛 专栏收录该内容
10 篇文章 0 订阅

1、环境搭建

  • Anaconda环境配置
    作为一个python小白,Anaconda简直是初学者的神器。它包含了conda、Python等180多个科学包及其依赖项,对于数据分析人员来说,常用的包有numpy、pandas等。

  • 解释器

    • Anaconda有自带的解释器:Spyder和Jupyter Notebook,个人偏好使用后者,原因就解释了,谁用谁知道,哈哈哈哈!
    • 如果需要在开发环境中使用python,PyCharm是非常主流的一个解释器,它也能很方便的和anaconda的虚拟环境结合。安装好之后,在Setting => Project => Project Interpreter 里面修改环境就OK了。

2、python初体验

  • print(): 字面意思,打印函数,即输出函数,向屏幕输出函数中的内容
print('Hello,Datawhale!','这是我的第一个python命令') # 打印()中的内容到屏幕上,文字需要用引号扩起来,单引号和双引号都可以,可同时打印一个或多个内容,用逗号分隔
  • input():输入函数,等待用户在屏幕上输入一些内容,然后赋值给某个变量,值得注意的是,input默认用户输入的是字符串格式,需要自己按需进行格式转换
a=input('请输入您的名字!') # 运行后提示用户()中的内容,并将用户输入的内容负值给变量a,结果如下图所示
a=int(input('请输入您的年龄')) # int()将用户输入的内容转换成整型

input运行结果

3、python基础讲解

  • python变量特性
    1)创建一个变量时,python解释器会为该变量创建一个存储空间,在程序中可随时修改变量的值,但是python只记录最新值。
    2)变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。
    3)每个变量在使用前都必须赋值,变量赋值不需要类型声明,等号(=)用来给变量赋值。
a = 'Hello,Datawhale!' 
print(a)
  • python命名规则
    1)变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message。
    2)变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greeting message会引发错误。
    3) 不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词。
    4)变量名应既简短又具有描述性。例如,name比n好,student_name比s_n好,name_length比length_of_persons_name好。
    5)慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。
    6)尽量使用小写的Python变量名
    小记:以上文字摘自《Python编程:从入门到实践》,启示我要养成良好的变量名命名习惯。
  • 注释方法
    1)单行注释:用井号(# )标识。井号后面的内容都会被Python解释器忽略,如下所示:
# 这是一个注释
a=input('请输入您的名字!') # 运行后提示用户()中的内容,并将用户输入的内容负值给变量a,结果如下图所示

2)多行注释:用三个引号开始,用三个引号结束,引号可以是单引号或双引号,如下所示:

a=input('请输入您的名字!')
''' 以下内容都是注释
a=input('请输入您的名字!') # 运行后提示用户()中的内容,并将用户输入的内容负值给变量a,结果如下图所示
'''
  • python中“:”作用
    python中不同地方的冒号有不同的作用,常见的有:
    1)数据类型中的切片:
seq[start:end:step]          #从start开始到end结束,每隔step输出一次
#::将start和end省略意味着从开始到结束,省略谁就是采用默认
a=[1,2,3,4,5,6]
a[::2]              ->1,3,5  #从1开始,每隔两个输出一下
a[::3]              ->1,4    #从1开始,每隔一个输出一下
a[2::3]             ->3,6    #从2开始,每隔3个输出一次,由于end缺省,默认到最后
a[:4:2]             ->1,3    #从最开始,每隔两个输出一次,到4就结束了
a[:4]               ->1,2,3,4  #前四个,这就回到了单冒号,因为第一个位置缺省,所以从一开始进行切片
a[4:]               ->5,6    #结束的位置是缺省的,所以就选择从4到最后了

2)函数、循环、条件判断语句:出现在函数定义语句末尾、if 、for、 while语句末尾,表示下面的代码块应当缩进,从属于if for while语句主要,同时表示下一行是子模块的开始。比如for循环里面的代码段的开始标志:

for i in range(10):
    print(i) #从属于for语句

3)出现在字典定义当中用于分开键和值

d = {'a':97, 'b':98, 'c':99}
  • dir( )&&help( )
    1)dir():dir([object]),object 可以是 对象、变量、类型。
    dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。
>>>dir()   #  获得当前模块的属性列表
['__builtins__', '__doc__', '__name__', '__package__', 'arr', 'myslice']
>>> dir([ ])    # 查看列表的方法
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

2)help()
help() 函数用于查看函数或模块用途的详细说明。

  • import使用
    1)从当前环境导入模块或函数
import module1, module2,...,moduleN # 导入一个或多个模块
import pandas as pd # 对导入的模块进行重命名

2)从模块中导入一个指定的部分到当前命名空间中

from module import module1, module2,...,moduleN # 从module中导入一个或多个模块
from module import * # 导入module中的全部内容

详细可点链接了解:http://www.runoob.com/python3/python3-module.html

4、python数值基本知识

  • python中数值类型
    int(整型)
    float(浮点型)
    bool(布尔类型:True(1),False(0))
    e记法(科学计数法)
# int(整型)
a = 5
print(a)
# float(浮点型)
b = 5.0
print(b)
# bool(布尔类型:True(1),False(0))
print(a == b)
# e记法(科学计数法)
c = 5.0e10
print(c)
d = 0.0000000001
print(d)

"""
依次得到:
5
5.0
True
50000000000.0
1e-
"""
  • 运算符
    • 算数运算符:
      加(+)
      减(-)
      乘(*)
      除(/)
      取余(%)
      幂(**)
      整除(//)
a = 21
b = 10
c = 0
 
c = a + b
print("1 - c 的值为:", c)
 
c = a - b
print ("2 - c 的值为:", c )
 
c = a * b
print ("3 - c 的值为:", c )
 
c = a / b
print( "4 - c 的值为:", c )
 
c = a % b
print ("5 - c 的值为:", c)
 
# 修改变量 a 、b 、c
a = 2
b = 3
c = a**b 
print ("6 - c 的值为:", c)
 
a = 10
b = 5
c = a//b 
print ("7 - c 的值为:", c)

"""
1 - c 的值为: 31
2 - c 的值为: 11
3 - c 的值为: 210
4 - c 的值为: 2.1
5 - c 的值为: 1
6 - c 的值为: 8
7 - c 的值为: 2
"""
  • 逻辑运算符
    and 与
    or 或
    not 非
a = 10
b = 20

if  a and b :
 print ("1 - 变量 a 和 b 都为 true")
else:
 print ("1 - 变量 a 和 b 有一个不为 true")

if  a or b :
 print ("2 - 变量 a 和 b 都为 true,或其中一个变量为 true")
else:
 print ("2 - 变量 a 和 b 都不为 true")

# 修改变量 a 的值
a = 0
if  a and b :
 print ("3 - 变量 a 和 b 都为 true")
else:
 print ("3 - 变量 a 和 b 有一个不为 true")

if  a or b :
 print ("4 - 变量 a 和 b 都为 true,或其中一个变量为 true")
else:
 print ("4 - 变量 a 和 b 都不为 true")

if not( a and b ):
 print ("5 - 变量 a 和 b 都为 false,或其中一个变量为 false")
else:
 print ("5 - 变量 a 和 b 都为 true")

"""
1 - 变量 a 和 b 都为 true
2 - 变量 a 和 b 都为 true,或其中一个变量为 true
3 - 变量 a 和 b 有一个不为 true
4 - 变量 a 和 b 都为 true,或其中一个变量为 true
5 - 变量 a 和 b 都为 false,或其中一个变量为 false
"""
  • 成员运算符
    in 如果在指定的序列中找到值返回 True,否则返回 False。
    not in 如果在指定的序列中没有找到值返回 True,否则返回 False。
a = 10
b = 20
list = [1, 2, 3, 4, 5 ];
 
if ( a in list ):
   print( "1 - 变量 a 在给定的列表中 list 中")
else:
   print ("1 - 变量 a 不在给定的列表中 list 中")
 
if ( b not in list ):
   print ("2 - 变量 b 不在给定的列表中 list 中")
else:
   print ("2 - 变量 b 在给定的列表中 list 中")
 
# 修改变量 a 的值
a = 2
if ( a in list ):
   print ("3 - 变量 a 在给定的列表中 list 中")
else:
   print ("3 - 变量 a 不在给定的列表中 list 中")

"""
1 - 变量 a 不在给定的列表中 list 中
2 - 变量 b 不在给定的列表中 list 中
3 - 变量 a 在给定的列表中 list 中
"""
  • 身份运算符
    身份运算符用于比较两个对象的存储单元
    is 判断两个标识符是不是引用自一个对象
    is not 判断两个标识符是不是引用自不同对象

  • 运算符优先级
    运算符优先级

a = 20
b = 10
c = 15
d = 5
e = 0
 
e = (a + b) * c / d       #( 30 * 15 ) / 5
print ("(a + b) * c / d 运算结果为:",  e)
 
e = ((a + b) * c) / d     # (30 * 15 ) / 5
print ("((a + b) * c) / d 运算结果为:",  e)
 
e = (a + b) * (c / d);    # (30) * (15/5)
print ("(a + b) * (c / d) 运算结果为:",  e)
 
e = a + (b * c) / d;      #  20 + (150/5)
print ("a + (b * c) / d 运算结果为:",  e)


"""
(a + b) * c / d 运算结果为: 90.0
((a + b) * c) / d 运算结果为: 90.0
(a + b) * (c / d) 运算结果为: 90.0
a + (b * c) / d 运算结果为: 50.0
"""

5、string字符串

  • 定义及基本操作
    字符串是 Python 中最常用的数据类型,可以使用引号('或")来创建。
a = "Hello"  #创建一个字符串
b = "Python"
 
#字符串运算
print ("a + b 输出结果:", a + b ) 
print ("a * 2 输出结果:", a * 2 )
print ("a[1] 输出结果:", a[1]) 
print ("a[1:4] 输出结果:", a[1:4] )
 
    
if( "H" in a) :
    print ("H 在变量 a 中" )
else :
    print ("H 不在变量 a 中" )
 
if( "M" not in a) :
    print ("M 不在变量 a 中" )
else :
    print ("M 在变量 a 中")
 
# 原始字符串 - 原始字符串
print (r'\n')  
print (R'\n')


"""
a + b 输出结果: HelloPython
a * 2 输出结果: HelloHello
a[1] 输出结果: e
a[1:4] 输出结果: ell
H 在变量 a 中
M 不在变量 a 中
\n
\n
"""
  • 字符串相关方法
    在这里插入图片描述
  • 字符串格式化问题
    Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。
print( "My name is %s and weight is %d kg!" % ('Zara', 21) )

"""
My name is Zara and weight is 21 kg!
"""

python字符串格式化符号:
在这里插入图片描述

6、任务打卡

要求用户依次输入姓名,性别,年龄,并对用户信息进行输出格式如下:您的姓名是:***,您的性别是:***,您是***年出生的。

name=input("please enter your name:")
sex=input("please enter your sex:")
age=int(input("please enter your age:"))
print("您的姓名是:%s \n您的性别是:%s \n您是%d年出生的"  %(name,sex,age))

"""
please enter your name:Yana
please enter your sex:female
please enter your age:1997
您的姓名是:Yana 
您的性别是:female 
您是1997年出生的
"""
  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

大薇要早睡早起

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值