数据科学家漫漫长征路

python基础 day1

真心觉得python这门语言是业界良心:

  • 变量
  • 用户输入
  • 模块初识
  • .pyc
  • 数据类型
  • 数据运算
  • if…else
  • break and continue
  • while

一、变量\字符编码

声明变量

#-*-coding:utf-8 -*-
name="xmm"

声明了一个变量name,值为”xmm”。
变量定义的规则:

  • 变量名只能是字母、数字或下划线的任意组合
  • 变量名的第一个字符不能是数字
  • 以下关键字不能声明为变量名

[‘and’,’as’,’assert’,’break’,’class’,’continue’,’def’,’del’,’elif’,’else’,’except’,’exect’,’finally’,’for’,’from’,’global’,’if’,’import’,’in’,’is’,
‘lamba’,’not’,’or’,’pass’,’print’,’raise’,’return’,’try’,’while’,’yield’]

UTF-8是对Unicode编码的压缩和优化,它将所有的字符和符号进行分类:ASCII码中的内容用1个字节保存,欧洲字符用2个字节保存,亚洲字符用3个字节保存,python2默认用ASCII码编码,python3默认用UTF-8进行编码。”“”

二、注释
  • 当行注释:#被注释内容
  • 多行注释:3个”被注释内容
三、用户输入
_username="xzx"
_password="123456"
username=input("username:")
password=input("passwd:")
if _username==username and _password==password:
    print("welcome user {name} login...".format(name==username))
else:
    print("Invalid username or password!")

输入密码不想被看到,需利用getpass模块中的getpass方法,即:

import getpass
_username="xzx"
_password="123456"
username=input("username:")
password=getpass("passwd:")
if _username==username and _password==password:
    print("welcome user {name} login...".format(name==username))
else:
    print("Invalid username or password!")
四、模块初识

python3的标准库和第三方库很丰富和强大,先来看sys和os两个模块。

sys

import sys
print(sys.argv)
#输出 
$ python test.py helo world  
['test.py', 'helo', 'world']  #sys.argv能获取执行脚本时传递的参数

os

import os
os.system("df -h")#调用系统命令

进而可以有

import os,sys
os.system(' '.join(sys.argv[1:]))#将用户在命令行输入的参数结合成语句,作为系统命令调用
五 、.pyc文件

python是一门解释性语言,那么这里的c出现又是什么意思?

其实Python和Java/C#一样,也是一门基于虚拟机的语言,我们先来从表面上简单地了解一下Python程序的运行过程吧。当我们在命令行中输入python hello.py时,其实是激活了Python的“解释器”,告诉“解释器”:你要开始工作了。可是在“解释”之前,其实执行的第一项工作和Java一样,是编译。
PyCodeObject是python真正编译的结果,python程序运行时,编译的结果保存在PyCodeObject中,程序运行结束时,将PyCodeObject写回到pyc中 。当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,否则就重复上面的过程。

所以说pyc文件其实是PyCodeObject的一种持久化保存方式。

六 、数据类型初识

1.数字

  • int:32位机整数的位数为32位,64位机整数的位数为64位
  • long:Python没有具体限制长整数数值的大小,但实际上不可能无限大
    (如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果)
  • float:占8个字节(64位),52位表示底,11位表示指数,1位表示符号
  • complex

2.布尔值

  • True/False
  • 1/0

3.字符串
格式化输出

name="xmx"
print("i am %s"% name)
#输出 i am xmx

字符串: %s;整数 :%d;浮点数:%f
字符串常用功能

  • 移除空白
  • 分割
  • 长度
  • 索引
  • 切片

4.列表
创建列表:

car_list=["gelly","auto","volvo"]
#或
car_list=list(["gelly","auto","volvo"])
#这第二个也太累赘了吧!
  • 索引
  • 切片
  • 追加
  • 删除
  • 长度
  • 切片
  • 循环
  • 包含

5.元组(不可变列表)
格式化输出

num=(15,45,16,78,95,16)
#或
num=tuple((15,45,16,78,95,16))
#这第二个也太累赘了吧!

