【Python学习笔记】 - 01 变量&循环

1 变量&字符编码

  • 变量的作用:

    • 存储某个值,方便之后程序方便调用
    • 如何定义变量

    eg-01:

    '''
    python是动态语言,所以不需要定义变量类型
    '''
    name = "bianliang"    # 类型:字符串
    print(name)
    
    ##############################
    bianliang
    

    eg-02:

    name = "bianliang"
    name2 = name
    print("This is ",name,name2)
    # 打印结果
    # This is bianliang,bianliang
    
    # 给name改变值
    name = "bl"
    print(name,name1)
    # 打印结果
    # bl,bianliang
    
  • 变量定义的规则:

    • 变量名只能是字母、数字或下划线的任意组合
    • 变量名的第一个字符不能是数字
    • 以下关键字不能声明为变量名
    >>> import keyword
    >>> print(keyword.kwlist)
    ['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', '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']
    

2 字符编码

python解释器在加载.py文件中的代码时,会对内容进行编码(默认ASCII)

因为ASCII无法显示所有的语言符号,所以国际上使用新的编码,即Unicode,我们最常使用的应该是UTF-8。

eg-01:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
  
print "你好,世界"

3 注释

  • 注释:被注释的代码将不会被执行
    • 单行注释:#
    • 多行注释:‘’‘。。。’‘’

4 用户输入

username=input("username:")
password=input("password")
print(username,password)

4.1 格式化输出

eg-01:

name=input("name:")
age=input("age:")
job=input("job:")
salary=input("salary:")

info='''
==========info of %s==========
Name:%s
Age:%s
Job:%s
Salary:%s
'''%(name,name,age,job,salary)
print(info)

%s  ===>s代表了string,接收数字:%d,接收浮点数:%f

age=int(input(“age:”))    #转换为整数类型

raw_input()效果等同于input()


eg-02:

# -*- coding:utf-8 -*-
# Author:Zhan Chen

name=input("name:")
age=input("age:")
job=input("job:")
salary=input("salary:")

info='''
========info of {_name}========
Name:{_name}
Age:{_age}
Job:{_job}
Salary:{_salary}
'''.format(_name=name,_age=age,_job=job,_salary=salary)

print(info)

eg-03:

info2='''
========info of {0}========
Name:{0}
Age:{1}
Job:{2}
Salary:{3}
'''.format(name,age,job,salary)
print(info2)

ps:不在迫不得已,不要用+进行拼接


4.2 密文输入

eg-01:

import getpass

username=input("username:")
password=getpass.getpass("password:")

print(username,password)

5 循环

5.1 if…else……

_username="cz"
_password="123"

username=input("username:")
password=input("password:")

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

5.2 if…elif…else

age_of_oldboy=56
guess_age=int(input("guess_age:"))
if guess_age==age_of_oldboy:
    print("yes,you got it...")
elif guess_age>age_of_oldboy:
    print("think smaller...")
else:
    print("think bigger...")

5.3 while循环

age_of_oldboy=56
count=0
while True:
    if count==3:
        print("You have no chance")
        break
    guess_age=int(input("guess_age:"))
    if guess_age == age_of_oldboy:
        print("You got it...")
        break
    elif guess_age>age_of_oldboy:
        print("think smaller...")
    else:
        print("think bigger...")
    count += 1

5.4 for循环

# -*- coding:utf-8 -*-
# Author:Zhan Chen

age_of_oldboy = 56

for i in range(3):
    guess_age = int(input("guess_age:"))
    if guess_age==age_of_oldboy:
        print("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")

6 数据类型

6.1 数字

  • int

    • 32位机器上,整数的位数为32位,取值范围:-231~231-1
    • 64位机器上,整数的位数为64位,取值范围:-263~263-1
  • long(长整型)

    Python的长证书没有指定位宽

  • float(浮点型)

    即带有小数的数字

  • complex(复数)# 几乎用不到

    复数是由实数部分和虚数布粉组成,

    如:x+yj,其中x是实数布粉,y是虚数布粉

6.2 布尔值

  • 真或假
  • 1或0
  • True or False

6.3 字符串

"hello world"
  • 万物皆可字符串

6.3.1 字符串拼接

python中的字符串再C语言中体现为是一个字符数组,每次创建字符串时需要再内存中开辟一块连续的空,并且一旦要修改字符串的话,就需要再次开辟空间,+号每出现一次就会在内存中重新开辟一块空间。

# 字符串格式化输出
name = "free"
print("I'm %s"%name)
# >>>输出:I'm free

6.4 列表

列表是写在方括号[]之间,用逗号分隔开的元素
names=["别克","大众","奔驰","宝马"]
print(names)
print(names[0],names[2])
#切片
print(names[0:2])
print(names[-3:-1])
print(names[-2:])
#追加
names.append("奇瑞")
#指定位置
names.insert(1,"Havel")
#改
names[2]="五菱宏光"
#删除
names.remove("大众")
del names[2]
names.pop()#指定删除某个位置的值,默认删除最后一个

#查找值所在的位置
print(names.index("宝马"))
#反转
names.reverse()
#排序,按照ASCII码排序
names.sort()
#扩展列表
names2=[1,2,3,4]
names.extend(names2)
# 清空列表
names.clear()

6.4.1 深浅copy(用的不多)

浅copy(并未完全复制):

1、改变原数组元素,复制数组的元素不会改变(仅限第一层);

2、只能copy一层(即如果被复制的列表中还包含其他列表,如果修改被包含的列表,复制的列表也会改变)

深copy:

完全复制

import copy
copy.deepcopy()    # 深复制
copy.copy()      # 浅复制 

# 浅copy的几种方法
import copy
person=['name',['age',28]]
p1=copy.copy(person)
p2=person[:]
p3=list(person)

6.5 元组

元组其实和列表差不多,只是元组一旦创建,便不能修改,只能读取

元组只有两个方法:1、count;2、index

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值