6.字典
创建字典:

car_list=["gelly","auto","volvo"]
#或
car_list=list(["gelly","auto","volvo"])
#这第二个也太累赘了吧!
  • 索引
  • 切片
  • 追加
  • 删除
  • 长度
  • 切片
  • 循环
  • 包含
七 、数据运算

算术运算:
a=3,b=9

运算符描述实例
+两对象相加a+b=12
-两对象相减a-b=-6
*两对象相乘a*b=27
/两对象相除a/b=0.3333
%取模a%b=3
**取幂a**b=19683
//取整除a//b=0

比较运算:
a=3,b=9

运算符描述实例
==相等(a==b)返回False
!=不等(a!=b)返回True
<>不等(a<>b)返回True
>大于(a>b)返回False
<小于(a<b)返回True
>=大于等于(a>=b)返回False
<=小于等于(a<=b)返回True

赋值运算:
a=3,b=9

运算符描述实例
=简单赋值c=a+b
+=加法赋值a+=b
-=加法赋值a+=b
*=减法赋值a+=b
/=除法赋值a+=b
%=取模法赋值a+=b
**=取幂法赋值a+=b
//=取整除赋值a+=b

逻辑运算:
a=3,b=9

运算符描述实例
anda and b为True
ora or b为True
notnot(a and b)为False

成员运算:
a=3,b=[1,2,3]

运算符描述实例
in在序列中找到目标a in b为True
not in在序列中找不到目标a not in b为False

身份运算:
x=y=1

运算符描述实例
is引用同一个对象x is y为True
is not引用不同对象x is not y为False

位运算:

运算符描述实例
&按位与运算a&b
按位或运算
^按位异或运算a^b
~按位取反运算~a/~b
>>按位右移运算a>>1
<<按位左移运算a<<1
a=56,b=34
print("c:",c=a&b)#c为32
print("c:",c=a|b)#c为58
print("c:",c=a^b)#c为26
print("c:",c=~a)#c为-57
print("c:",c=a<<2)#c为224
print("c:",c=a>>2)#c为14

运算符优先级

运算符描述
**指数(最高优先级)
~按位取反运算
*/%//乘、除、取模和取整除
+-加、减
>> <<按位左右移运算
&按位与运算
^ |按位异或/或运算
<= < > >=比较运算
<> == !=等于运算
= %= /= //= -= += = *=赋值运算
is is not身份运算
in not in成员运算
not or and逻辑运算
八 、表达式if…else

登录验证

#提示输入用户名和密码
#验证用户名和密码
#错误则输出错误
#成功则输出welcome
import getpass
name=input("请输入用户名:")
pwd=getpass.getpass("password:")
if name=='xmx' and pwd=='5697':
    print("welcome,xmx")
else:
    print("用户名或密码错误")

猜人头数

#提示用户输入猜测的人头数
#判断输出是否正确
#错误则提示大了还是小了
#成功则bingo
people_num=56
people_pre=input("你猜有几个人头:")
if people_pre==people_num:
    print("bingo")
elif people_pre<people_num:
    print("太少了吧,再猜")
else:
    print("太多了吧,再猜")

三元表达式

result=值1 if cond else2
* 九、表达式for循环*

例1:

#循环打印10以内的数
#但5以内的数不打印
for i in range(10):
    if i<5:
        continue
    print("loop:",i)

例2:

#循环打印10以内的数
#但大于5的数不打印
for i in range(10):
    if i>5:
        continue
    print("loop:",i)
* 九、表达式while循环*

例1:

#循环打印100次结束
count=0
while True:
    print("you are my sunshine:",count)
    count+=1
    if count==100:
        print("oh shit")
        break

例2:

#猜人头数,只能猜3次
people_num=56
count=0
while count<3:
    people_pre=input("你猜有几个人头:")
    if people_pre==people_num:
        print("bingo")
        break
    elif people_pre<people_num:
        print("太少了吧,再猜")
    else:
        print("太多了吧,再猜")
else:
    print("憋猜了,辣鸡")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值